资源简介

用matlab来实现r元的霍夫曼编码,元数r任意输入,概率个数任意输入。霍夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。

资源截图

代码片段和文件信息

clc
clear all
p=[0.14 0.36 0.13 0.12 0.10 0.09 0.04 0.02];
r=4;
% N = input(‘输入信源符号的个数 N = ‘);
% p = input(‘信源符号概率 P = ‘);
% s1 = sum(p(1:N));
% if (s1<=0.99999999||s1>=1.00000001)
% error
% end
% r = input(‘输入元数 r = ‘);
p=fliplr(sort(p));
n1=length(p);
s=ceil((n1-r)/(r-1));
m=(r-1)*s+r-n1;
p=[pzeros(1m)];
n=length(p);
q=p;
for i = 1:s+2
    [ql]=sort(q);
    a(:i)=[l(1:n-(r-1)*(i-1))zeros(1(r-1)*(i-1))];
    q=[sum(q(1:r))q(r+1:n)ones(1r-1)];
end
for i = 1:n
     c(:i)=blanks(n*n);
end
for i = 1:s+1
    

评论

共有 条评论