电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构C语言实现二叉树三种遍历

数据结构C语言实现二叉树三种遍历_第1页
1/4
数据结构C语言实现二叉树三种遍历_第2页
2/4
数据结构C语言实现二叉树三种遍历_第3页
3/4
实验课题一:将下图中得二叉树用二叉链表表示:1 用三种遍历算法遍历该二叉树,给出对应得输出结果;2 写一个函数对二叉树搜索,若给出一个结点,根据其就是否属于该树,输出 t ru e 或者f al se。3 写函数完成习题 4、31(C++版)或 4、2 8(C 版教科书)。#i n cl u de "stdio、h"#inclu d e”mall o c、h" typed e f s truct B i T N ode{ c h ar data; s t ruc t BiT N ode *l ch ild,*r c hi l d; }B iT N od e,*BiTr e e; B iT ree Crea t e(B i T r e e T){ char ch; ch=getch ar(); if(ch=='#’) T=NULL; el s e{ T=(Bi T Node *)ma l loc(s izeo f(B iTN od e));T-〉data=c h;T->l ch i l d=Crea t e(T—〉lchil d); T—〉rchild=Cre a te(T-〉rch i ld); } retu r n T; } i nt node(Bi T r e e T){int sum1=0,a,b;ﻩi f(T){if(T!=N U L L)ABCDEFGHﻩﻩs u m1++;ﻩa=n ode(T->lchi l d); s u m1+=a; b=node(T—>rch i ld); sum1+=b; ﻩ} r et u rn sum1; }int m n ode(BiTree T){ﻩint sum 2=0,e,f;if(T){ﻩi f((T->lc h i l d!=NULL)&&(T-〉rchild!=NULL)) ﻩsum2++;ﻩe=m no de(T-〉lchild); su m 2+=e; f=mno de(T-〉rch il d); sum 2+=f; ﻩ} ret u rn sum2;}void Preor d er(BiTree T){ i f(T){ p r intf("%c”,T->da t a); P reo r der(T—>lchi ld); P reorder(T-〉rch i ld); } }i n t Sum l ea f(BiT re e T){ int su m=0,m,n; if(T){ if((!T-〉lchild)&&(!T-〉r c hi l d)) sum++; m=S u m leaf(T->lch i ld); su m+=m; n=Sumleaf(T—>r c h il d); su m+=n; } retu r n s um; } void z ho ngx u(Bi T r e e T){ i f(T){ z ho ngxu(T-〉lchild); pr i n tf("%c”,T-〉data); zhon g xu(T-〉r ch i l d); } } void ho u xu(BiTr e e T){ i f(T){ ho u xu(T->lch i l d); hou x u(T->rc h il d); pr i ntf("%c",T—>da t a); }} main(){ BiTr ee T; i n t su m,su m 1,sum3;p r i ntf("请输入字符串:\n"); T=Cre at e(T);p rin t f(”前序遍历:\n”);Preorde r(T);printf(”\n"); p rin tf("中序遍历:\n”);z ho ngx u(T);pr in tf("\n”); p r intf("后序遍历:\n"); h ouxu(T); prin t f("\n"); s u m=S u mle a f(T);printf(”树叶数为:\n”); p r intf("%d",s um);prin t f(”\n");pr i ntf(”树结点数为:\n”); sum1=no d e(T);prin t f("\n”);p r intf("%d",sum1);pri ntf("\n");pr int f("树满结点数为:\n");su m3=m node(T);p rintf("%d",sum3);pri ntf("\n”);}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构C语言实现二叉树三种遍历

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部