f_build_tree.m

来自「audio compression matlab code」· M 代码 · 共 19 行

M
19
字号
function A = f_construieste_arbore(P,X);
% creaza un arbore huffman prin simulare
% foloseste structura "cell"
% P este vectorul probabilitatilor 
% A este arborele Huffman
% ultima modificare 25/11/2004

A=cell(length(P),1);			        % Genereaza structura cell
for i=1:length(P), A{i}=i; end;         % initializare 
D=length(X);
while length(A)-D,			            % Repeta pana la obtinerea a D ramificatii;
	[P,I]=sort(P);			            % ordoneaza in sens crescator probabilitatile;
	A = A(I);				            % reordoneaza si simbolurile;
    for i = 1:D-1, A{D}={A{D},A{i}}; end;   % uneste primele D simboluri si sterge ultimul;
	P(D)= sum(P(1:D));                  % calculeaza prob. simbulului compus;
    A(1)=[];                            % elimina primul element;
    P(1)=[];	    
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?