(已处理)内蒙古科技大学课程设计-二叉树遍历及应用..docVIP

(已处理)内蒙古科技大学课程设计-二叉树遍历及应用..doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(已处理)内蒙古科技大学课程设计-二叉树遍历及应用.

内蒙古科技大学 《数 据 结 构》 课程设计 题 目 二叉树遍历及应用 学 号 1376807435 姓 名 亢斌 指导教师 王丽颖 日 期 2015年6月30日 目 录 一、 问题描述 1 二、 需求分析 1 2.1主功能模块 1 2.2创建树模块 1 2.3遍历树模块 1 三、 概要设计 2 3.1主界面设计思想流程图 2 3.2. 创建二叉树 2 3.2.1二叉树创建的思想 2 3.2.2二叉树创建的算法流程图 2 3.3.先序递归遍历 3 3.3.1先序递归遍历思想 3 3.3.2先序递归遍历的算法流程图 3 3.4.中序递归遍历 3 3.4.1中序递归遍历思想 3 3.4.2中序递归遍历的算法流程图 4 3.5.后序递归遍历 4 3.5.1后序递归遍历思想 4 3.5.2后序递归遍历的算法流程图 5 3.6.先序非递归遍历 5 3.6.1先序非递归遍历思想 5 3.6.2先序非递归遍历的算法流程图 6 3.7.中序非递归遍历 6 3.7.1中序非递归遍历思想 6 3.7.2中序非递归遍历的算法流程图 7 3.8.后序非递归遍历 7 3.8.1后序非递归遍历思想 7 3.8.2后序非递归遍历的算法流程图 8 3.9.层序非递归遍历 8 3.9.1层序非递归遍历思想 8 3.9.2层序非递归遍历的算法流程图 9 四、 详细设计 10 4.1界面设计 10 4.2.详细代码分析 11 4.2.1主模块 11 4.2.2创建树模块 12 4.2.3遍历树模块 13 五、 调试分析 13 5.1.调试结果 13 5.1.1实验数据 13 5.1.2创建树界面 14 5.1.3输出结果界面 14 六、 总结 附录:程序代码 问题描述 建立二叉树, 层序、先序、中序、后序遍历.(用递归或非递归的方法都可以) 要求能够输入树的各个结点, 并能够输出用不同方法遍历的遍历序列;分别建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数、输出中序遍历序列的函数、输出后序遍历序列的函数. 需求分析 在现实世界层次化的数据模型中, 数据与数据之间的关系纷繁复杂. 其中很多关系无法使用简单的线性结构表示清楚, 比如祖先与后代的关系、整体与部分的关系等. 于是人们借鉴自然界中树的形象创造了一种强大的非线性结构——树. 树形结构的具体形式有很多种, 其中最常用的就是二叉树. 而二叉树的多层次遍历遍历则是二叉树的重要内容. 本程序用Microsoft Visual C++ 6.0编写, 可以实现对二叉树的创建、采用递归和非递归等两种方式先序、中序、后序进行遍历. 2.1主功能模块 通过合理的界面设计, 根据提示信息, 使用者可以方便快捷地运行本程序来完成创建、遍历二叉树等操作. 界面美观, 人性化, 程序智能, 安全性高. 2.2创建树模块 当进入程序运行界面后, 根据提示输入需要建立的二叉树, 按照先序次序输入各个结点的值, 完成二叉树的建立. 2.3遍历树模块 实现对该二叉树的先序递归遍历、先序非递归遍历、中序递归遍历、中序非递归遍历、后序递归遍历、后序非递归遍历、层序非递归遍历等方式的遍历操作, 并输出各遍历序列. 概要设计 3.1主界面设计思想流程图 3.2. 创建二叉树 3.2.1二叉树创建的思想 (1)定义二叉树结点值的类型为字符型. (2)结点个数不超过10个. (3)按先序次序输入, 构造二叉链表表示的二叉树T, 空格表示空树. 相关函数如下: void CreateBiTree(BiTree T) 3.2.2二叉树创建的算法流程图 3.3.先序递归遍历 3.3.1先序递归遍历思想 若二叉树为空, 则空操作;否则 (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树. 相关函数如下: void PreOrderTraverse(BiTree T) 3.3.2先序递归遍历的算法流程图 3.4.中序递归遍历 3.4.1中序递归遍历思想 若二叉树为空, 则空操作;否则 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树. 相关函数如下: void InOrderTraverse(BiTree T) 3.4.2中序递归遍历的算法流程图 3.5.后序递归遍历 3.5.1后序递归遍历思想 若二叉树为空, 则空操作;否则 (1)后序遍历左子树; (2)后序遍历右子树; (3)访问根结点. 相关函数如下: void PostOrderTraverse(BiTree T) 3.5.2后序递归遍历的算法流程图 3.6.先序非递归遍历 3.6.1先序非递归遍历思想 (1)访问结点的数据域; (2)

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档