免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程实验报告学号:姓名: 实验日期: 实验名称:二叉树的存贮与遍历一、实验目的掌握二叉树结构的非线性和递归性特点,以及用指针类型描述和访问二叉树的运算。二、实验内容与实验步骤问题描述:建立任意二叉树的二叉链表存储,并对其进行先序、中序、后序遍历,求出叶子结点和总结点数目。(有能力的同学加上层次遍历)基本要求:采用二叉链表作为存储结构,以加入虚结点的先序序列输人建立该二叉树的存储,并设菜单,依据选项分别输出该二叉树的先序、中序、后序和层次遍历序列及叶子结点和总结点数目、二叉树的深度。二叉树结点的数据域可采用字符。 (用菜单形式)ABDCFAE测试数据:建立如图所示的二叉树存储。建立时的输入序则为:ABD000CE00F00,测试先序、中序、后序、层次遍历的结果以及叶子结点和总结点数目。提示:用递归方式实现建立、先序遍历、中序遍历和后序遍历,用队列实现层次遍历,求叶子结点和总结点数目时,可采用任何一种遍历方法来实现,只是加入一个计数器,当遍历到某个结点时对其进行判断,若符合条件,则将计数器加1,最后输出计数器的值。 三、附录: #include#includeint count=0,count1=0;typedef struct node char ch; struct node *Lchild; struct node *Rchild;Bitnode;Bitnode* CreateBtree() char a; Bitnode *bt=NULL; scanf(%c,&a); if(a!=#) if(a=0) bt=NULL; else bt=(Bitnode *)malloc(sizeof(Bitnode); bt-ch=a; bt-Lchild =CreateBtree(); bt-Rchild =CreateBtree(); return bt;void DLR(Bitnode *bt) if(bt!=NULL) printf(%c,bt-ch); DLR(bt-Lchild); DLR(bt-Rchild); void LDR(Bitnode *bt) if(bt!=NULL) LDR(bt-Lchild); printf(%c,bt-ch); LDR(bt-Rchild); void LRD(Bitnode *bt) if(bt!=NULL) LRD(bt-Lchild); LRD(bt-Rchild); printf(%c,bt-ch); int leafcount(Bitnode *bt) if(bt!=NULL) leafcount(bt-Lchild ); leafcount(bt-Rchild ); if(bt-Lchild =NULL&bt-Rchild =NULL) count+; return count;int btcount(Bitnode *bt) if(bt!=NULL) btcount(bt-Lchild ); btcount(bt-Rchild ); count1+; return count1;int TreeDepth(Bitnode *bt ) int hl,hr,max,x; if(bt!=NULL) hl=TreeDepth(bt-Lchild ); hr=TreeDepth(bt-Rchild ); max=hlhr?hl:hr; x=max+1; else x=0; return x;void main() Bitnode *t; int n; do printf(*n); printf(*1、二叉表存储*n); printf(*2、先序遍历*n); printf(*3、中序遍历*n); printf(*4、后序遍历*n); printf(*5、叶子节点数目*n); printf(*6、总节点数目*n); printf(*7、树的深度*n); printf(*8、结束*n); printf(*n); printf(请选着要操作的序号:); scanf(%d,&n); switch(n) case 1:printf(请输入根节点的值,并以#结束:n);t=CreateBtree();printf(二叉树已创建n);break; case 2:DLR(t);break; case 3:LDR(t);break; case 4:LRD(t);break; case 5:leafcount(t);printf(叶子节点数是%dn,count);break; case 6:btcount(t);printf(总节点数是%dn,count1-1);break; case 7:printf(树的深度是%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州双龙航空港开发投资(集团)有限公司第一批招聘12人笔试考试备考题库及答案解析
- 2025贵州黔南州长顺县县直机关事业单位面向全县考调工作人员19人考试笔试模拟试题及答案解析
- 停送电实习总结
- 天然气员工实习报告
- 2026福建省面向南昌大学选调生选拔工作考试笔试备考试题及答案解析
- 2025湖北阳新莲花湖国家湿地公园管理中心选聘工作人员1人笔试考试备考题库及答案解析
- 2025安徽安庆市潜山市立医院招聘周转池编制卫生专业技术人员8人笔试考试备考题库及答案解析
- 2025贵州机电职业技术学院引进高技能人才2人考试笔试参考题库附答案解析
- 2025年西安市长安区第三中学教师招聘笔试考试参考试题及答案解析
- 2025年新能源行业网络安全防护与数据加密技术应用
- 2025陕西商洛市事业单位引进高层次人才招聘322人历年真题库附答案解析(夺冠)
- 雨课堂学堂在线学堂云《爱情美学(西安思源学院)》单元测试考核答案
- 环卫年终述职报告
- 春江花月夜诵读课件
- 热管理材料导热凝胶
- 从贞观之治到开元盛世
- 3.2 与世界深度互动 课件 2024-2025学年统编版道德与法治九年级下册
- 平均数与方差(5)课件北师大版数学八年级上册
- 自动控制原理课件 1.1 自动控制基本概念
- 无人机装调检修课件
- 2025西安外国语大学附属学校鄠邑区实验小学教师招聘笔试考试参考试题及答案解析
评论
0/150
提交评论