下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、请输入字符,以0作为每个节点的结束标志:i请输入字符,以0作为每个节点的结束标志泪请输入字符,以0作为每个节点的结束标志泪请输入字符,以0作为每个节点的结束标志泪先根序列:datat1=adatat 21=bdatat31= ddatat41= cdataL51= edatat63 =gdatat 71=i中根序列:dataL13 =ddata】2 =bdataL3 = adataL4= edataL51=gdataL63 =idata】71=c后根序列:datat13 =ddata】21=bdatat31= idatat41= gdatat51= edatat63 =cdata】71=a请输
2、入字符,以0作为每个节点的结束标志5 请输入字符,以0作为每个节点的结束标志:h 请输入字符,以0作为每个节点的结束标志记 请输入字符,以0作为每个节点的结束标志泪 请输入字符,以0作为每个节点的结束标志咱 请输入字符,以0作为每个节点的结束标志泪 请输入字符,以0作为每个节点的结束标志“ 请输入字符,以0作为每个节点的结束标志“ 请输入字符,以0作为每个节点的结束标志咱 请输入字符,以0作为每个节点的结束标志也 请输入字符,以0作为每个节点的结束标志 请输入字符,以0作为每个节点的结束标志:i请输入字符,以0作为每个节点的结束标志汨请输入字符,以0作为每个节点的结束标志:i请输入字符,以0作
3、为每个节点的结束标志泪请输入字符,以0作为每个节点的结束标志泪请输入字符,以0作为每个节点的结束标志泪先根序列:dataE 11= a datat 21= b datat 31= d datat 41= c datat 5 = edata T fi 1 = a data T 7 T = i能矗KM字符的处理模式ttinclude ttinclude 能矗KM字符的处理模式为了増强程序的多珂 当CHAR没有皱定乂时数据类塑苗注义ttiFdeF CHARtypedeF char datatype; ttelsetypedeF int datatype; ttendiFtypedeF struct
4、node1datatype data;struct node *lchild,*rchild; Jbitree;bitree *root;int n;char c;创建二叉树bitree *creat_preorder() _bitree *t;datatype x;ttiFdeF CHARPrintF(ntt请输入字符,以乍为每个节点的结束标志:“); scanFfc,&x);/ FFlush(stdin);/清除缓冲区While(c=getchar()? = n&c?=EOF);清除缓冲区另外的方法 iF(x=0)t=NULL;#elseprintF(ntt请输入正整数以酬乍为结束标志:)
5、; scanFCd&x);iF(x=O)t=NULL;ttendiFelsedata=x;t-lchild=creat_preorder(); t-rchild=creat_preorder(); _return(t);丨return(t);先根遍历算法void preorder(bitree *t)if(t?=NULL)n=n+1;ttiFdeF CHARprintF(,tdata%2d=%3c,n,t-data); ttelseprintF(,tdata%2d=%3d,n,t-data); ttendiFiF(n%5=0)printF(,n,lchild); preorder(t-rchi
6、ld);中根遍历算法void inorder(bitree *t)if(t?=NULL)lchild);n=n+1;ttiFdeF CHARprintF(,tdata%2d=%3c,n,t-data); ttelseprintF(,tdata%2d=%3d,n,t-data); ttendiFiF(n%5=0)printF(,n,rchild);后根遍历算法void postorder(bitree *t)rchild);后根遍历算法uoid postorder(bitree *t)if(t!=NULL)lchild); postorder(t-rchild); n=n+1;ttifdeF C
7、HAR printF(,tdata2d=3c,n,t-data); ttelse printF(,tdata2d=3d,n,t-data); ttendiFiF(n5=0)printF(,n);main()bitree *bintree=creat_preorder(); printf(n$fc根序列:nn); preorder(bintree);n=B;printf(n中根序列:nn); inorder(bintree);n=8;printf(njq根序列:nn); postorder(bintree);n=8;printf(nn); return 0;一、问题需求分析利用程序建立一个二叉树
8、,并实现各种遍历算法。二、算法选择 二叉树的建立 二叉树建立的方法有很多种,最常用的是采用递归的先根次序来建立,这次的实验就是采用 此算法。二叉树的遍历二叉树的遍历有常用的三种方法,分别是:先根次序、中根次序、后根次序。为了验证这几 种遍历算法的区别,本次的实验将会实现所有的算法。遍历的时候,把结点的信息打印出来,为了让结点的信息更容易区别,在每个结点前加上数 字标识。如:datal=A,data2=B.实现的算法皆为递归算法。三、分情况处理的实现由于算法需要同时实现出来字符型数据和整形数据,这两种数据处理过程中,对输入和输出 的处理会有所不同,为了实现这个功能,采用#ifdef和#else的代码选择方法。代码示例:#def
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽新闻出版职业技术学院高职单招笔试化学历年参考题库含答案解析
- 2026年大学试题(管理类)-中小企业管理历年参考题库含答案解析
- 2026年太原旅游职业学院高职单招笔试英语历年参考题库含答案解析
- 2026年天津广播影视职业学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年天津国土资源和房屋职业学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年天津体育职业学院高职单招笔试语文历年参考题库含答案解析
- 安全十法则速记讲解
- PS智能机器人设计
- 新疆安全生产警示案例解析讲解
- 2026-2027学年度秋季统编版语文五年级上册第六单元素养测评卷(含答案)
- DB4116∕T 052-2023 饲用花生秧草块生产技术流程
- 泥水平衡顶管施工应急预案
- 村沟渠清淤施工方案
- 胸痛中心质量分析会
- GB/T 3672.1-2025橡胶制品的公差第1部分:尺寸公差
- Colles骨折课件教学课件
- 煤矿立井沉降观测方案(3篇)
- 牦牛科学饲养管理课件
- 石雕购买合同协议
- 九年级下册历史大单元作业设计
- YYT 0615.1-2007 标示无菌医疗器械的要求 第1部分 最终灭菌医疗器械的要求
评论
0/150
提交评论