下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include #include typedef char T;typedef struct btnode结点定义T Element; struct btnode *LChild,*RChild;BTNode;typedef struct btree头结点定义struct btnode *Root;BTree;BTNode* NewNode()创建空间BTNode *p=(BTNode*)malloc(sizeof(BTNode); return p;BTNode * DGCreateBT()递归创建一棵二叉树char c;BTNode *s;s=(BTNode *)malloc(sizeo
2、f(BTNode); c=getchar();scanf(%c,&c); getchar();if(c=.)s=NULL;elses=NewNode(); s=(BTNode *)malloc(sizeof(BTNode); s-Element=c; s-LChild=DGCreateBT(); s-RChild=DGCreateBT();return s; void Visit(BTNode *p) 输出结点*P的元素值 printf(%3c,p-Element);void PreOrd(BTNode *t)先序遍历递归函数if(t)(*Visit)(t);PreOrd(t-LChild);
3、PreOrd(t-RChild);void InOrd(BTNode *t)中序遍历递归函数if(t)InOrd(t-LChild);(*Visit)(t);InOrd(t-RChild);void PostOrd(BTNode *t)后序遍历递归函数if(t)PostOrd(t-LChild);PostOrd(t-RChild);(*Visit)(t);先序遍历中序遍历后序遍历先序遍历中序遍历后序遍历/*void PreOrder(BTree Bt,void (*Visit)(BTNode *u) PreOrd(VisitjBtRoot);void InOrder(BTree Bt,void
4、 (*Visit)(BTNode *u)InOrd(Visit,BtRoot);void PostOrder(BTree Bt,void (*Visit)(BTNode *u) PostOrd(Visit,Bt.Root);*/int s,s1,s2;if(!p)return 0;elses1=Size(p-LChild);s2=Size(p-RChild);s=s1+s2+1;return s;int SizeofBT(BTree Bt)树的结点数return Size(Bt.Root);int Depth(BTNode *p)树的高度递归函数if(!p)return 0;elseretur
5、n 1+max(Depth(p-LChild),Depth(p-RChild);/*int DepthofBT(BTree Bt)树的高度return Depth(Bt.Root);*/void PrintLeaf(BTNode *bt)if(bt!=NULL)if(bt-LChild=NULL&bt-RChild=NULL) printf(%3c,bt-Element);elsePrintLeaf(bt-LChild);PrintLeaf(bt-RChild);int s1,s2;if(bt!=NULL)if(bt-LChild=NULL&bt-RChild=NULL) return 1;e
6、lses1=CountLeaf(bt-LChild); s2=CountLeaf(bt-RChild); return s1+s2;return 0;int main(void)BTNode *bt;BTree Bt;int NumLeaf=0,TotalLeaf=0,TreeDepth=0,k=0; bt=NewNode();printf(请输入先序正确树的结点数据(输入代表空)n); getchar();bt=DGCreateBT();printf(先序遍历测试结果:”);PreOrd(bt);printf(n中序遍历测试结果:”);InOrd(bt);printf(n后序遍历测试结果:”);PostOrd(bt);printf(n);printf(n树的叶子结点为:”);PrintLeaf(bt);/7/Z7/7/7/7/7/7/Z/7NumLeaf=Size(bt);llllllllllllllllllllllllllllllllllllllllllllllllllllll77BtRoot=bt;llk=SizeofBT(Bt);llprintf(nk=%dn,k);printf(n 树的结点数为:%dn,NumLeaf);llllllllllllllllllllllllllllllllllllllllllllllllllllllTotalLeaf=CountL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省苏州市昆山市2025-2026学年高一上学期期末语文试卷(无答案)
- 2025-2026学年统编版二年级语文下册第四单元达标训练卷(A)(含答案)
- 2024-2025学年湖南省衡阳市船山实验中学九年级(上)期末道德与法治试卷(含答案)
- 飞行技术答辩
- 2026内蒙古鄂尔多斯准格尔旗民族小学招聘考试备考题库及答案解析
- 2026陕西西安新城区同德巷社区招聘公益性岗位工作人员3人备考考试题库及答案解析
- 市场调查公司数据管理制度
- 2026年甘肃省兰州大学第二医院西固医院水暖工招聘备考考试试题及答案解析
- 新人视频活动策划方案(3篇)
- 侨乡书香活动策划方案(3篇)
- 2026内蒙古鄂尔多斯市伊金霍洛旗九泰热力有限责任公司招聘热电分公司专业技术人员16人笔试模拟试题及答案解析
- 马年猜猜乐(猜地名)打印版
- 河南豫能控股股份有限公司及所管企业2026届校园招聘127人笔试模拟试题及答案解析
- 2025年浙江省嘉兴市嘉善县保安员考试真题附答案解析
- 要谦虚不要骄傲课件
- 2026国家保安员资格考试题库及参考答案【完整版】
- 微生物检验质控措施分析
- 2026年黑龙江农业工程职业学院单招职业技能考试题库及参考答案详解1套
- 妇科肿瘤保留生育功能治疗策略
- 宫颈癌病理课件
- 2025东航股份综合管理部招聘笔试历年参考题库附带答案详解
评论
0/150
提交评论