ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:106.50KB ,
资源ID:13163558      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13163558.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二叉树的基本操作实验文档格式.doc)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二叉树的基本操作实验文档格式.doc

1、层序:ABCDEFG选作内容采用非递归算法实现二叉树遍历。三、实验前的准备工作1、掌握树的逻辑结构。2、掌握二叉树的逻辑结构和存储结构。3、掌握二叉树的各种遍历算法的实现。一 实验分析本次试验是关于二叉树的常见操作,主要是二叉树的建立和遍历。二叉树的遍历有多种方法,本次试验我采用递归法,递归法比较简单。 二 概要设计功能实现1.int CreatBiTree(BiTree &T) 用递归的方法先序建立二叉树, 并用链表储存该二叉树2.int PreTravel(BiTree &T) 前序遍历3. int MidTravel(BiTree &T) 中序遍历4.int PostTravel(BiT

2、ree &T) 后序遍历5.int Depth(BiTree &T) /计算树的深度6.int howmuch(BiTree T,int h) 采用树节点指针数组,用于存放遍历到的元素地址,如果有左孩子,存入地址,j加一 ,否则没操作,通过访问数组输出层次遍历的结果。k计算叶子数,j为总节点。 H=0printf(%d, j)h=1真,k)h=2for(i=0;idata)参数错误)假7. int exchang(BiTree &T) 交换左右子树,利用递归,当有左右孩子时才交换三 详细设计#includestdlib.htypedef struct BiTNodechar data; str

3、uct BiTNode *lchild,*rchild;BiTNode,*BiTree;int CreatBiTree(BiTree &T)/先序法创建二叉树char ch;if(ch=getchar()= T=NULL;elseT=(BiTNode*)malloc(sizeof(BiTNode);if(!exit(1);T-data=ch;CreatBiTree(T-lchild);rchild);return 0;int PreTravel(BiTree &/前序遍历if(T) printf(,T-data);PreTravel(T-int MidTravel(BiTree &/中序遍历M

4、idTravel(T-int PostTravel(BiTree &/后序遍历PostTravel(T-int howmuch(BiTree T,int h)BiTNode *Q100;/树节点指针数组,用于存放遍历到的元素地址if(T=NULL)空的二叉树n);Q0=T; /存入树根int i,k=0;int j=1; /j为总节点for(i=0;if(Qi-lchild!=NULL) /如果有左孩子,存入地址,j加一 ,否则没操作Qj=Qi-lchild ;j+;rchild!=NULL) /如果有右孩子,存入地址,j加一 ,否则没操作rchild ;lchild=NULL&Qi-rchi

5、ld=NULL)k+; /计算叶子数if(h=0), j);else if(h=1),k);else if(h=2) for(i=0;else int Depth(BiTree & int lh , rh ; if( NULL = T ) return 0 ; else lh = Depth( T-lchild ) ; rh = Depth( T-rchild ) ; return ( lh rh ? lh : rh ) + 1 ; int exchang(BiTree &T)/交换左右子树if(T != NULL) if(T-=NULL&T-=NULL)/当有左右孩子时才交换char t;t

6、=T-lchild-data;T-data=T-rchild-data=t; /交换数据exchang(T-/ 递归调用 int choose(BiTree T) /功能选int a;scanf(,&a);if(a=1)先序遍历:PreTravel(T);else if(a=2)中序遍历:MidTravel(T);else if(a=3)后序遍历:PostTravel(T);else if(a=4)层序遍历:howmuch(T,2);else if(a=5)总节点数:howmuch(T,0);else if(a=6)总叶子数:howmuch(T,1);else if(a=7)树的深度:,Dep

7、th(T);else if(a=8)交换前nexchang(T);交换后nelse if(a=9)exit(1);else printf(没有这个操作n printf( 操作完成,请输入下一个操作nchoose(T);int main() /主函数printf(-二叉树的基本操作-n请先建立二叉树,按先序的方式输入如果数据为空输入空格nBiTree T; /定义二叉树,初始化CreatBiTree(T); choose(T);四 用户手册根据程序的提示按先序输入二叉树,如果数据为空输入空格,然后回车,输入你要进行的操作的序号。1.先序遍历、2中序遍历、3 后序遍历 、4层次遍历、5总节点数、6总叶子数、7树的深度、8交换左右子树、9结束操作五 实验总结通过实验,我熟悉二叉树树的基本操作,掌握二叉树的实现以及实际应用。加深了对二叉树的理解,逐步培养解决实际问题的编程能力以及进一步了解了二叉树。递归的使用,要注意,初始时的状态以及如何使用递归,注意普遍性,思考时从普通的开始。通过这次上机操作,让我明白书本上的程序一定要自己去调试,这样才能将书本程序与老师讲的内容融会贯通,达到温故而知新。六 运行结果ADBCEFG 图(1)图表 1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1