欢迎来到天天文库
浏览记录
ID:47042654
大小:115.05 KB
页数:12页
时间:2019-07-06
《算法于数据结构 河海大学文天学院》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《算法与数据结构》课程设计报告学号姓名班级计算机指导教师河海大学文天学院2014年6月课题一:二叉树的各种算法一、目的 1、掌握二叉树的所有算法 2、熟悉计算机英语和术语3、会写课本上已有的算法之后,可以借其思想进行扩展,逐步提高编程能力。巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解。二、实习环境个人计算机,Windows操作系统,TurboC2.0或WinTC或VisualC++等编译开发环境三、实习内容与步骤内容1、创建二叉树2、用递归方法实现二叉树的各种遍历步骤开始——>用前序输入法构造一颗二叉树——>用
2、中序输入法构造一颗二叉树——>用后序输入法构造一颗二叉树——>用非递归前序输入法构造一颗二叉树——>用非递归中序输入法构造一颗二叉树——>用非递归后序输入法构造一颗二叉树——>释放二叉树——>结束四、程序代码:#include"stdio.h"#include"stdlib.h"#defineMAXSIZE100typedefcharDataType;typedefstructbnode{DataTypedata;structbnode*lchild,*rchild;}Bnode,*BTree;typedefstruct{BTreedat
3、a[MAXSIZE];inttop;}SeqStack,*PSeqStack;PSeqStackInit_SeqStack(){PSeqStackS;S=(PSeqStack)malloc(sizeof(SeqStack));if(S)S->top=-1;returnS;}intEmpty_SeqStack(PSeqStackS){if(S->top==-1)return1;elsereturn0;}intPush_SeqStack(PSeqStackS,BTreex){if(S->top==MAXSIZE-1)return0;else{
4、S->top++;S->data[S->top]=x;return1;}}intPop_SeqStack(PSeqStackS,BTree*x){if(Empty_SeqStack(S))return0;else{*x=S->data[S->top];S->top--;return1;}}intGetTop_SeqStack(PSeqStackS,BTree*x){if(Empty_SeqStack(S))return0;else{*x=S->data[S->top];return(1);}}BTreeCreateBinTree(){ch
5、arch;BTreet;ch=getchar();if(ch=='#')t=NULL;else{t=(BTree)malloc(sizeof(Bnode));t->data=ch;t->lchild=CreateBinTree();t->rchild=CreateBinTree();}returnt;}#defineMAXSIZE100typedefstruct{BTreedata[MAXSIZE];intfront,rear;}SeqQueue,*PSeqQueue;PSeqQueueInit_SeqQueue(){PSeqQueueQ
6、;Q=(PSeqQueue)malloc(sizeof(SeqQueue));if(Q){Q->front=0;Q->rear=0;}returnQ;}intEmpty_SeqQueue(PSeqQueueQ){if(Q&&Q->front==Q->rear)return(1);elsereturn(0);}intIn_SeqQueue(PSeqQueueQ,BTreex){if((Q->rear+1)%MAXSIZE==Q->front){printf("对满");return-1;}else{Q->rear=(Q->rear+1)%M
7、AXSIZE;Q->data[Q->rear]=x;return1;}}intOut_SeqQueue(PSeqQueueQ,BTree*x){if(Empty_SeqQueue(Q)){printf("对空");return-1;}else{Q->front=(Q->front+1)%MAXSIZE;*x=Q->data[Q->front];return1;}}intFront_SeqQueue(PSeqQueueQ,BTree*x){if(Q->front==Q->rear){printf("对空");return-1;}else{*
8、x=Q->data[(Q->front+1)%MAXSIZE];return1;}}voidPreOrder(BTreet){if(t){printf("%c",t->data);PreOrd
此文档下载收益归作者所有