关于哈夫曼树数组存储结构,哈夫曼树的构造方法这个很多人还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!
1、哈夫曼树构造方法:假设有n个权值,则构造出的哈夫曼树有n个叶子结点。
2、 n个权值分别设为 ww2、…、wn,则哈夫曼树的构造规则为:(1) 将ww2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;(3)从森林中删除选取的两棵树,并将新树加入森林;(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。
3、 简单的说,就是选择两个权值最小的节点,构造一棵树,树的根权值是两个权值最小的节点之和,将新的权值节点放回序列,继续按照上述方法构造,直到只有一棵树为止,这样的树其WPL最小。
4、追答:这个跟最下层有几个节点没有关系。
5、比如,有4个权重 1 2 4 5的节点,其构造树的方法,便是先选择两个权重最小的结点构造树,这里是1 和2,新的树权重为3 3 / 1 2序列变为 4 5 3再选择两个最小权重节点 4 和 3,构造树 7 / 3 4/ 1 2序列变为 5 7,选择 4 和7构造树 12 / 5 7 / 3 4 / 1 2。
本文到此分享完毕,希望对大家有所帮助。