




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汕尾一年级上册试卷及答案
- 肇庆市实验中学高中历史二:第四单元中国社会主义发展道路的探索测验教案
- 《2025年签订新员工合同通知书》
- 浙江国企招聘2025宁波市鄞州区区属国企招聘2人笔试参考题库附带答案详解
- 机床制造中的环境保护措施实施考核试卷
- 电气安装变压器的选型与安装考核试卷
- 燃气具制造工艺流程考核试卷
- 绢纺与丝织品的在线销售与数字营销考核试卷
- 绿化施工安全管理考核试卷
- 电视接收设备的智能日程管理考核试卷
- 著名中医妇科 夏桂成教授补肾调周法
- VSM(价值流图中文)课件
- 考古发掘中文物的采集与保存课件
- 人工气道的护理刘亚课件
- 专业技术人员
- 拌和场安全检查表
- 节日主题班会 《感恩母亲节》教学课件
- 新加坡sm214th面经44绯的同学
- 全国第七届中小学音乐优质课比赛教学设计跳圆舞曲的小猫
- 我国城市马拉松赛事发展现状分析
- 基于UKF滤波的单目标跟踪算法研究
评论
0/150
提交评论