|
|
|||||||||||
Алгоритм Хаффмана03.04.2011, 09:30. Показов 46348. Ответов 8
Метки нет (Все метки)
Решил разобраться с этим алгоритмом, собственно он состоит из нескольких из таких шагов:
1) Создать массив со всеми символами. 2) Прочитать строку и определить сколько раз каждый символ встречается в ней. 3) Отсортировать по частотности, по убыванию либо по возрастанию. 4) Построить бинарное дерево. 5) Зашифровать файл по бинарному дереву. 1,2,3 пункты я сделал успешно. Но 4 пункт я вообще не представляю как его сделать, что использовать ... Можете рассказать как строить это бинарное дерево и самое главное, что использовать при этом строение? main.cpp
0
|
|||||||||||
| 03.04.2011, 09:30 | |
|
Ответы с готовыми решениями:
8
Алгоритм Хаффмана Алгоритм Хаффмана Алгоритм Хаффмана |
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
|||||
| 03.04.2011, 12:16 | |||||
|
Собсвтенно, правило построения дерева и описывается алгоритмом Хаффмена.
если память не изменяет мне, то нужно представлять два самых редких символа (с часотой Р1 и Р2), как один новый (с частотой Р = Р1+Р2) и повторять это представление пока не останется всего два символа. Закодировать один 1 второй 0 и выполнить обратый ход для каждого. Т.е. разделять "новые" символы на два подсимвола приписывая 1 и 0 к их кодовым последовательностям. Звучит ужасно. Пример (в скобках частота):
обратный ход(кодовая последовательность в скобках)
Осталось дело за малым - превратить эту идею в код =)
1
|
|||||
|
|
|
| 04.04.2011, 06:19 [ТС] | |
|
да в код превратить это самое сложное...
но все равно спасибо теперь хотя бы есть представление как его стоить))) а то у меня первая идея была это в двумерном массиве строить это самое дерево))) ![]() Добавлено через 16 часов 4 минуты ну на бумаге я разобрался как делать.. помогите пожалуйста это все в код преобразить или расскажите как это в код преобразовать...
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 04.04.2011, 07:21 | |
|
1
|
|
|
6 / 6 / 1
Регистрация: 17.03.2011
Сообщений: 16
|
||||||
| 20.05.2012, 18:22 | ||||||
private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; private System.Windows.Forms.RichTextBox richTextBox1; private System.Windows.Forms.Button button2; private System.Windows.Forms.RichTextBox richTextBox2; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.RichTextBox richTextBox3; private System.Windows.Forms.Label label4; Используйте!
2
|
||||||
|
Valeru
|
|
| 29.05.2012, 19:56 | |
|
скажите пожалуйста,а есть какие-нибудь особенности при реализации алгоритма? программа не работает...
|
|
|
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 5
|
|
| 04.11.2012, 18:03 | |
|
а как написать алгоритм Хаффмана на языке Jvscript???((((помогите пожалуйста
0
|
|
|
LorinRein
|
||
| 09.11.2012, 00:16 | ||
|
разкоментить и заменить вместо 192 public HuffmanTree htree; и все чудненько ну и если VS запросит закинуть еще пустышек private void textBox1_TextChanged(object sender, EventArgs e) { } private void richTextBox1_TextChanged(object sender, EventArgs e) { } private void richTextBox2_TextChanged(object sender, EventArgs e) { } private void richTextBox3_TextChanged(object sender, EventArgs e) { } |
||
| 09.11.2012, 00:16 | |
|
Помогаю со студенческими работами здесь
9
Канонический алгоритм Хаффмана Алгоритм Хаффмана с записью в файл Реализовать алгоритм оптимального кодирования Хаффмана Алгоритм Хаффмана, реализация через структуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|