ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:17.88KB ,
资源ID:18781109      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18781109.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构树和二叉树实验报告Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构树和二叉树实验报告Word文件下载.docx

1、(6)输出二叉树b的叶子结点个数。2编写一程序,实现二叉树的先序遍历、中序遍历和后序遍历的各种递归和非递归算法,以及层次遍历的算法。三、实验预习内容二叉树存储结构,二叉树基本运算(创建二叉树、寻找结点、找孩子结点、求高度、输出二叉树)三、实验结果与分析 7-1#include malloc.h#define MaxSize 100typedef char ElemType;typedef struct node ElemType data; struct node *lchild; struct node *rchild; BTNode;void CreateBTNode(BTNode *&b

2、,char *str) BTNode *StMaxSize,*p=NULL; int top=-1,k,j=0; char ch; b=NULL; ch=strj; while (ch!=0) switch(ch) case (:top+;Sttop=p;k=1; break;)top-;break;,k=2; default:p=(BTNode *)malloc(sizeof(BTNode); p-data=ch;p-lchild=p-rchild=NULL; if (b=NULL) b=p; else switch(k) case 1:Sttop-lchild=p; case 2:rchi

3、ld=p; j+; ch=strj; BTNode *FindNode(BTNode *b,ElemType x) BTNode *p; if (b=NULL) return NULL; else if (b-data=x) return b; else p=FindNode(b-lchild,x); if (p!=NULL) return p; else return FindNode(b-rchild,x);BTNode *LchildNode(BTNode *p) return p-lchild;BTNode *RchildNode(BTNode *p)rchild;int BTNode

4、Depth(BTNode *b) int lchilddep,rchilddep; if (b=NULL) return(0); lchilddep=BTNodeDepth(b-lchild); rchilddep=BTNodeDepth(b-rchild); return (lchilddeprchilddep)? (lchilddep+1):(rchilddep+1);void DispBTNode(BTNode *b) if (b!=NULL) printf(%c,b-data); if (b-lchild!=NULL | b-rchild! printf(); DispBTNode(b

5、- if (b-=NULL) printf(,)int BTWidth(BTNode *b) struct int lno; BTNode *p; QuMaxSize; int front,rear; int lnum,max,i,n; front=rear=0; rear+; Qurear.p=b; Qurear.lno=1; while (rear!=front) front+; b=Qufront.p; lnum=Qufront.lno;=NULL) rear+; Qurear.p=b- Qurear.lno=lnum+1; max=0;lnum=1;i=1; while (i=rear

6、) n=0; while (imax) max=n; return max; return 0;int Nodes(BTNode *b) int num1,num2; if (b=NULL) lchild=NULL & b-rchild=NULL) return 1; num1=Nodes(b- num2=Nodes(b- return (num1+num2+1);int LeafNodes(BTNode *b) num1=LeafNodes(b- num2=LeafNodes(b- return (num1+num2);void main() BTNode *b,*p,*lp,*rp; Cr

7、eateBTNode(b,A(B(D,E(H(J,K(L,M(,N),C(F,G(,I) printf(输出二叉树:DispBTNode(b);printf(nH结点: p=FindNode(b, if (p! lp=LchildNode(p); if (lp!左孩子为%c ,lp- else无左孩子 rp=RchildNode(p); if (rp!右孩子为%c,rp-无右孩子 二叉树b的深度:%dn,BTNodeDepth(b);二叉树b的宽度:,BTWidth(b);二叉树b的结点个数:,Nodes(b);二叉树b的叶子结点个数:,LeafNodes(b);7-2void PreOrde

8、r(BTNode *b)%c PreOrder(b-void PreOrder1(BTNode *b) BTNode *StMaxSize,*p; int top=-1; top+; Sttop=b; while (top-1) p=Sttop; top-;,p- if (p- Sttop=p-void InOrder(BTNode *b) InOrder(b-void InOrder1(BTNode *b) p=b; while (top-1 | p! while (p! top+; Sttop=p; p=p- if (top-1) p=Sttop; top-; printf(void Po

9、stOrder(BTNode *b) PostOrder(b-void PostOrder1(BTNode *b) BTNode *StMaxSize; int flag,top=-1; do while (b! Sttop=b; b=b- p=NULL; flag=1; while (top!=-1 & flag) b=Sttop; if (b-rchild=p) printf( top-; p=b; else b=b- flag=0; while (top!=-1); void LevelOrder(BTNode *b) BTNode *p; BTNode *quMaxSize; front=rear=-1; rear+; qurear=b; while (front!=rear) front=(front+1)%MaxSize; p=qufront; if (p- rear=(rear+1)%MaxSize; qurear=p- BTNode *b;二叉树b:先序遍历序列:递归算法:PreOrder(b);非递归算法:PreOrder1(b);中序遍历序列:InOrder(b);InOrder1(b);后序遍历序列:PostOrder(b);PostOrder1(b);层次遍历序列:LevelOrder(b);注:空间不够,可以增加页码。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1