二叉树实验报告要点.doc
文本预览下载声明
嘉应学院 计算机学院
实 验 报 告
课程名称 数据结构 实验名称 二叉树 实验地点 锡科405 指导老师 巫喜红 实验时间 第9-11周 提交时间 第 11 周 班 级 1303班 姓 名 魏振辉 学 号 131110108
一、实验目的和要求
编写程序algo7-1.cpp实现二叉树的各种运算;exp7-2实现二叉树的先序遍历、中序遍历和后续遍历的各种递归和非递归算法以及层次遍历的算法;exp7-3输出叶子节点到根节点的路径和长度,并求出最长长度;exp7-4用括号表示法和凹入表示法输出该二叉树。并在此基础上设计一个exp7-1完成主函数菜单功能。 二、实验环境、内容和方法
(1)输出二叉树;
(2)输出二叉树某节点的左右孩子的值;
(3)输出二叉树的深度;
(4)输出二叉树的宽度;
(5)输出二叉树节点个数;
(6)输出二叉树叶子节点个数;
(7)先序、中序、后序比遍历的递归和非递归算法,以及层次遍历的算法;
(8)输出所有从叶子节点到根节点的路径;
(9)输出(8)中的第一条最长的路径;
(10)用括号表示法和凹入表示法输出二叉树;
(11)释放二叉树。
实验环境:Windows xp Visual C++6.0
三、实验过程描述
(详见本文件夹)
四、结果分析
该实验的运行结果如下:
(该程序已自动初始化二叉树,使用二级菜单对选项进行二次分类选择)
1、查询二叉树的基本信息,输出二叉树;
输出二叉树中某节点的左、右孩子,若输入的字母不在二叉树中则输出错误提示;
输出二叉树的深度;
输出二叉树的宽度;
输出二叉树的节点个数;
输出二叉树的叶子节点个数;
退出二级菜单,返回上级菜单;
2、输出二叉树的各种遍历的递归和非递归的结果;
先输出二叉树,在先序遍历输出二叉树;
中序及后序遍历输出二叉树;
返回上级菜单;
3、查询二叉树中从根节点到叶子节点的逆路径;
输出二叉树及其所有叶子节点个数;
分别输出该二叉树所有叶子节点到根节点的粒径;
输出上面操作结果的最长路径并把第一条最长路径输出;
返回上级菜单;
4、用遍历构造二叉树;
用括号表示法输出;
用凹入表示法输出;
返回上级菜单;
5、释放该二叉树;
6、退出该操作指令。
五、实验总结
1)善于使用封装的方法可以使程序更简单明了;
2)记得随时清楚缓存区,以防影响后面的操作,对运行结果造成影响或者输出错误的结果;
3))本次试验使我对二叉树的知识有了更深的认识,也能更好的应用二叉树的各种功能,同时也对递归算法有了更深的了解。
显示全部