算法于数据结构 河海大学文天学院

算法于数据结构 河海大学文天学院

ID:47042654

大小:115.05 KB

页数:12页

时间:2019-07-06

算法于数据结构   河海大学文天学院_第1页
算法于数据结构   河海大学文天学院_第2页
算法于数据结构   河海大学文天学院_第3页
算法于数据结构   河海大学文天学院_第4页
算法于数据结构   河海大学文天学院_第5页
资源描述:

《算法于数据结构 河海大学文天学院》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。