合肥工业大学 人工智能与数据挖掘研究室
实验三 二叉树实验——实验目的
实验目的和任务
1、目的
(1)掌握二叉树的动态链表存储结构及表示。
(2)掌握二叉树的三种遍历算法(递归和非递归两类)。
(3)运用二叉树三种遍历的方法求解有关问题。
合肥工业大学 人工智能与数据挖掘研究室
实验三 二叉树实验——实验任务
2、实验任务
说明1:为使实验程序简洁直观,下面的部分实验程序中
的一些功能实现仍以调用库函数程序"btrechar.h"中的函
数的形式给出,并假设该库函数中定义了二叉树指针和结
点类型分别为bitre和bno de ,以及部分常用运算,例如构
建二叉树、以某种方式显示二叉树等。各运算的名称较为
直观,因而易于理解。读者可自行设计自己的库函数,也
可到作者的网站下载。
说明2:为便于数据的描述,将测试数据结构列出,并以
一个文件名的形式给出标注,例如测试数据名为full41.cbt
的二叉树,其具体结构形式参见二叉树列表中的标有
full41.cbt的二叉树。
合肥工业大学 人工智能与数据挖掘研究室
实验三 二叉树实验——实验任务续1
编写算法实现下列问题的求解。
<1>求二叉树的高度。
实验测试数据基本要求:
第一组数据: full41.cbt
第二组数据: cbitre.cbt
<2>设计算法按中序次序输出二叉树中各结点的值及
其所对应的层次数。
实验测试数据基本要求:
第一组数据: full41.cbt
第二组数据: cbitre.cbt
合肥工业大学 人工智能与数据挖掘研究室
实验三 二叉树实验——实验任务续2
编写算法实现下列问题的求解。
<3>将按顺序方式存储在数组中的
二叉树转换为二叉链表形式。
实验测试数据基本要求:
第一组数据: full41.cbt
第二组数据: letter.cbt
<4>复制一棵二叉树T到T1。