实验五 二叉树的操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.收获与体会
要求:将以上资料收集齐后,撰写实验报告。