

已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经络腧穴学模拟习题(附参考答案)
- 2025年福建泉州丰泽教育管理集团有限公司招聘笔试参考题库含答案解析
- 2025年贵州兴仁县农商旅发展有限责任公司招聘笔试参考题库含答案解析
- 教师资格考试中教育公平理念的倡导与实践试题及答案
- 正骨培训考试试题及答案
- 游戏分拣测试题及答案
- 2024年高校辅导员考试题目分析
- 乡村全科助理医师考场实战经验分享试题及答案
- 母猪产前产后护理知识考试题及答案
- 母猪护理案例研究的重点试题及答案
- HJ24-2020环境影响评价技术导则输变电
- 铁路混凝土工程施工质量验收标准
- 河南省鹤壁市2023-2024学年八年级下学期期末数学试题
- 法制教育课教案(3篇模板)
- 搬家客户服务投标书
- 医师执业注册申请审核表(空表)
- GB/T 18488-2024电动汽车用驱动电机系统
- 不定积分专题试题
- 小学道德与法治活动设计理念
- 2024年郑州卫生健康职业学院单招职业适应性测试题库及答案解析
- 克罗恩病的营养支持
评论
0/150
提交评论