二叉树的遍历与其结点的计算实验报告,课程设计.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文档。上传文档
查看更多
二叉树的遍历与其结点的计算实验报告,课程设计

数 据 结 构 课 程 设 计 设计题目:二叉树的遍历及其相关结点的计算 学生姓名: 专业班级: 指导教师: 完成时间: 信息工程 院 信息科学 系 课程设计成绩评定表(本科) 课题名称 二叉树的遍历及相关结点数的计算 院 系 年级专业 学 号 姓 名 成 绩 课题设计 目的与 设计意义 1、课题设计目的:(1):掌握数据结构分析设计思想及其存储表示方法和技术。 (2):掌握基于特定数据结构的基本运实现方法和设计。 (3):掌握工程化程序设计方法、技术及过程。 2、课题设计意义:(1):学会怎样团队协作去解决问题,增强自身的自信心、主动性思考能力以及自主学习的能力。 (2):对课程设计这门课有更深的了解,通过这次的课题设计来提升对编程的兴趣,更加努力的学习这门课。 (3):通过课程设计的实践,在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统的严格训练。 指导教师: 年 月 日 目 录 第一章 课程与设计的目的与意义 1 1.1课题设计目的 1 1.2课题设计意义 1 第二章 需求分析 1 2.1课程设计题目、任务及要求 1 2.2课程设计思想 1 第三章 二叉树的基本概述 1 3.1 二叉树相关概念 1 3.2二叉树的性质 2 3.3 二叉树的存储 2 第四章:系统的概要设计 3 4.1 二叉树的生成过程 3 4.2 主要功能模块设计 3 第五章:系统详细设计 4 5.1 主函数菜单模块 4 5.2 二叉树的生成 6 5.3 层次遍历模块 8 5.4 求其相关结点的总数 10 第六章 测试结果 12 第七章 总结 14 第八章 参考文献 15 第一章 课程与设计的目的与意义 1.1课题设计目的:(1):掌握数据结构分析设计思想及其存储表示方法和技术。 (2):掌握基于特定数据结构的基本运实现方法和设计。 (3):掌握工程化程序设计方法、技术及过程。 1.2课题设计意义:(1):学会怎样团队协作去解决问题,增强自身的自信心、主动性思考能力以及自主学习的能力。 (2):对课程设计这门课有更深的了解,通过这次的课题设计来提升对编程的兴趣,更加努力的学习这门课。 (3):通过课程设计的实践,在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统的严格训练。 第二章 需求分析 2.1课程设计题目、任务及要求 (1)对二叉树作各种遍历,输出结果; (2)求得二叉树结点的总数和叶子结点的数目; (3)要求二叉树的操作结果完整的输出 2.2课程设计思想 (1)建立二叉树采用一个一个输入的方式。 (2)对二叉树分别实现多种遍历的方式。 (3)编写算法实现求结点和其叶子的数目。 第三章 二叉树的基本概述 3.1 二叉树相关概念 定义:二叉树是n(=0)个借点的有限集,它或者是空集(n=0),或者由一个根结点及两颗互不相交的、分别称作这个根的左子树和右子树的二叉树组成。 这也是一个递归定义。二叉树可以是空集,因此,根可以有空的左子树或右子树,或者左、右子树皆为空。因此,二叉树有五种基本形态,如下图1所示: 图3.1 二叉树的五种基本形态 满二叉树:一颗深度为k且有2^k-1个结点的二叉树称为满二叉树。 完全二叉树:若一颗二叉树至多只有最下面的两层上结点的度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树。 3.2二叉树的性质 二叉树具有以下重要性质: 性质1 二叉树第i层上的结点数目最多为2^(i-1)(i=1)。 性质2 深度为k的二叉树至多有2^k-1(k=1)个结点。 性质3 在任意一颗二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1。 性质4 具有n个结点的完全二叉树的深度为└log2n┘+1(或┌log2(n+1) ┐)。 3.3 二叉树的存储 1.顺序存储结构 该方法是把二叉树的所有结点,按照一定的次序顺序,存储到一片连续的存储单元中。因此,必须把结点安排成一个适当的线性序列,使得结点在这个序列中的相互位置能反映出结点之间的逻辑关系。 2.链式存储结构 从上面的介绍可知:顺序方式存储一般二叉树将浪费存储空间,并且若在树中需要经常插入和删除结点时,由于大量地移动结点,顺序存储变的不可取。因此,存储树的最自然的方法是链接的方法。二叉树的每个结点最多有两个孩子,用链接方式存储二叉树时,每个结点除了存储结点本身的数据外,还应设置两个指针域lchild和rch

文档评论(0)

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

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

1亿VIP精品文档

相关文档