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

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

ID:49465613

大小:20.50 KB

页数:4页

时间:2020-03-01

数据结构C语言实现二叉树三种遍历.doc_第1页
数据结构C语言实现二叉树三种遍历.doc_第2页
数据结构C语言实现二叉树三种遍历.doc_第3页
数据结构C语言实现二叉树三种遍历.doc_第4页
资源描述:

《数据结构C语言实现二叉树三种遍历.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验课题一:将下图中的二叉树用二叉链表表示:ABCDEFGH1用三种遍历算法遍历该二叉树,给出对应的输出结果;2写一个函数对二叉树搜索,若给出一个结点,根据其是否属于该树,输出true或者false。3写函数完成习题4.31(C++版)或4.28(C版教科书)。#include"stdio.h"#include"malloc.h"typedefstructBiTNode{chardata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;BiTreeCreate(BiTreeT){char

2、ch;ch=getchar();if(ch=='#')T=NULL;else{T=(BiTNode*)malloc(sizeof(BiTNode));T->data=ch;T->lchild=Create(T->lchild);T->rchild=Create(T->rchild);}returnT;}intnode(BiTreeT){intsum1=0,a,b;if(T){if(T!=NULL)精选范本,供参考!sum1++;a=node(T->lchild);sum1+=a;b=node(T->rchild);sum1+=b;

3、}returnsum1;}intmnode(BiTreeT){intsum2=0,e,f;if(T){if((T->lchild!=NULL)&&(T->rchild!=NULL))sum2++;e=mnode(T->lchild);sum2+=e;f=mnode(T->rchild);sum2+=f;}returnsum2;}voidPreorder(BiTreeT){if(T){printf("%c",T->data);Preorder(T->lchild);Preorder(T->rchild);}}intSumleaf(B

4、iTreeT){intsum=0,m,n;if(T){if((!T->lchild)&&(!T->rchild))sum++;m=Sumleaf(T->lchild);sum+=m;n=Sumleaf(T->rchild);sum+=n;}returnsum;精选范本,供参考!}voidzhongxu(BiTreeT){if(T){zhongxu(T->lchild);printf("%c",T->data);zhongxu(T->rchild);}}voidhouxu(BiTreeT){if(T){houxu(T->lchild

5、);houxu(T->rchild);printf("%c",T->data);}}main(){BiTreeT;intsum,sum1,sum3;printf("请输入字符串:");T=Create(T);printf("前序遍历:");Preorder(T);printf("");printf("中序遍历:");zhongxu(T);printf("");printf("后序遍历:");houxu(T);printf("");sum=Sumleaf(T);printf("树叶数为:");prin

6、tf("%d",sum);printf("");printf("树结点数为:");sum1=node(T);printf("");printf("%d",sum1);printf("");printf("树满结点数为:");精选范本,供参考!sum3=mnode(T);printf("%d",sum3);printf("");}【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】精选范本,供参考!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。