《数据结构》实验报告(普本)-(2)1.doc

上传人:热心****k 文档编号:65740124 上传时间:2022-12-07 格式:DOC 页数:6 大小:97KB
返回 下载 相关 举报
《数据结构》实验报告(普本)-(2)1.doc_第1页
第1页 / 共6页
《数据结构》实验报告(普本)-(2)1.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《《数据结构》实验报告(普本)-(2)1.doc》由会员分享,可在线阅读,更多相关《《数据结构》实验报告(普本)-(2)1.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验三课程名称:数据结构班级:完成日期:姓名:学号:指导教师:实验名称:二叉树的应用实验序号:实验成绩:一、实验目的及要求掌握二叉树的动态存储结构-二叉链表,掌握二叉树的三种遍历方法,会运用三种遍历的方法求解有关问题。二、实验环境硬件:计算机 软件:Microsoft Visual C+三、实验内容1. 以二叉链表作存储结构,建立一棵二叉树;2. 输出其先序、中序、后序遍历序列;3. 统计其叶子结点数;4. 求出它的深度。四、调试过程及实验结果五、总结通过本次试验,我了解了二叉树的建立与运行过程,在这次试验中也遇到不少困难,经过老师和同学的指导,最终完成本次试验,受益匪浅。六、附录(源程序清单

2、)#include using namespace std;/定义树的结构typedef struct _binTree char data;_binTree *lNode,*rNode;binTree;/创建二叉树void createT(binTree *&rootNode,binTree *tempNode)if(rootNode=NULL)rootNode=tempNode;return;elseif(rootNode-data tempNode-data)createT(rootNode-lNode,tempNode);else if(rootNode-data data)creat

3、eT(rootNode-rNode,tempNode);/已创建的数void printT(binTree *rootNode)if(rootNode=NULL)return ;elseprintT(rootNode-lNode);coutdatarNode);/先序遍历二叉树void preTraverse(binTree *rootNode)if(rootNode=NULL)return ;elsecoutdatalNode);printT(rootNode-rNode);/中序遍历二叉树void midTraverse(binTree *rootNode)if(rootNode=NULL

4、)return ;elseprintT(rootNode-lNode);coutdatarNode);/后序遍历二叉树void lastTraverse(binTree *rootNode)if(rootNode=NULL)return ;elseprintT(rootNode-lNode);printT(rootNode-rNode);coutdatalNode)+nodeTotal(rootNode-rNode);/计算二叉树的深度int treeDepth(binTree *rootNode)if(rootNode=NULL)return -1;elseint lH=treeDepth(

5、rootNode-lNode);int rH=treeDepth(rootNode-rNode);if(lHrH)return lH+1;return rH+1;/计算叶子结点的个数int leafTotal(binTree *rootNode)if(rootNode=NULL)return 0;elseif(rootNode-lNode=NULL & rootNode-rNode=NULL)return 1;elseint lH=leafTotal(rootNode-lNode);int rH=leafTotal(rootNode-rNode);return rH+lH;int main()

6、binTree *rootNode,*tNode;rootNode=NULL;tNode=NULL;char ch;cout按照下面给出的顺序进行输入构建二叉树:endlF D B E A C J H K G I Lch;while(ch!=0)tNode=new binTree;tNode-data=ch;tNode-lNode=NULL;tNode-rNode=NULL;createT(rootNode,tNode);cinch;if(rootNode=NULL)coutTree is NULL.endl;elsecout正常输出二叉树的各节点数据:;printT(rootNode);coutendl;cout先序遍历二叉树的各节点数据:;preTraverse(rootNode);coutendl;cout中序遍历二叉树的各节点数据:;midTraverse(rootNode);coutendl;cout后序遍历二叉树的各节点数据:;lastTraverse(rootNode);coutendl;cout二叉树的深度为:treeDepth(rootNode)endl;cout二叉树的结点的个数为:nodeTotal(rootNode)endl;cout二叉树的叶子结点的个数为:leafTotal(rootNode)endl;return 0;6

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

当前位置:首页 > 教育专区 > 成人自考

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

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