User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 34

Тема: Деревья хаффмана - как с ними работать

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    определенно есть пакеры, которые строят дерево в реальном времени по ходу работы.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    GriV, а я кого спрашиваю?

    я разобрался как оно работает
    С уважением,
    Jerri / Red Triangle.

  4. #3

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вобщем так

    есть набор чисел

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    есть повторяемость каждого числа

    как мне из этих данных сделать дерево?
    желательно в виде примера кодирования и использования

    при этом может оказаться что каких то из чисел вообще нет
    С уважением,
    Jerri / Red Triangle.

  5. #4

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sameone, для частного случая сойдет
    для моего - нет
    я уже во всем разобрался
    если интересно могу показать

    и кстати ты не прав
    есть деревья нормальные, есть вырожденные
    и это оооочень видно при использовании
    Последний раз редактировалось jerri; 14.09.2012 в 00:04.
    С уважением,
    Jerri / Red Triangle.

  6. #5

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ???
    Алгоритм Кнута — Морриса — Пратта (КМП-алгоритм) — алгоритм, осуществляющий поиск подстроки в строке.

  7. #6

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    Метод Хаффмана максимально эффективен если вероятность нахождения символов убывает как 1/(2^N), где N - номер символа в упорядоченном по убыванию списке. Если отличие отой этой зависимости велико, результат далёк от оптимального.
    Откуда сия инфа?

    Цитата Сообщение от Sameone Посмотреть сообщение
    время сортировки линейно зависит от количества сортируемых символов
    А можно такой алгоритм? А то сортировка за O(n) нобелевкой попахивает.

    ---------- Post added at 07:54 ---------- Previous post was at 07:53 ----------

    Цитата Сообщение от Sameone Посмотреть сообщение
    Я составил его после вдумчивого прочтения главы о методе Хаффмана в указанной мной книге, там традиционно - обход деревьев. Подметил свойства формируемой последовательности битов и решил ими воспользоваться.
    Почитай еще раз. Особенно главу, где объясняется, что такое энтропия.

  8. #7

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sameone, тут такой момент
    в текстовом блоке может не быть символов с кодом #00 #01
    в кодовом блоке и картинке их как грязи
    если паковать сразу данные то у тебя 256 вариантов
    если формировать набор ссылок на предыдущие данные то у тебя 65280 вариантов

    теперь разберем алгоритм RNC

    у меня есть дерево хаффмана
    в котором каждой ветви соответствует сколько битов мне надо взять из потока

    0 +1 (2-3)
    10 принимаем за 1
    11 принимаем за 0
    010 +2 (4-7)
    100 +3 (8-15)

    итого самая короткая ссылка - 2 бита
    самая длинная -6 бит

    причем в следующий раз здесь могут быть совершенно другие значения
    но алгоритм сжатия останется всегда наиболее эффективным
    С уважением,
    Jerri / Red Triangle.

  9. #8

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    Потому и предложил jerri посмотреть в сторону арифметического кодирования, которое даёт более близкий к идеалу результат.
    ты ведь про арифметическое кодирование на спекки пошутил?

  10. #9

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    И вот с этой последовательностью символов ("КТОАЙ-_ЕС") и работает мой алгоритм.
    Не увиливай от ответа. alco тебя спросил про конкретный пример- набор букв и их относительные частоты (можешь множить на 100 и получить абсолютные частоты для какого-то абстрактного текста). Вот распиши сколько бит на каждый символ потребуется после работы твоего алгоритма и какие это будут битовые цепочки.


    Цитата Сообщение от Sameone Посмотреть сообщение
    5) Vitamin По поводу 1/(2^N) А как ты ещё представляеш себе "алгоритм Хаффмана приближает относительные частоты появления символов в потоке частотами, кратными степени двойки"? (Указанная мною книга, с 35).
    Я в курсе, что иногда результат работы по методу Хаффмана бывает далёк от идеала, предписываемого теоремой Шеннона.
    Это означает, что разница между реальной энтропией в исходных данных и оценкой по методу Хаффмана не будет превышать 1 бита на каждый символ- отсюда и степени двойки (вероятности 1/2, 1/4, 1/8 и т.п.). Для арифметического кодирования погрешность не превышает 1 бита на все сообщение.

    Цитата Сообщение от elf/2 Посмотреть сообщение
    ты ведь про арифметическое кодирование на спекки пошутил?
    Я его реализовывал в свое время Ну оооочень медленно работает...

  11. #10

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sameone, я не ошибся
    вот тебе таблица из упакованного файла

    00 длина 0
    01 длина 1
    10 длина 2-3
    110 длина 4-7
    1110 длина 8-15
    11110 длина 16-31
    111110 длина 32-63
    111111 длина 64-127

    но это не очень красивая таблица

    у меня были и покрасивее

    ---------- Post added at 16:24 ---------- Previous post was at 16:22 ----------

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Я его реализовывал в свое время Ну оооочень медленно работает...
    а осталось чтонибудь? в виде исходников
    С уважением,
    Jerri / Red Triangle.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ДВК (и всё, что с ними связано)
    от Grand в разделе ДВК, УКНЦ
    Ответов: 4575
    Последнее: 17.11.2025, 11:38
  2. PAL/GAL и все что с ними связано.
    от Mick в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 489
    Последнее: 19.09.2025, 18:39
  3. Видеорежимы и работа с ними
    от icebear в разделе Программирование
    Ответов: 23
    Последнее: 26.07.2005, 12:55
  4. Видеорежимы и работа с ними
    от icebear в разделе Несортированное железо
    Ответов: 3
    Последнее: 21.07.2005, 11:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •