树与二叉树的转换及二叉树的遍历 设计报告.docx

上传人:h**** 文档编号:26918361 上传时间:2022-07-20 格式:DOCX 页数:6 大小:12.90KB
返回 下载 相关 举报
树与二叉树的转换及二叉树的遍历 设计报告.docx_第1页
第1页 / 共6页
树与二叉树的转换及二叉树的遍历 设计报告.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《树与二叉树的转换及二叉树的遍历 设计报告.docx》由会员分享,可在线阅读,更多相关《树与二叉树的转换及二叉树的遍历 设计报告.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、树与二叉树的转换及二叉树的遍历 设计报告 信息与电气工程学院 软件算法综合设计说明书(20 /20 学年第学期) 题目_树与二叉树的转换及二叉树的遍历_ 专业班级_计算机科学与技术09级1班_ 姓名学号_ 指导教师_ 设计周数_1周_ 设计成绩_ 2022 年07 月日 树的应用 1课程设计题目 实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。 要求:遍历的内容应是千姿百态的。 2.课程设计目的及基本要求 数据结构课程设计是计算机科学与技术专业集中实践性环节之一,是学习完数据结构课程后进行的一次全面的综合练习。其目的就是要达到理论与

2、实际应用相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能。 3. 课程设计教材及主要参考资料: (1)严慰敏编数据结构习题集清华大学出版社 (2)胡学军编数据结构高等教育出版社 教学参考书 (1)严慰敏编数据结构习题集清华大学出版社 (2)胡学军编数据结构高等教育出版社 目录 一、设计目的 二、问题描述 三、需求分析 四、概要设计 五、详细设计 六、调试分析 七、用户使用说明 八、测试结果 九、总结及分析 数据结构课程设计-树与二叉树的转换及二叉树的遍历 1.设计目的 通过课程设计,巩固所学的理论知识,培养综合运用

3、所学知识解决实际问题的能力。根 据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,正确分析出数据的逻 辑结构,合理地选择相映的存储结构,并能设计出解决问题的有效算法。 2.问题描述 要求:实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次 序的非递归算法的实现,应包含建树的实现。 3.需求分析 本程序的功能是对任意二叉树进行递归前序遍历和后序遍历,用栈实现非递归的前序、 和后序遍历,还有对树的层序遍历以及树与二叉树的转换。 本程序要求用户以字符输入,若要实现终端结点,最后以回车键建入数据。 本程序的结果将依次打印出递归前序遍历和后序遍历,用栈实现非递归的前序和中

4、序遍 历和后序遍历,和线索化层序遍历,输入树及树传换成二叉树。 4.概要设计 4.1.二叉树创建 用链表实现创建一个树结点的结构体,从键盘输入数据,存入数组。把下标为2*i+1 的值存入左孩子,为2*i+2的存入右孩子。 BiNode creat(),BiNode stree_creat(char *a,int k)。 图 1、二叉树的创建 4.2.树与二叉树的转换算法 转换时结点的第一个孩子变为它的左孩子,兄弟节点变为他的右孩子。void exchange(),class Tree 4.3.先序遍历二叉树的递归算法 若二叉树为空,则空操作;否则(1)访问根结点;(2)先序遍历左子树;(3)先

5、序遍历右子树。void PreOrder(BiNode root)。 图2、前序递归遍历 4.4.中序遍历二叉树的递归算法 若二叉树为空,则空操作;否则(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。void InOrder(BiNode root)。 图3、中序递归遍历 4.5.后序遍历二叉树的递归算法 若二叉树为空,则空操作;否则(1)后序遍历左子树;(2)后序遍历右子树。(3)访问根结点;void PostOrder(BiNode root)。 图4、后序递归遍历 4.6.先序非递归算法 BiNode根指针,若 BiNode!= NULL对于非递归算法,引入栈模拟递归工作栈

6、,初始时栈为空。 问题:如何用栈来保存信息,使得在先序遍历过左子树后,能利用栈顶信息获取 BiNode 的右子树的根指针?void F_PreOrder(BiNode root) 图5、前序非递归遍历 4.7.中序非递归算法 BiNode是要遍历树的根指针,中序遍历要求在遍历完左子树后,访问根,再遍历右子树。 问题:如何用栈来保存信息,使得在中序遍历过左子树后,能利用栈顶信息获取BiNode 指针?void F_inOrder(BiNode root)。 图6、中序非递归遍历 4.8.后序非递归算法 BiNode是要遍历树的根指针,后序遍历要求在遍历完左右子树后,再访问根。需要判断根结点的左右子树是否均遍历过。void F_PostOrder(BiNode root)。 图7、后序非递归遍历 4.9.层次序遍历算法 按照树的层次从左到右访问树的结点,层序遍历用于保存结点的容器是队列。void LevelOrder(BiNode root)。 图8、层序遍历 5.详细设计 源程序:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁