中国科大高分哈夫曼树实验报告:Huffman编码和译码

网安智编 厦门萤点网络科技 2025-08-30 00:07 86 0
数据结构 实验报告 中国科大 高分 哈夫曼树实验报告 2011.4.22 实验题目: 编码和译码。 实验目的:1、练习树和哈夫曼树的有关操作,和各个算法程序。 2、理解哈夫曼树的编码和译码 实验内容: 一、 抽象数据类型: ADT { 数据...

数据结构 实验报告 中国科大 高分

哈夫曼树实验报告

2011.4.22

实验题目: 编码和译码。

实验目的:1、练习树和哈夫曼树的有关操作,和各个算法程序。

2、理解哈夫曼树的编码和译码

实验内容:

一、 抽象数据类型:

ADT {

数据对象 : D={带有各自实数W(D)的数据元素}

数据关系:(1) D=NULL 则 tree 不存在

//判断树是否存在

(2) D≠NULL R={H}.H为如下二元关系:

Huffman编码实验报告 中国科大 Huffman树数据结构实验_哈夫曼树与哈夫曼编码

//如果存在,假设R为其元素名称,H为里边所有元素①D中存在唯一根数据元素root,这个元素无前驱。

//如果只有一个元素,则为根元素②D-{root} ≠NULL.则存在D-{root} ={D1,Dr}.且D1∧Dr=NULL

//如果除了根元素还有别的元素,那么会有D1和Dr两部分,并且两者的交集为空,也就是两者是独立的。③若D1 ≠NULL,则D1 中存在唯一元素xr,∈H

//如果D1部位空集,则会有一个元素xr,且存在Dr上关系Hr ∈H,H= {,< root, xr>,H1,Hr};④符合① ② ③的R的组合中,存在一个组合R’使D中所有结点到root长与其权值W(Di)相乘的和最小,此时的集合称为 tree.

基本操作:

void ( HT,int m,int *s1,int *s2)

//比较得到权最小的两棵树。用指针指向所在位置。

*void (char *HC)

//将哈弗曼编码逐个打印出来

void ( HT)

//将哈夫曼树前后的结构打印出来

void ( HT, w)//建立哈夫曼树