Изменения

Перейти к: навигация, поиск

Алгоритм Хаффмана для n ичной системы счисления

167 байт добавлено, 02:03, 4 января 2014
Построение кода Хаффмана
<math>\mathrm{n}</math> = |<math>\mathrm{C}</math>|
<math>\mathrm{Q}</math> = <math>\mathrm{C}</math>
'''for ''' <math>\mathrm{i}</math> = 1 '''to ''' <math>\mathrm{n}</math> - 1 '''do ''' Выделить память для узла <math>\mathrm{z}</math> <math>\mathrm{x}</math> = Extract_Min(<math>\mathrm{Q}</math>) //Extract_Min - изъятие из множества наименьшего элемента
left[<math>\mathrm{z}</math>] = <math>\mathrm{x}</math>
<math>\mathrm{y}</math> = Extract_Min(<math>\mathrm{Q}</math>)
<math>\mathrm{f[z]}</math> = <math>\mathrm{f[x]}</math> + <math>\mathrm{f[y]}</math>
INSERT(<math>\mathrm{Q}</math>, <math>\mathrm{z}</math>)
'''return ''' Extract_Min(<math>\mathrm{Q}</math>) //Возврат корня дерева
Алгоритм работает за <tex> {O(n\log{n}}) </tex> для алфавита из <math>\mathrm{n}</math> символов.
Анонимный участник

Навигация