编码过程:
赫夫曼编码就是利用了二叉树,赫夫曼树又称为带权路径最小的树。
根据a,b,d它们在文中出现的频率分别赋予权值1,2,4,将编码用赫夫曼树表示,具体方法如下:
①二叉树的集合F={a(1),b(2),d(4)}
②选择两棵权值最小的树a、b作为左右子树构造一棵新二叉树,且置新二叉树根的权值c(3)(为左右子树根权值之和)
③在F中删除这两棵树a,b并将新的二叉树c(3)加入F中
④???? 重复以上两步骤,直到F只含有一棵树为止
?
则构造出的二叉树如下:
这个二叉树的叶子节点即为a,b,d
将这个二叉树左路径置0,右路径置1,则得出
a 00
b 01
d 1
若输入abd,则压缩后的00011
?
赫夫曼编码就是利用了二叉树,赫夫曼树又称为带权路径最小的树。
根据a,b,d它们在文中出现的频率分别赋予权值1,2,4,将编码用赫夫曼树表示,具体方法如下:
①二叉树的集合F={a(1),b(2),d(4)}
②选择两棵权值最小的树a、b作为左右子树构造一棵新二叉树,且置新二叉树根的权值c(3)(为左右子树根权值之和)
③在F中删除这两棵树a,b并将新的二叉树c(3)加入F中
④???? 重复以上两步骤,直到F只含有一棵树为止
?
则构造出的二叉树如下:
这个二叉树的叶子节点即为a,b,d
将这个二叉树左路径置0,右路径置1,则得出
a 00
b 01
d 1
若输入abd,则压缩后的00011
?