二叉树的基本操作实现及其应用_第1页
二叉树的基本操作实现及其应用_第2页
二叉树的基本操作实现及其应用_第3页
二叉树的基本操作实现及其应用_第4页
二叉树的基本操作实现及其应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中原工学院软件学院实验报告实验项目名称二叉树基本运算的实现及其应用课程名称数据结构学生姓名学生人数班级学科专业教师完工日期一、实验目的1.熟悉二叉树节点的结构和二叉树的基本操作。2.掌握二叉树各种运算的具体实现。3.学会使用递归方法编写算法来处理二叉树的递归数据结构。4.可以用二叉树来解决简单的实际问题。二、实验内容主题1设计一个程序来实现二叉树节点的类型定义和二叉树的基本操作。该程序包括二叉树结构类型、具体函数定义和各操作的主要功能。1按照优先顺序建立二叉树,2根据(A:一阶B:二阶C:)遍历输出二叉树的所有节点将以上内容与以下内容进行比较3找到二叉树中所有节点的数量4找到二叉树的深度三。实验步骤(一)数据结构和核心算法的设计描述typedef结构节点收费数据;结构节点*lchild,* rchildBinTNode,* BinTree/定义二叉树的指针二叉树创建二叉树(空)/前序遍历算法创建二叉树空前序遍历空序器中的排序遍历空后序遍历Inttredepth (bintreet)查找深度(二)功能调用和主要功能设计三个程序调试及运行结果分析结果表明,该程序实现了先创建二叉树、先遍历、中遍历、后遍历、查找深度、查找节点数等功能。(4)实验总结本实验主要训练二叉树的基本运算。在实验过程中,我熟悉了二叉树的构造方法和二叉树的一些运算。通过这个实验,我对二叉树的基本构造方法以及如何使用递归方法有了更深的了解。四、主要算法流程图和程序清单1.主要算法流程图2.程序清单#包括#包括#包括typedef结构节点收费数据;结构节点*lchild,* rchildBinTNode,* BinTree/定义二叉树的指针二叉树创建二叉树(空)/前序遍历算法创建二叉树二叉树;char chif(ch=getchar()=)返回(空);否则t=(BintNode *)malloc(sizeof(BintNode);t-数据=cht-l child=CretBinte();/构造左子树t-r child=CretBinte();/构造右子树返回(T);/一阶遍历无效预定(二叉树测试)如果(T)printf(“% c”,T-数据);预定(T-l child);订单前(T-archild);/中间顺序遍历无效排序器(二叉树)如果(T)订单(T-l child);printf(“% c”,T-数据);订单(T-archild);/后顺序遍历无效订单(二叉树测试)如果(T)订单后(T-l child);订单后(T-r child);printf(“% c”,T-数据);树间深度int hl,hr,max如果(T)HL=TreeDepth(T-l child);hr=树深度(T-r child);max=hlhr?hl:hr节点号=节点号1;返回(最大1);否则返回(0);树间节点int NodeNum=0;如果(T)树深;树深;节点号=节点号1;返回(节点号);其他返回0;/主要功能void main()二叉树根;I,深度,节点数;打印(“创建二叉树”;输入节点序列(空格键代表空节点): n ;root=CreatBintere();Printf(二叉树创建成功! n n );/创建二叉树并返回根节点printf( t t * * * * * * * * * * *选择操作* * * * * * * * * * * * * * n );Printf(tt1:前序遍历 n );Printf(tt2:中间序列遍历 n );PRINTF ( t t:顺序后遍历 n );printf(“ t t 4:查找树深度,节点数 n”);printf( t t 03: end n );printf( t t * * * * * * * * * * * * * * * * * * * * * * * * * * * * n );同时(扫描(“%d”,i)/输入菜单号(0-4)开关(I)案例1:首先打印(遍历: n);前序(根);休息;案例23360printf(“中间序列遍历: n”);序(根);休息;案例3: printf(后序遍历: n );

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论