Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2012, 19:25   #1
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
Подмигивание Кодирование

Доброе время суток!
Столкнулся с проблемой реализации кодирование Шеннона.
Есть определенный алгоритм кодирования. Возможно он не совсем точный.
Кто-нибудь сталкивался с реализацией этого алгоритма??? Просьба помочь разобраться в его работе и реализации знающих людей.

n - количество символов исходного алфовита.
P - массив вероятностей, упорядоченных по убыванию
Q - массив для величин Q
L - массив длин кодовых слов
C - матрица элементарных кодов

Код:
P[0]:=0, Q[0]=0
DO (i=1,...,n)
     Q[i]:=Q[i-1]+P[i]
     L[i]:=-|log2P[i]|
OD

DO (i=1,...,n)
    DO (j=1,..,L[i])
         Q[i-1]:=Q[i-1]*2
         C[i,j]:=|Q[i-1]|
         IF(Q[i-1]>1) Q[i-1]:=Q[i-1]-1 FI
    OD
OD
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодирование Black M Помощь студентам 0 14.11.2012 16:55
Кодирование Михаил93 Помощь студентам 5 27.02.2011 01:49
Кодирование asil Помощь студентам 1 02.05.2009 20:48
Кодирование. Blizzz Общие вопросы Delphi 5 19.01.2009 18:28