
哈夫曼树的建立与操作.doc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 文币 0人已下载
下载 | 加入VIP,免费下载 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼树的建立与操作.doc
- 资源描述:
-
1、实验六 哈夫曼树的建立与操作一、实验要求和实验内容1、输入哈夫曼树叶子结点(信息和权值)2、由叶子结点生成哈夫曼树内部结点3、生成叶子结点的哈夫曼编码4、显示哈夫曼树结点顺序表二、实验要点:根据哈夫曼算法,建立哈夫曼树时,可以将哈夫曼树定义为一个结构型的一维数组 HuffTree,保存哈夫曼树中各结点的信息,每个结点包括:权值、左孩子、右孩子、双亲,如图 5-4 所示。由于哈夫曼树中共有 2n-1 个结点,并且进行 n-1 次合并操作,所以该数组的长度为 2n-1。构造哈夫曼树的伪代码如下:在哈夫曼树中,设左分支为 0,右分支为 1,从根结点出发,遍历整棵哈夫曼树,求得各个叶子结点所表示字符的
2、哈夫曼编码。三、.函数的功能说明及算法思路BTreeNode* CreateHuffman(ElemType a,int n)/构造哈夫曼树1.对给定 n 个权值a1,a2,an 的叶子结点,构成具有 n 棵二叉树的森林F=T1,T2,Tn, 其中每棵二叉树 Ti 只有一个权值为 ai 的根结点,其左右子树为空。2.在 F 中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且新的二叉树的根结点的权值为其左右子树上根结点的权值之和。3.从 F 中删除构成新树的两棵树,并把新树加入到 F 中。4.重复 2、3 两步,直到 F 只有一棵树为止。则 F 中的树就是哈夫曼树。void Pri
