免费预览已结束,剩余7页可下载查看
付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 9 重庆交通大学 数据结构课程实验报告 班 级 航运管理 专业 2010 级 2 班 实验项目名称 完成二叉树地相关操作 实验项目性质 上机实际操作 实验所属课程 数据结构 实验室 中心 六教三机房 指 导 教 师 鲁云平 实验完成时间 2020 年 10 月 16 日 2 9 b5E2R 一 实验目地一 实验目地 通过对二叉树地许多操作 学会建立二叉树 能够完成计算节点数量和 叶节点地数量 计算节点所在层次 二叉树地高度 节点地度和找结点 地双亲和子女地相关操作 掌握二叉树地性质 所具有地功能和特点等 p1Ean 二 实验内容及要求二 实验内容及要求 结点结构和存储结构自行定义 主要完成以下功能 1 建立二叉树 2 计算结点所在地层次 3 统计结点数量和叶结点数量 4 计算二叉树地高度 5 计算结点地度 6 找结点地双亲和子女 三 实验设备及软件三 实验设备及软件 电脑 Microsoft visual C 6 0 编译程序系统 四 设计方案四 设计方案 教师评阅意见 签名 年 月 日 实验成绩 3 9 题目 老师给定或学生自定 二叉树地相关操作 设计地主要思路或相关算法地流程图 1 对结点结构和存储结构进行自行定义 2 建立二叉树 3 编写相关地程序完成对结点地数量和夜间点地数量地统计 对二叉树高 度地计算 对度地计算 并找节点地双亲和子女 DXDiT 主要功能 结点结构和存储结构自行定义 主要完成以下功能 1 建立二叉树 2 计算结点所在地层次 3 统计结点数量和叶结点数量 4 计算二叉树地高度 5 计算结点地度 6 找结点地双亲和子女 五 主要代码五 主要代码 include include include include using namespace std define ElemType int 元素类型 typedef struct BiTNode ElemType data struct BiTNode lchild rchild BiTNode BiTree 个人收集整理 仅供参考 4 9 stack S int Height Num 树高及叶子个数 int PreCreateBiTree BiTree scanf d if e T NULL return 1 T BiTree malloc sizeof BiTNode if T printf 失败 n return 0 T data e PreCreateBiTree T lchild PreCreateBiTree T rchild return 1 void MidVisit BiTree MidVisit T lchild printf d T data MidVisit T rchild void PreVisit BiTree printf 非递归先序遍历 while S empty S pop if T return S push t while S empty while S top printf d S top data S push S top lchild S pop if S empty break tem S top S pop S push tem rchild printf n void MidVisit BiTree printf 非递归中序遍历 while S empty S pop 清空栈 if T return S push t while S empty while S top S push S top lchild S pop if S empty break tem S top printf d tem data S pop S push tem rchild printf n void BehVisit BiTree printf 非递归后序遍历 while S empty S pop 清空栈 S push T while S empty while S top NULL S push S top lchild p S top S pop bool flag true while S empty if r rchild p printf d r data p S top S pop else S push r rchild flag false printf n void LayerVisit BiTree queue Q 定义队列 printf 层次遍历 Q push T while Q empty tem Q front Q pop if tem lchild Q push tem lchild if tem rchild Q push tem rchild printf d tem data printf n void Num Height BiTree if T return if T lchild NULL if h Height Height h return printf d T data Num Height T lchild h Num Height T rchild h 主函数地实现 int main BiTree T Thrt PreCreateBiTree T 先序创建二叉树 递归先序 中序 后序遍历 printf 递归先序 中序 后序遍历 n PreVisit T printf n MidVisit T printf n BehVisit T printf n 非递归先序 中序 后序遍历 printf 非递归先序 中序 后序遍历 n PreVisit T MidVisit T BehVisit T 层次遍历 LayerVisit T 中序线索线索二叉树并遍历 个人收集整理 仅供参考 7 9 printf 中序线索线索二叉树并遍历 MidThread T Thrt MidThreadVisit Thrt 计算二叉树地高度及叶子个数 Num 0 Height 0 int h 0 while S empty S pop 清空栈 Num Height T h printf n 此树地高度和叶子个数分别为 d d n Height Num return 0 测试实例 1 2 4 0 0 5 0 0 3 6 0 0 7 0 0 1 2 4 0 0 5 7 0 0 0 3 0 6 0 0 六 测试结果及说明六 测试结果及说明 个人收集整理 仅供参考 8 9 七 实验体会七 实验体会 本次试验是关于二叉树地常见操作 主要是二叉树地建立和遍历 在这次 实验中我是按先序方式建立二叉树地 而遍历方式则相对要多一些 有递归地 先序 中序 后序遍历 和非递归地先序 中序 后序遍历 此外还有层次遍 历 其中递归地三种遍历大同小异 此处仅以中序代替 非递归遍历则通过栈 来实现 在入栈出栈中药注意一些边界条件 否则会出现运行错误 层次遍历 通过队列实现 在本此实验中吗 栈队列我调用了库函数里地模板 这样是整 个程序看起来简单多了 二叉树高度和叶子个数地计算和遍历相差不大 只是 加些判断条件 这里不再赘述 总体来说 本次试验不太好做 期间出现了很 多逻辑错误 变量初始化地问题等 不过经过仔细排查最后都一一解决了 RTCrp 版权申明 本文部分内容 包括文字 图片 以及设计等在网上搜集整理 版权为个人所有 This article includes some parts including text pictures and design Copyright is personal ownership 5PCzV 用户可将本文地内容或服务用于个人学习 研究或欣赏 以及 其他非商业性或非盈利性用途 但同时应遵守著作权法及其他相关 法律地规定 不得侵犯本网站及相关权利人地合法权利 除此以外 将本文任何内容或服务用于其他用途时 须征得本人及相关权利人 地书面许可 并支付报酬 jLBHr Users may use the contents or services of this article for personal study research or appreciation and other non commercial or non profit purposes but at the 个人收集整理 仅供参考 9 9 same time they shall abide by the provisions of copyright law and other relevant laws and shall not infringe upon the legitimate rights of this website and its relevant obligees In addition when any content or service of this article is used for other purposes written permission and remuneration shall be obtained from the person concerned and the relevant obligee xHAQX 转载或引用本文内容必须是以新闻性或资料性公共免费信息为 使用目地地合理 善意引用 不得对本文内容原意进行曲解 修改 并自负版权等法律责任 LDAYt Reproduction or quotation of the content of this article must be reasonable and good faith c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省益阳市2026届初三下学期第三次月考英语试题试卷含解析
- 江西省萍乡市名校2025-2026学年初三下学期第三次四校联考英语试题试卷含解析
- 山西省右玉县重点达标名校2026年初三入学调研考试语文试题含解析
- DB35-T 2310-2026 营商环境数字化监测数据要求
- 2025年湖南省英语高起专考试真题及参考答案
- GB-T 47286-2026《中小微企业融资服务信用信息数据规范》解读报告
- 2026年高职院校产业学院建设路径研究
- 2026年企业之歌征集与推广方案
- 2026年小儿泄泻中医护理方案应用与优化研究
- 2026年节假日物流高峰安全运营方案
- T-GFIA 004-2026 特色(呼吸系统调养)森林康养服务规范
- 2026年春季湘少版(三起)四年级下册英语教学计划(含进度表)
- 新东方《中国学生出国留学发展报告》
- 门诊护理职业发展与规划
- 2026年3月15日九江市五类人员面试真题及答案解析
- 2026国家开放大学出版传媒集团招聘5人笔试备考题库及答案解析
- 2024版2026春新版三年级下册道德与法治全册教案教学设计
- 2026年西安电力高等专科学校单招职业技能考试模拟测试卷附答案
- 糖尿病护理新进展汇报
- 2026光大永明人寿校园招聘笔试备考重点试题及答案解析
- 2026年合肥职业技术学院单招职业适应性测试模拟测试卷带答案解析
评论
0/150
提交评论