- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
二叉树实验报告
1实验目的
1、熟悉二叉树的二叉链表存储结构;
2、掌握构造二叉树的方法;
3、加深对二叉树前序、中序、后序遍历的理解。
2需求分析
2.1任务1
二叉树的二叉链表存储结构及实现,将参考程序中的三段函数代码补齐。
约束条件:沿用源代码中链表结构体。
输入要求:输入一个二叉树链表。
输出要求:若是二叉树链表不为空则对二叉树链表进行先序遍历。
2.2任务2
功能:intHeightBTree(BTNode*bt)求二叉树的深度。
约束条件:沿用源代码中链表结构体。
输入要求:输入一个二叉树链表。
输出要求:若是二叉树链表为空则返回0,若二叉树链表不为空则统计出该二叉树的深度,
然后返回该值。
2.3任务3
功能:voidDisplayBTree(BTNode*bt,inti)输出二叉树第i层的所有节点。
约束条件:沿用源代码中链表结构体。
输入要求:输入一个二叉树链表。
输出要求:若输入的i小于1,或者二叉树链表为空则直接返回,若二叉树链表不为空且
i值符合要求,则打印i层所有的节点。
3概要设计
3.1任务1
voidPreOrder(BTNode*bt)该函数
首先,你需要定义一个二叉树节点的数据结构,通常包含一个值和两个指向左右子节点的指
针。在先序遍历函数中,首先访问根节点,然后递归地遍历左子树,最后递归地遍历右子
树。并在控制台上输出每个节点的值。
voidInOrder(BTNode*bt)该函数首先判断当前节点是否为空,如果为空则返回。递归遍历
左子树。访问当前节点,输出节点的值。递归遍历右子树。通过这样的递归过程,我们可以
实现对整个二叉树的中序遍历
。
voidPostOrder(BTNode*bt)该函数首先判断当前节点是否为空,如果为空则返回。递归遍历
左子树。递归遍历右子树。访问当前节点,输出节点的值。通过这样的递归过程,我们可以实
现对整个二叉树的后序遍历。
3.2任务2
intHeightBTree(BTNode*bt)该函数首先判断当前节点是否为空,如果为空则返回0。然后
递归计算左子树的高度和右子树的高度,最后返回左子树高度和右子树高度中的较大值加1,
即为整个二叉树的高度。该函数的实现利用了递归的特性,每次递归计算左子树和右子树的高
度,并将较大值加1作为当前节点的高度。最终得到整棵二叉树的高度。
3.3任务3
voidDisplayBTree(BTNode*bt,inti)该函数首先进行判断如果i小于1或者当前节
点为空(bt==NULL),则直接返回,不进行任何操作。如果当前节点非空,并且i大于等于1,
那么会先判断是否是第一个字符(即树的根节点)。如果是,则直接输出该节点的数据。如果
不是根节点,函数会递归调用自己,分别对左子树和右子树进行相同的操作,且i减1。这是
因为在中序遍历中,左子树比根节点先输出,右子树比左子树后输出。
4.代码实现
4.1任务1
voidPreOrder(BTNode*bt)函数
voidInOrder(BTNode*bt)函数
voidPostOrder(BTNode*bt)函数
4.42任务2
intHeightBTree(BTNode*bt)函数
4.5任务5
voidDisplayBTree(BTNode*bt,inti)函数
5测试分析
6心得
在进行二叉树数据结构的实验过程中,我获得了一些宝贵的经验和感悟。
理解二叉树特性:二叉树是一种非线性数据结构,具有特殊的结构特性。在实验中,我深刻理
解到二叉树的每个节点最多只有两个子节点,分别是左子节点和右子节点。这种结构特性在解
决实际问题时非常有用,如表达层级关系、优化搜索等。递归思想的应用:二叉树的遍历、插
入、删除等操作都可以用递归的
您可能关注的文档
- 关于规模化猪场保育猪养殖技术的研究.pdf
- 工程项目招投标阶段存在的风险因素及管理措施.pdf
- 2023年党员思想状况分析报告范文(优质篇).pdf
- 旅行社安全生产教育培训制度(5篇范文).pdf
- 污水厂粪大肠菌群超标分析及达标技术研究.pdf
- 2024年家庭医生签约服务工作总结.pdf
- 机械创新创业项目计划书.pdf
- 物业家具进场销售协议.pdf
- 智慧树知到《生态经济学》见面课答案.pdf
- 表白情书100_原创精品文档.pdf
- 2024年山西省大同市企业人力资源管理师之一级人力资源管理师考试精品题库及参考答案(培优B卷).docx
- 2024年山西省运城市企业人力资源管理师之一级人力资源管理师考试精品题库及参考答案.docx
- 2023年《海的女儿》读后感15篇完整版3 .pdf
- 2024年山西省朔州市企业人力资源管理师之四级人力资源管理师考试真题及一套答案.docx
- 2024年山西省运城市企业人力资源管理师之四级人力资源管理师考试题库大全带答案解析.docx
- 2024年山西省晋中市企业人力资源管理师之一级人力资源管理师考试题库(A卷).docx
- 2024年山东省威海市企业人力资源管理师之一级人力资源管理师考试精选题库及参考答案(名师推荐).docx
- 2024年山西省忻州市企业人力资源管理师之一级人力资源管理师考试真题题库含解析答案.docx
- 2024年山西省晋城市企业人力资源管理师之一级人力资源管理师考试完整版附参考答案(B卷).docx
- 2024年山西省忻州市企业人力资源管理师之四级人力资源管理师考试通关秘籍题库(精选题).docx
最近下载
- 《GB∕T 27914-2023 风险管理 法律风险管理指南》解读和应用指导材料(雷泽佳编写2024A0-PDF).pdf
- 高考语文专项复习标点符号.ppt VIP
- 2024三上科学知识点期末复习资料.pdf VIP
- 成人经鼻高流量湿化氧疗(HFNC)理论知识考试题及答案.doc
- 2024上海中考英语试题及答案.doc VIP
- 高边坡专项施工方案.doc VIP
- 北京邮电大学《数字信号处理》门爱东-DSP03-离散傅里叶变换及其快速计算方法.ppt VIP
- 2024上海中考语文卷.docx VIP
- 《新托福考试专项进阶——初级写作》教育.pdf
- 《小学语文第一学段多文本阅读议题确立的策略研究》课题研究方案.doc
文档评论(0)