КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритм Хаффмена
Пусть имеются распределения вероятностей p1 ≥ p2 ≥… ≥ pn (1) причем
Положим pj = р1,р2, …,рj, …, рn-2, рn-3 (2) Сложим последние две вероятности Пример. вероятности 11 12 13 14 15 16 17 18 19 0,25 0,25 0,25 0,25 0,25 0,25 0,290,460,64 0,15 0,15 0,15 0,15 0,220,24 0,25 0,29 0,46 0,12 0,12 0,120,14 0,15 0,22 0,24 025 0,11 0,11 0,12 0,12 0,14 0,15 0,22 0,08 0,11 0,11 0,12 0,12 0,14 0,06 0,08 0,08 0,11 0,11 0,06 0,06 0,06 0,08 0,06 0,06 0,06 0,06 0,06 0,05 В каждом из столбцов подчеркнуты вероятности, являющиеся суммами двух вероятностей. Именно их будем разбивать на соответствующие слагаемые при построении схем оптимального кодирования, в соответствии с теоремой об оптимальном кодировании. Перейдем к назначению кодов. Столбец 19 содержит две вероятности, поэтому оптимальными будут коды длиной 1 (столбец 28). Коды 28 27 26 25 24 23 22 21 0 1 00 01 01 01 01 01 1 00 01 10 11 11 11 11 01 10 11 000 001 100 100 11 000 001 100 101 0000 001 100 101 0000 0001 101 0000 0001 0010 0001 0010 0011 0011 1010 В первой строке 19 столбца вероятность подчеркнута. Это значит, что она является суммой. Разбиваем ее на два слагаемых и получаем 18 столбец. Первый код столбца 28 опускаем в две строчки, следующие за последней, и приписываем 0 в одной строке и 1 в другой. Поднимем все строки вверх. Получим коды (столбец 27) для распределения 18 столбца. В первой строке 18 столбца вероятность подчеркнута. Это значит, что она является суммой. Разбиваем ее на два слагаемых и получаем 17 столбец. Первый код столбца 27 опускаем в две строчки, следующие за последней, и приписываем 0 в одной строке и 1 в другой. Поднимем все строки вверх. Получим коды (столбец 26) для распределения 17 столбца. В первой строке 17 столбца вероятность подчеркнута. Это значит, что она является суммой. Разбиваем ее на два слагаемых и получаем 16 столбец. Первый код столбца 26 опускаем в две строчки, следующие за последней, и приписываем 0 в одной строке и 1 в другой. Поднимем все строки вверх. Получим коды (столбец 25) для распределения 16 столбца. В 16 столбце подчеркнута вторая вероятность. Это значит, что она является суммой. Разбиваем ее на два слагаемых и получаем 15 столбец. Первый код столбца 25 уже назначен, поэтому мы его не трогаем, а опускаем второй в две строчки, следующие за последней, и приписываем 0 в одной строке и 1 в другой. Поднимем все строки ниже первой вверх. Получим коды (столбец 24) для распределения 15 столбца. Продолжая в том же духе, получим 21-ый столбец кодов, соответствующих распределению 11 столбца, т.е. исходному распределению.
Дата добавления: 2014-01-06; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы! |