厦门理工c语言数据结构实验6

厦门理工c语言数据结构实验6

ID:41980078

大小:102.92 KB

页数:11页

时间:2019-09-05

厦门理工c语言数据结构实验6_第1页
厦门理工c语言数据结构实验6_第2页
厦门理工c语言数据结构实验6_第3页
厦门理工c语言数据结构实验6_第4页
厦门理工c语言数据结构实验6_第5页
资源描述:

《厦门理工c语言数据结构实验6》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《数据结构》实验报告实验序号:6实验项目名称:树和二叉树的操作学号姓名专业、班实验地点指导教师实验时间一、实验目的及要求1、进一步掌握指针变量、动态变量的含义。2、掌握二叉树的结构特征,以及各种存储结构的特点及适用范围。3、掌握用指针类型描述、访问和处理二叉树的运算。4、掌握用二叉树前序、中序、后序、层次遍历的方法。二、实验设备(环境)及耍求微型计算机;windows操作系统;MicrosoftVisualStudio6.0集成开发环境。三、实验内容与步骤1.根据P129的方法,将a*b-((c+

2、d*e/f)+g)转化为表达式二叉树(绘图),并写出表达式二叉树的前序、中序和后序遍历顺序。2.链式表表示和实现二叉树如下:#include#include#definemax50typedefstructliuyu{intdata;struct1iuyu*lchiId,*rchiId;}test;1iuyu*root,*p,*q[max];intsum=0;intm=sizeof(test);voidinsertdata(intx)/*生成二叉排序树*/1i

3、uyu*p,*q,*s;s=(test*)nKilloc(in);s->data=x;s->lchild=NULL;s->rchild=NULL;if(!root){root二s;}p=root;while(p)/*如何接入二叉排序树的适当位置*/{q=p;if(p->data==x){printf(z/dataalreadyexist!〃);return;}elseif(xdata)p=p->lchild;elsep=p->rchild;}if(xdata)q->lch订d二

4、s;elseq->rchild=s;}voidmainO/*先生成二叉排序树*/{inti,x;i=l;root=NULL;/*千万别忘了赋初值给root!*/do{printfC'pleaseinputdata%d:/z,i);i++;scanf(〃%d〃,&x);/*从键盘采集数据,以-9999表示输入结束*/if(x==-9999){printf(z/Nowoutputdatavalue:/z);}elseinsertdata(x);/*调用插入数据元素的函数*/while(x!二-

5、9999);}改写以上程序,实现功能如下(任选两题):1・编写函数实现前序、屮序和后序遍历。运行结果截图:c'L:UocuMentsandbettmgscczutwebugiext;请输人数据.-9999表示喻入结束pleasepleasepleasepleasepleasepleaseinputdata1:5inputdata2:6inputdata3:7inputdata4:8inputdata5:9inputdata6:—9999Nowoutputdatavalue:DLR56789

6、LDR56789rLRD98765Pressanykeytocontinue2.编写函数实现计算叶节点个数。运行结果截图:*C:Docu>entsandSettingscc207桌面'新建文彳I请输入数据「9999表示输入结東pleasepleasepleasepleasepleasepleasepleasepleaseinputinputinputinputinputinputinputinputdata1:5data2:654data3:55data4:225data5:22data6:

7、11data7:1data8:-9999Nowoutputdataualue:叶节点个数=3Pressanykeytocontinue四、分析与讨论对上机实践结果进行分析,上机的心得体会。五、教师评语签名:日期:成绩附源程序清单:1.#include#includetypedefintTElemType;typedefstructBiTNode{TElemTypedata;structBiTNode*lchild,*rchild;)BiNode,*Bitree

8、;DLR(Bitreeroot){讦(root!=NULL){〃非空二叉树printfC%d”,root・>data);//访问DDLR(root->lchild);〃递归遍历左子树DLR(root->rchild);〃递归遍历右子树}retum(O);}LDR(Bitreeroot){if(root匸NULL){LDR(root->lchild);printf(”%d”,root・>data);LDR(root->rchild);}return(O);}LRD(Bitreeroo

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

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

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