2022年数据结构——二叉树基本算法实用 .pdf

上传人:H****o 文档编号:39684550 上传时间:2022-09-07 格式:PDF 页数:6 大小:257.66KB
返回 下载 相关 举报
2022年数据结构——二叉树基本算法实用 .pdf_第1页
第1页 / 共6页
2022年数据结构——二叉树基本算法实用 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年数据结构——二叉树基本算法实用 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构——二叉树基本算法实用 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第十九小组实验报告数据结构实验报告实验四二叉树存储结构的应用实验内容:二叉树各种算法的实现专业班级:网络工程专业1002 班组长:贾鑫(2010100234)组员:贾鹏飞(2010100237)邓桐桐(2010100229)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -第十九小组实验报告2012 年 4 月 27 日实验报告实验类型:综合实验室:软件实验室二一、实验名称二叉树存储结构的应用二、实验目的和要求:1.掌握二叉树的遍历思想及二叉树的存储实现。2.掌握二叉树的基本操作:建立二叉树、二叉树的遍历3.掌握二叉树的常见算法的程序实现4.实验报告中要写出测试数据、错误

2、分析以及收获三、实验内容1.编程实现建立一棵二叉树,然后对其进行先序、中序和后序遍历(按先序顺序输入二叉树,若当前位置不存在结点则输入#)2.求二叉树的高度、二叉树的叶子个数,实现左右结点交换 3.在主函数中设计一个简单的菜单,分别调试上述算法四、设计思路名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 6 页 -第十九小组实验报告五、代码实现#include#include#include#define NULL(void*)0)typedef struct TNode char data;struct TNode*lchild,*rchild;TNode,*Tree;Tree

3、Creat()/按 先 序 序 列 建 立 二 叉 树Tree T;char ch=getchar();if(ch=#)T=NULL;else T=(TNode*)malloc(sizeof(TNode);T-data=ch;T-lchild=Creat();T-rchild=Creat();return T;void First(Tree T)/先 序 遍 历 递 归 TNode*p=T;if(p!=NULL)printf(%c,p-data);First(p-lchild);First(p-rchild);void Middle(Tree T)/中 序 遍 历 递 归main()函数Cre

4、at()函数First()函数Middle()函数Last()函数Leaf()函数Depth()函数Change()函数贾鑫贾鹏飞邓桐桐名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 6 页 -第十九小组实验报告 TNode*p=T;if(p!=NULL)Middle(p-lchild);printf(%c,p-data);Middle(p-rchild);void Last(Tree T)/后 序 遍 历 递 归 TNode*p=T;if(p!=NULL)Last(p-lchild);Last(p-rchild);printf(%c,p-data);int Leaf(Tree

5、T)/叶 子 结 点 个 数TNode*p=T;if(p!=NULL)if(p-lchild=NULL)&(p-rchild=NULL)return 1;else return(Leaf(p-lchild)+Leaf(p-rchild);else return 0;int Depth(Tree T)/树 的 深 度TNode*p=T;int l,r;if(!p)return 0;else l=Depth(p-lchild);r=Depth(p-rchild);if(lr)return l+1;else return r+1;void Change(Tree T)/结 点 交 换TNode*p=

6、T;if(p!=NULL)p=T-lchild;T-lchild=T-rchild;T-rchild=p;Change(T-lchild);Change(T-rchild);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 6 页 -第十九小组实验报告 int main()Tree T;int t,i,l,d;printf(ttt*创 建 二 叉 树*n);printf(请 输 入 树 的 各 元 素,用#表 示 空 结 点:n);T=Creat();printf(ttt*二 叉 树 算 法*n);printf(ttt n);printf(ttt#1.先 序 遍 历#n);prin

7、tf(ttt#2.中 序 遍 历#n);printf(ttt#3.后 序 遍 历#n);printf(ttt#4.叶 子 个 数#n);printf(ttt#5.二 叉 树 深 度#n);printf(ttt#6.结 点 交 换#n);printf(ttt#0.退 出 程 序#n);printf(tttn);for(i=0;i+)printf(请 您 选 择(0-6):);scanf(%d,&t);if(t6)printf(输 入 出 错!请 重 输:n);else switch(t)case 1:printf(先序 遍 历:);First(T);printf(n);break;case 2:

8、printf(中序 遍 历:);Middle(T);printf(n);break;case 3:printf(后序 遍 历:);Last(T);printf(n);break;case 4:printf(叶子 结 点 个 数:);l=Leaf(T);printf(%d 个 n,l);break;case 5:printf(二叉 树 深 度:);d=Depth(T);printf(%dn,d);break;case 6:printf(各结 点 已 交 换);Change(T);printf(n,d);break;case 0:printf(tt*谢 谢 使 用,再 见!*n);return 0;break;六、实验 结 果名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 6 页 -第十九小组实验报告七、实验小结在我小组共同努力下,实现了二叉树的建立,各种遍历等算法。同时也掌握了二叉树遍历思想和二叉树的存储实现。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 6 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁