免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#includemalloc.h#define NULL 0#includestdio.htypedef struct nodechar data;struct node *lchild,*rchild;NODE;int count;NODE *crt_bt_pre()/*二叉树先序创建算法*/NODE * bt;char ch;printf(nttt);scanf(%c,&ch);getchar();if(ch= ) bt=NULL; else bt=(NODE*)malloc(sizeof(NODE); bt-data=ch; printf(nttt请输入%c结点的左孩子:,bt-data); bt-lchild=crt_bt_pre(); printf(nttt请输入%c结点的右孩子:,bt-data); bt-rchild=crt_bt_pre(); return(bt);void Preorder(NODE* bt)/*二叉树先序递归遍历算法*/if(bt!=NULL)printf(nttt %c,bt-data); Preorder(bt-lchild);Preorder(bt-rchild);void Inorder(NODE* bt)if(bt!=NULL)Inorder(bt-lchild);printf(nttt %c,bt-data);Inorder(bt-rchild);void Postorder(NODE* bt)if(bt!=NULL)Postorder(bt-lchild);Postorder(bt-rchild);printf(nttt %c,bt-data);int CountLeaf(NODE *bt)/*求二叉树叶子结点数的递归遍历算法*/if(bt=NULL)return 0;if(bt-lchild=NULL&bt-rchild=NULL)count+;CountLeaf(bt-lchild);CountLeaf(bt-rchild);return(count);int CountNode (NODE* bt)/*求二叉树结点数的递归遍历算法*/if(bt=NULL) return 0;elsecount+;CountNode(bt-lchild);CountNode(bt-rchild);return(count);int TreeDepth(NODE* bt)/*求二叉树深度的递归遍历算法*/int x,y;if(bt=NULL) return 0;elsex=TreeDepth(bt-lchild); y=TreeDepth(bt-rchild);if(xy)return(x+1);elsereturn(y+1);void main()NODE *bt;char choice;int j=1;int x;while(j)printf(nnn);printf(ttt-二叉树的基本运算-n);printf(nttt*);printf(nttt* 1-建二 差树 *);printf(nttt* 2-先序 遍历 *); printf(nttt* 3-中序 遍历 *);printf(nttt* 4-后序 遍历 *);printf(nttt* 5-统计 叶子数 *);printf(nttt* 6-统计 结点数 *);printf(nttt* 7-求二叉树深度 *);printf(nttt* 0-退 出 *);printf(nttt*);printf(ttt请选择菜单号(0-7):);scanf(%c,&choice);getchar();if(choice=1) printf(nttt请输入按先序建立二叉树的结点序列: ); printf(nttt说明: 逐个输入,输入空格代表后续结点为空,按回车输入下一个结点.); printf(nttt请输入根结点: ); bt=crt_bt_pre(); printf(nttt二叉树成功建立!n);else if(choice=2)printf(nttt该二叉树的先序遍历序列为: );Preorder(bt);else if(choice=3)printf(nttt该二叉树的中序遍历序列为: );Inorder(bt);else if(choice=4)printf(nttt该二叉树的后序遍历序列为: );Postorder(bt);else if(choice=5)count=0;CountLeaf(bt);printf(nttt该二叉树有%d个叶子结点。n,count);else if(choice=6)count=0;x=CountNode(bt);printf(nttt该二叉树共有%d个叶子结点。n,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 能效评估方法创新-洞察与解读
- 电动自行车电池回收技术-第1篇-洞察与解读
- 微纳米尺度测量-洞察与解读
- 市场集中度变化研究-洞察与解读
- 碳捕集与开采协同-洞察与解读
- 大数据风控策略优化-洞察与解读
- 流动人口健康社区营造模式构建
- 产后情绪管理对缺乳护理的影响
- 成本可持续的发展策略
- 成本可评估的效益模型
- (完整文本)乌有先生传(原文+注释+译文)
- 儿童流感的预防与治疗
- 三年级数学专项思维训练习题11套原卷+答案解析
- 事故油池基坑开挖专项施工方案
- 2021级数据科学与大数据技术专业培养方案(本科)
- 《量子力学》全本课件
- 《我弥留之际》读书笔记思维导图PPT模板下载
- 病毒性肝炎的免疫学检查
- 环境催化-课件1
- 旭辉地产年度品牌整合传播规划方案
- GB/T 27924-2011工业货架规格尺寸与额定荷载
评论
0/150
提交评论