目录

哈夫曼树定义:

构造哈夫曼树:

 哈夫曼编码

前缀编码:

 应用(压缩文本)


哈夫曼树定义:

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_算法

构造哈夫曼树:

 

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_子树_02

 

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_子树_03

 

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_算法_04

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_哈夫曼编码_05

 哈夫曼编码

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_结点_06

前缀编码:

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_哈夫曼编码_07

哈夫曼编码是前缀编码

哈夫曼树的性质

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_结点_08

哈夫曼树的任意非叶结点的左右子树交换后仍是哈夫曼树 

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_结点_09

 

 应用(压缩文本)

如果用000,001.,...111,表示字母A-H

有一串文本只含A-H,频率出现如下图

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_子树_10

如果把出现次数当做叶子节点的权值构造哈夫曼树:

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_哈夫曼编码_11

把字母的哈夫曼编码作为字母的编码

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_结点_12

可以节约%10的内存空间

 

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)_算法_13