上次老师布置了作业,根据二元编码写三元的,我在网上下了一个然后把三元的也弄出来了,今天想把结果放到这里,希望对大家有用。
霍夫曼编码方法(最佳编码方法) 的算法
(1) 将信源消息符号按其出现的概率大小依次排列
(2) 取两个概率最小的字母分别配以0和1两个码元,并将两个概率相加作为一个新字母的概率,与未分配的二进符号的字母重新排队
(3) 对重排后的两个概率最小符号重复步骤(2)的过程
(4) 不断继续上述过程,直到最后两个符号配以0和1为止
(5) 从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字
1. 合并概率后,不考虑相同概率的摆放顺序的算法
二元码的源代码
function [h,l]=huffman(p) %h每个符号概率的码字,l为输出码字的平均码长
if (length(find(p<0))~=0)