构造哈夫曼树:以数据集(3,4,5,8,11,18,20,30)为结点,构造一棵哈夫曼数,并求其带权路径长度.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/20 11:14:01
![构造哈夫曼树:以数据集(3,4,5,8,11,18,20,30)为结点,构造一棵哈夫曼数,并求其带权路径长度.](/uploads/image/z/10449995-59-5.jpg?t=%E6%9E%84%E9%80%A0%E5%93%88%E5%A4%AB%E6%9B%BC%E6%A0%91%EF%BC%9A%E4%BB%A5%E6%95%B0%E6%8D%AE%E9%9B%86%EF%BC%883%2C4%2C5%2C8%2C11%2C18%2C20%2C30%EF%BC%89%E4%B8%BA%E7%BB%93%E7%82%B9%2C%E6%9E%84%E9%80%A0%E4%B8%80%E6%A3%B5%E5%93%88%E5%A4%AB%E6%9B%BC%E6%95%B0%2C%E5%B9%B6%E6%B1%82%E5%85%B6%E5%B8%A6%E6%9D%83%E8%B7%AF%E5%BE%84%E9%95%BF%E5%BA%A6.)
xS]n@`{1~@/pƘF6@j6ns~
{-џֲoۙqZXoûdZTQ҂Lywzga
GC~ojf
O
~4lfg/.U+mv_NKmFc
B7/K>aFځ{IÑVbL{|Dh
r9ߢW-q;gV.:qS'2m
DYMis߯ܺb*,'YFc"KA$20dw9%Q&4<=VM[=Yx!hM`ɦ!-~S2"~S@uRn앩ݦXrա%z4Ρ5>CJBo'&Tد=SÅsp7PP#k}i:Ķ=G"+KO+
Qo
构造哈夫曼树:以数据集(3,4,5,8,11,18,20,30)为结点,构造一棵哈夫曼数,并求其带权路径长度.
构造哈夫曼树:以数据集(3,4,5,8,11,18,20,30)为结点,构造一棵哈夫曼数,并求其带权路径长度.
构造哈夫曼树:以数据集(3,4,5,8,11,18,20,30)为结点,构造一棵哈夫曼数,并求其带权路径长度.
构建哈夫曼树的步骤:
1,选取结点(node)中最小的两个,相加,构成一个新结点
2,重复第一步,直至所有结点都在同一个树型里面.
所以,大概构成后就是这样
.81
.0/ \1
./ \
.31 50
.0/ \1 0/\1
./ \ / \
.18 13 20 30
.0/ \1 0/ \1
./ \ / \
.7 11 5 8
.0/ \1
./ \
.3 4
从最下面向上读,node3和node4是初始数据里面最小的两个,
它们组成一个新结点7,
然后再重复相同的步骤,在新数据里面,7和11是最小,他们组成18,
原始数据里面的18可以消去.
重复步骤直至所有结点在同一个树型里面
现在看看
3的哈夫曼编码就是0000,而数字最大的30编码就是11