版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中原工学院软件学院实验报告实验项目名称 二叉树的基本操作实现及其应用课程名称数据结构学生学生学号所在班级学科专业任课教师完成日期一、实验目的1熟悉二叉树结点的结构和对二叉树的基本操作。 2掌握对二叉树每一种操作的具体实现。3学会利用递归方法编写对二叉树这种递归数据结构进行处理的算法。4.会用二叉树解决简单的实际问题。二、实验容题目一设计程序实现二叉树结点的类型定义和对二叉树的基本操作 该程序包括二叉树结构类型以及每一种操作的具体的函数定义和主函数 1 按先序次序建立一个二叉树,2按 (A:先序B:中序C:后序)遍历输岀二叉树的所有结点以上比做,以下选做求二叉树中所有结点数求二叉树的深度三、实验
2、步骤、数据结构与核心算法的设计描述typedef struct nodechar data;struct node *lchild,*rchild;BinTNode, *BinTree; /定义二叉树的指针BinTree CreatBinTree(void)/先序遍历算法创建二叉树void Preorder(BinTree T)先序遍历void Inorder(BinTree T)中序遍历void Postorder(BinTree T)后序遍历int TreeDepth(BinTree T)求 深度(二)、函数调用及主函数设计程序调试及运行结果分析勒序遍历:de ba*后序谨历, 二賈树深度
3、科严J程一尺勒序遍历:de ba*后序谨历, 二賈树深度科严J程一尺PJI刑八P点序列用三格锂代;表王卩点xabed二冥树创建成功T数 点 一 度 历历無 逅黑的 先中后t结九序遍历;二叉树节点数N如结果所示,该程序实现了先序创建二叉树,先序遍历,中序遍 历,后序遍历及求深度,求节点数等功能。(四)实验总结 该实验主要是对二叉树的基本操作进行了训练。在实验的过程中,我 熟悉了二叉树的构造方法,以及二叉树的一些操作,通过此次实验, 我对二叉树的基本构造方法以及怎么使用递归的方法有了更深的理 解。四、主要算法流程图及程序清单1、主要算法流程图+*先序遍历 PreOrd&rQ中序遍历 InOrder
4、Q后序遍历 PostOrderQ12、程序清单#include#include#include typedef struct nodechar data;struct node *lchild,*rchild;BinTNode, *BinTree; /定义二叉树的指针BinTree CreatBinTree(void)/先序遍历算法创建二叉树 BinTree T; char ch;if(ch=getchar()= ) return(NULL);elseT=(BinTNode *)malloc(sizeof(BinTNode);T-data=ch;T-lchild=CreatBinTree();
5、/构造左子树T-rchild=CreatBinTree();/构造右子树return(T);/先序遍历void Preorder(BinTree T)if(T)printf(%c,T-data);Preorder(T-lchild);Preorder(T-rchild);/中序遍历void Inorder(BinTree T)if(T)Inorder(T-lchild);printf(%c,T-data);Inorder(T-rchild);/后序遍历void Postorder(BinTree T)if(T)Postorder(T-lchild);Postorder(T-rchild);pr
6、intf(%c,T-data);int TreeDepth(BinTree T) int hl,hr,max;if(T)hl=TreeDepth(T-lchild); hr=TreeDepth(T-rchild); max=hlhr? hl:hr;NodeNum=NodeNum+1; return(max+1);else return(0);Int TreeNode(BinTree T)int NodeNum=0;if(T)TreeDepth(T-lchild);TreeDepth(T-rchild);NodeNum=NodeNum+1; return(NodeNum);elsereturn
7、0;/主函数 void main()BinTree root;int i,depth,NodeNum;printf(创建二叉树;输入节点序列(用空格键代表空节点):n); root=CreatBinTree();printf(二叉树创建成功!nn);创建二叉树,返回根结点printf(tt*选择操作*n);printf(tt*选择操作*n);printf(tt1:先序遍历n);printf(tt2:中序遍历n);printf(tt3:后序遍历n);printf(tt4:求树的深度,节点数n); printf(ttO:结束n);printf(tt*汝printf(tt*汝*n);while(scanf(%d,&i)输入菜单序号(0-4)switch (i)case 1: printf(先序遍历:n);Preorder(root); break;case 2: printf(中序遍历:n);Inorder(root); break;case 3: printf(后序遍历:n );Postorder(root); break
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风筝安全实践试题及答案梳理
- 仓储管理员岗位技能课件
- 本酿造清酒的讲解
- 《老年人平衡训练指南》解读
- 肩关节相关试题与答案解析
- 2025年全国统考数学二模拟试卷(真题逐题精讲)
- 考研数学二冲刺试卷全套-2024(精排打印版)
- 数学二模拟试卷(2026考研全国统考·详细解析)
- 护理健康教育质量管控课件
- 变应性鼻炎特异性免疫治疗诊疗指南
- 2026年河南省洛阳市公安招聘辅警考试试卷含答案
- 儿童耳科疾病的护理
- 2026中国土地整治与指标交易市场发展报告
- 2026年安全生产事故报告和调查处理条例课件(高清可编辑课件)
- 美国白宫 科学:一个新的黄金时代 致总统的报告
- 2024年贵州省粮食储备集团有限公司招聘笔试参考题库附带答案详解
- 脑出血患者围手术期护理
- 地理学基础一章
- 三视图三视图
- 云南中环 表D-5参比方法评估气态污染物CEMS(含氧量)准确度
- GB/T 23858-2009检查井盖
评论
0/150
提交评论