二叉树的遍历课程设计.doc

二叉树的遍历课程设计.doc

ID:55849902

大小:219.50 KB

页数:16页

时间:2020-03-14

二叉树的遍历课程设计.doc_第1页
二叉树的遍历课程设计.doc_第2页
二叉树的遍历课程设计.doc_第3页
二叉树的遍历课程设计.doc_第4页
二叉树的遍历课程设计.doc_第5页
资源描述:

《二叉树的遍历课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构课程设计《数据结构》课程设计报告设计题目:二叉树的遍历姓名:陈雷学号:211001047专业:计算机科学与技术院系:计算机科学与技术班级:1002指导教师:吴克力2012年3月1日15数据结构课程设计摘要:本文主要说明如何实现二叉树的遍历。此次二叉树的遍历基于二叉树的二叉链表存储结构。遍历方式包括:前序遍历,中序遍历,后续遍历,层序遍历。其中前序遍历和后续遍历采用非递归算法实现。编程环境为VC++,除了遍历操作外,还增加了求二叉树的深度,总结点数,每层结点数,以及最近共同祖先(LCA)问题的算

2、法。关键字:二叉树遍历非递归C++LCA15数据结构课程设计Abstract:Thispapermainlydescribeshowtoimplementbinarytreetraversal.Thebinarytreetraversalisbasedonbinarytreebinarystoragestructure.Traversalmethodincludes:preordertraversal,inordertraversal,postordertraversal,levelordertrav

3、ersal.Theformerpreordertraversalandpostorderuseofnon-recursivealgorithm.ProgrammingenvironmentisVC++,inadditiontotraversaloperation,alsoincreasedforsolvingthebinarytreedepth、summarypointsandeachlayerofnodes,aswellasthemostrecentcommonancestor(LCA)algori

4、thm.Keywords:binarytreetraversalnon-recursiveC++LCA15数据结构课程设计目录一、问题描述4问题描述:创建二叉树并遍历4基本要求:4二、需求分析4三、概要设计41.创建二叉树42.二叉树的非递归前序遍历示意图43.二叉树的后序非递归遍历示意图5四、数据结构设计51.二叉树结点数据类型定义为:52.二叉树数据类型定义为:5五、算法设计61、创建二叉树62、非递归前序遍历73、非递归后序遍历74、求二叉树的高度85、求二叉树每一层的结点数96、求两节点最近共

5、同祖先96、算法流程图10六、程序测试与实现111、函数之间的调用关系112、主程序113、测试数据134、测试结果13七、调试分析14八、遇到的问题及解决办法15九、心得体会15十、参考文献1515数据结构课程设计一、问题描述问题描述:创建二叉树并遍历基本要求:1、分别运用非递归的方式完成对二叉树的先序和后序遍历2、输出二叉树的高度3、输出每一层的结点数4、查找结点P和结点Q的最近共同祖先二、需求分析1.本程序的功能包括二叉树的建立,二叉树的递归遍历,二叉树的非递归遍历,查询二叉树的深度,查询每层的

6、结点数,查找两个结点的最近共同祖先,二叉树的打印。2.程序运行后显现提示信息,等候用户输入0—6以进入相应的操作功能。3.用户输入数据完毕,程序将输出运行结果。4.测试数据应为字符型数据。三、概要设计1.创建二叉树输入数据不低于15个,用递归方法建立二叉树。2.二叉树的非递归前序遍历示意图图3.2二叉树前序遍历示意图15数据结构课程设计3.二叉树的后序非递归遍历示意图图3.4二叉树后序遍历示意图四、数据结构设计1.二叉树结点数据类型定义为:templatestructBiNode

7、{BiNode*rchild,*lchild;//指向左右孩子的指针Tdata;//结点数据信息};2.二叉树数据类型定义为:templateclassBiTree{templatefriendostream&operator<<(ostream&os,BiTree&bt);public:BiTree();//无参构造函数BiTree(intm){};//有参空构造函数BiTree(Tary[],intnum,Tnone);//有参构造函数~Bi

8、Tree();//析构函数voidpreorder();//递归前序遍历voidinorder();//递归中序遍历voidpostorder();//递归后续遍历voidlevelorder();//层序遍历intcount();//计算二叉树的结点数intdepth();//计算二叉树的深度15数据结构课程设计voiddisplay(ostream&os);//打印二叉树,有层次voidLevelNum();//计算每一层结点数voidPreOrde

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

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

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