电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

哈夫曼树的构造

哈夫曼树的构造_第1页
1/8
哈夫曼树的构造_第2页
2/8
哈夫曼树的构造_第3页
3/8
哈夫曼树的构造 构造哈夫曼树的过程是这样的 一、构成初始集合 对给定的n 个权值{W1,W2,W3,...,Wi,...,Wn}构成 n 棵二叉树的初始集合 F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti 中只有一个权值为 Wi 的根结点,它的左右子树均为空。(为方便在计算机上实现算法,一般还要求以 Ti 的权值 Wi 的升序排列。) 二、选取左右子树 在 F 中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二叉树的根结点的权值为其左右子树的根结点的权值之和。 三、删除左右子树 从 F 中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合 F 中。 四、重复二和三两步, 重复二和三两步,直到集合 F 中只有一棵二叉树为止。 举个例子 有个序列是(7,9,2,6,32,3,21,10) 叫你求哈夫曼树 步骤一:把这些点都看成是一个只有根结点的树的集合 F 步骤二,选 2 个值最小的树 步骤三:在这些树的集合 F 中删除这2 棵树 然后把 构成一颗二叉树 变成了(5 = 2 + 3) 然后把这个树加入到集合 F 5代表这棵树的权值 然 后 继 续 上述步骤 肯定是选 5 和 6 把这 2 个构成二叉树 在 F 中删除 5 6 加入 11 这棵树 变成了 继 续 上述步骤 选7 和 9 在F 中删除 7 和9 加入 16 这棵树 变成了 继 续 上述步骤 选 10 和11 在F 中删除 10 和11 加入 21 这棵树 继 续 上述步骤 选16 和21 (有2 个21,随便选哪个) 我选那个只有一个根结点的 21 好了 16和21 构成二叉树 在 F 中删除这 16 和21 这两棵树 加入 37 这棵树 继 续 上述步骤 选21 和32 构成二叉树 在F 中删除21 和32 这2 两棵树 加入 53 这棵树 还是继续上面步骤 把F 中的两棵树合并成一棵树 完成了! 这个就是哈夫曼树

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

哈夫曼树的构造

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部