




免费预览已结束,剩余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年光伏组件生产质量控制与智能化技术应用报告
- 文旅管理咨询方案模板
- 活动策划方案评分标准表格
- 造价咨询外聘薪酬方案范文
- 兴东线泰州段航道整治工程环评资料环境影响
- 除尘器改造合同协议范本
- 《沉淀溶解平衡》教学设计
- 拔罐试题及答案
- 中国桑蚕养殖行业发展前景及发展策略与投资风险研究报告2025-2028版
- 中医高血压糖尿病课件
- 外带药输液协议书
- 微信小程序电商代运营及品牌授权合作合同
- 2025年天津市春季高考升学考试全真模拟试卷(二)中职英语(无答案)
- 古代汉语平仄试题及答案
- 马工程《艺术学概论》-绪论省公开课一等奖全国示范课微课金奖课件
评论
0/150
提交评论