预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《数据结构》实验报告院系_____电控_______专业_电子信息工程_____姓名______李轶萌__________学号_____11020013____________11____级___200__班___2012_年_5_月_2_日1.实验题目“设计按层次顺序遍历二叉树的算法”部分2.需求分析要求采用一个队列,先将二叉树根结点入队列,然后退队列,输出该结点;若它有左子树,便将左子树根结点入对列;若它有右子树,便将右子树根结点入队列,如此直至队列空为止。因为队列的特点是先进先出,从而达到按层次顺序遍历二叉树的目的。程序能通过键盘输入数据自动建立二叉树,输出按层次遍历的结果。3.概要设计本程序所涉及的函数:主函数main()建立二叉树BITREE*creat()中序遍历二叉树voidInOrder(BITREE*t)入队列voidEnQueue(BITREE*t)出队列BITREE*DeQueue()按层次遍历二叉树voidlevorder(BITREE*t)显示屏上出现:Inputthevalueofatreenode:表示要求以完全二叉树形式输入排序二叉树。如果以下图为例,则可按如下方式输入数据:Inputthevalueofatreenode:12<回车>Inputthevalueofatreenode:6<回车>Inputthevalueofatreenode:4<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:8<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:22<回车>Inputthevalueofatreenode:14<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:33<回车>Inputthevalueofatreenode:0<回车>Inputthevalueofatreenode:0<回车>主函数(伪代码)Intmain(){建立根结点root;建立二叉树;中序遍历并显示结果;层次遍历并显示结果;}4.详细设计采用二叉树结合队列的方式实现概要设计,有关的数据类型和伪码算法定义如下:类型定义typedefstructtrnode{intdata;structtrnode*lchild,*rchild;}BITREE;基本操作的伪码算法为了方便,在单链表中设头结点,其data域没有意义。建立二叉树BITREE*creat(){/*按先序遍历方式输入,每个叶子节点后补0表示结束*/输入整型数据X如果X=0,结束;否则键入X至tr结点指针tr;返回tr;}中序遍历二叉树voidInOrder(BITREE*t){树结点指针!=null{中序遍历树节点左孩子;输出树结点数据。中序遍历树节点右孩子。}插入操作boolInsLinkList(LinkListL,intpos,ElemTypee)/*在带头结点的单链表L中第pos个位置插入值为e的新结点s*/{从“头”开始,查找第i-1个结点pre;if(查找失败){显示参数错误信息;returnERROR;}else{申请一个新的结点s;将e放入s的数据域;将s插到pre后面;returnOK;}}层次遍历算法voidlevorder(BITREE*t){创建树节点指针p;如果树节点t!=NULL前驱=(前驱+1)%M返回树结点指针数组que[front]值}}5.调试分析报错:错误点:修改后:6.使用说明程序名为二叉树.exe,程序执行过程如下:显示屏上出现:Inputthevalueofatreenode:表示要求以完全二叉树形式输入排序二叉树。按先序遍历方式输入,每个叶子节点后补0表示结束最后自动输出中序和层次遍历结果7.测试结果程序运行后,屏幕显示:输入1,2,4,8,0,0,0,5,9,0,0,0,3,6,10,0,0,0,7,11,0,0,12,0,0后,屏幕显示中序遍历结果为:8,4,2,9,5,1,10,6,3,11,7,12按层次遍历的结果:1,2,3,4,5,6,7,8,9,10,11,128.附录源文件#incl