实验五 二叉树的操作

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五二叉树的操作

一、实验目的

1.掌握二叉树的结构特征,以及各种存储结构的特点及适用范围;

2.掌握用指针类型描述、访问和处理二叉树的运算;

3.进一步掌握指针变量、动态变量的含义。

二、实验原理

由于树的定义是递归的,对树的处理原则上也应该是用递归的方式。二叉树是一种非常重要的类型。针对二叉树的操作主要有三种遍历(先序遍历、中序遍历、后序遍历),遍历二叉树是二叉树中各运算的基础。

三、实验内容(1必做,2选作)

1.将下图中的二叉树用二叉链表表示:

(1)用三种遍历算法遍历该二叉树,给出对应的输出结果;

(2)写一个函数对二叉树搜索,若给出一个结点,根据其是否属于该树,输出true 或者false。

2.哈夫曼编码的生成

当哈夫曼树生成后,对由根节点到各叶结点(对应于待编码的符号)的路径作0-1 编码就得到相应的哈夫曼编码。任何一棵满二叉树(a full binary tree)都可以看作是一棵哈夫曼树。

所以本题要求:造一棵满二叉树,根据这棵二叉树生成相应的哈夫曼编码。

四、实验步骤(1为例)

1.定义二叉树的结点类型及二叉树类型

2.递归方式建立二叉树(算法参见课本)

3.三种方式遍历二叉树(算法参见课本)

五、实验提交资料

1.算法思想描述(或源代码)

2.测试结果与分析

3.收获与体会

要求:将以上资料收集齐后,撰写实验报告。

相关文档
最新文档