1 / 11
文档名称:

数据结构——树和森林实验报告.doc

格式:doc   大小:117KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构——树和森林实验报告.doc

上传人:tswng35 2021/12/20 文件大小:117 KB

下载得到文件列表

数据结构——树和森林实验报告.doc

文档介绍

文档介绍:. .
-优选
树和森林应用实验
实验报告
实验目的
(1)掌握树和森林的二叉链表表示方法。
(2)掌握树和二叉树的构造及算法之间的对应关系。
(3)掌握树的两种遍历算法及其应用。
实验运行环境
Visual C++
实验任务
为使实验程序简洁直观,下面的局部实验程序中的一些功能实现仍以调用库函数程序""中的函数的形式给出,并假设该库函数中定义了树指针和结点类型分别为tree和tnode,以及局部常用运算,例如构建树〔森林〕、以某种方式显示树和森林等。各运算的名称较为直观,因而易于理解。读者可自行设计自己的库函数,也可到作者的下载。
说明2:为便于数据的描述,和前面的实验一样,将测试数据构造列出,并以一个文件名的形式给出标注,,。
实验容
第一题:
<1>将一棵树〔或森林〕转换为二叉树。
实验测试数据根本要求:
第一组数据:
第二组数据:
实验准备:
用广义表来表示树的数据,保存到文件中,通过文件流来读入数据,并根据读入的数据来创立树
第二题:
<2>求森林的高度。
实验测试数据根本要求:
第一组数据:
. .
-优选
第二组数据:
第一组数据:
第二组数据:
实验准备:
遍历每一棵树,寻找高度的最大值。可以设立一个私有成员来记录数的高度。
第三题:
<3>按层次方式遍历森林。
实验测试数据根本要求:
第一组数据:
第二组数据:
实验准备:
先第一层结点,并将它放入队列中,并反复从队列中取结点,其孩子结点,直至到叶子结点。
第四题:
<4>输出一个森林中每个结点的值及其对应的层次数。
实验测试数据根本要求:
第一组数据:
第二组数据:
实验准备:
使用递归函数来森林,同时输出层次数及结点值,使用形参来传递当前层次数
第五题:
<5>输出一个森林的广义表形式,如下列图中的森林的输出为:
(a(b(c,d,e,f),g(h,i,j),k(l,m,n)),o(p(q)),r(s(t(u)),v(w(x,y,z))))
实验测试数据根本要求:
第一组数据:
第二组数据:
. .
-优选
实验准备:
使用递归函数调用,假设当前节点有左孩子,那么先输出 ‘(’再下一节点,假设当前节点的右指针不为空,那么先输出‘,’再下一结点。
实验测试数据
实验程序
. .
-优选
#include <iostream>
using namespace std;
typedef char ElemType;
#define MAX 200
typedef struct CSNode