- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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和rchild,分别指向该结点的左孩子和右孩子,相应的类型说明为:
typedef char datatype;
typedef struct node
{
datatype data;
struct node *lchild,*rchild;
}bitree;
第四章:系统的概
您可能关注的文档
最近下载
- 测量设备领用登记表.doc VIP
- 脑栓塞的护理ppt.pptx VIP
- GB 6675.4-2014 玩具安全 第4部分:特定元素的迁移.docx VIP
- 婴幼儿消化系统的生理特点.ppt VIP
- 安徽省合肥市第四十六中学2024—2025学年上学期第一次月考九年级数学试题.docx VIP
- 2025至2030大功率柴油发电机组行业产业运行态势及投资规划深度研究报告.docx
- 陕西金太阳2025年9月高三联考15C英语(含答案).docx
- CS5038具有14A开关的22V输出、大电流DC-DC升压IC.pdf VIP
- 在线网课学堂《信息安全技术》单元考核测试答案.docx VIP
- 光学经纬仪检定规程(JJG 414-2011).pdf
文档评论(0)