数据结构实验报告二二叉树实验
- 格式:doc
- 大小:5.01 MB
- 文档页数:4
第 1 页 共 4 页 实验报告
课程名称:数据结构
实验编号
及实验名称 实验二:二叉树实验 系 别
姓 名 学 号 班 级
实验地点 实验日期 实验时数
指导教师 同组其他成员 成 绩
一、实验目的及要求
在二叉链存储结构下,设计二叉树结点类,并在此基础上设计二叉树类,再通过调用二叉树类的成员函数,构造并遍历二叉树、完成指定应用。从而充分理解二叉树的二叉链存储结构,掌握在这种存储结构下二叉树的构造及各种基本操作、应用的实现。
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)
1.使用软件:JDK,Eclipse
2.实验设备:装有Windows 7的个人计算机
三、实验内容及步骤(包含简要的实验步骤流程)
采用二叉树的二叉链存储结构,完成如下功能:
(1)编写一个Java程序,设计并实现二叉树的结点类。
(2)编写一个Java程序,在二叉树的结点类的基础上,设计并实现二叉树类, 其中包含由二叉树的括号表示串创建二叉链表的算法,先根遍历递归算法、中根遍历递归算法、后根遍历递归算法算法,层序遍历算法,由后根遍历序列和中根遍历序列建立二叉树的算法,统计二叉树中结点个数算法,求二叉树深度算法。
(3)在纸上画一棵含有不少于10个结点的二叉树,要求二叉树中包含只有左孩子结点的结点、只有右孩子结点的结点、既有左孩子结点又有右孩子结点的结点。并对此二叉树进行先根、中根、后根、层序遍历,写下各种遍历序列。
(4)编写主程序,输入(3)中二叉树的括号表示字符串,并由此建立这棵二叉树的二叉链表bt1。
(5)在主程序中调用各种(先根、中根、后根、层次)遍历算法输出bt1的各种遍历序列,与(3)中写下的各遍历序列对照看是否正确;输出bt1的结点个数和深度并检查正确性。
(6)在主程序中根据(5)中得到的中根、后根遍历序列串,调用由后根遍历序列和中根遍历序列建立二叉树的算法,建立二叉链表bt2。
(7)输出bt2的先根、层次遍历序列、结点个数及二叉树的深度,并与bt1进行比较。
(8)多次运行程序,对不同的二叉树验证程序的运行结果。
第 2 页 共 4 页 四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)
第 3 页 共 4 页 五、实验总结(包括心得体会、问题回答及实验改进意见,可附页)
这次实验主要是建立二叉树,和二叉树的先序、中序、后续遍历算法。通过这次实验,我巩固了二叉树这部分知识,从中体会理论知识的重要性。在做实验之前,要充分的理解本次实验的理论依据,这样才能达到事半功倍的效果。如果在没有真正理解实验原理之盲目的开始实验,只会浪费时间和精力。例如进行二叉树的遍历的时候,要先理解各种遍历的特点。先序遍历是先遍历根节点,再依次先序遍历左右子树。中序遍历是先中序遍历左子树,再访问根节点,最后中序遍历右子树。而后序遍历则是先依次后续遍历左右子树,再访问根节点。掌握了这些,在实验中我们就可以融会贯通,举一反三。其次要根据不光要懂得代码的原理,还要对题目有深刻的了解,要明白二叉树的画法,在纸上先进行自我演练,对照代码验证自己写的正确性。
第 4 页 共 4 页 六、教师评语
1. 完成所有规定的实验内容,实验步骤正确,结果正确;
2. 完成绝大部份规定的实验内容,实验步骤正确,结果正确;
3. 完成绝大部份规定的实验内容,实验步骤基本正确,结果基本正确;
4. 基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确;
5. 未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。
评定等级为:
教师签名: