一.背景介绍:
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
二.实现步骤:
1.构造一棵哈夫曼树
2.根据创建好的哈夫曼树创建一张哈夫曼编码表
3.输入一串哈夫曼序列,输出原始字符
三.设计思想:
1.首先要构造一棵哈夫曼树,哈夫曼树的结点结构包括权值,双亲,左右孩子;假如由n个字符来构造一棵哈夫曼树,则共有结点2n-1个;在构造前,先初始化