Имеется псевдокод, поставлена задача - написать на его основе программу на паскале. кто нибудь может помочь?
Построение оптимального кода Хаффмана (n,P)
Обозначим
n – количество символов исходного алфавита
P – массив вероятностей, упорядоченных по убыванию
C – матрица элементарных кодов
L – массив длин кодовых слов
Huffman (n,P)
IF (n=2) C [1,1]:= 0, L [1]:= 1
C [2,1]:=1, L [2]:=1
ELSE q:= P [n-1]+P [n]
j:= Up (n,q) (поиск и вставка суммы)
Huffman (n-1,P)
Down (n,j) (достраивание кодов)
FI
Функция Up (n,q) находит в массиве P место, куда вставить число q, и вставляет его, сдвигая вниз остальные элементы.
DO (i=n-1, n-2,…,2)
IF (P [i-1]≤q) P :=P [i-1]
ELSE j:=i
OD
FI
OD
P [j]:= q
Процедура Down (n,j) формирует кодовые слова.
S:= C [j,*] (запоминание j-той строки матрицы элем. кодов в массив S)
L:= L[j]
DO (i=j,…,n-2)
C [i,*]:= C[i+1,*] (сдвиг вверх строк матрицы С)
L :=L [i+1]
OD
C [n-1,*]:= S, C [n,*]:= S (восстановление префикса кодовых слов из м-ва S)
C [n-1,L+1]:=0
C [n,L+1]:=1
L [n-1]:=L+1
L [n]:=L+1
Как написать программку по псевдокоду?
Этот псевдокод нуждается в доработке. Например, что означает
?L [n-1]:=L+1
L [n]:=L+1
It's a long way to the top if you wanna rock'n'roll