2 / 2 / 0
Регистрация: 21.12.2012
Сообщений: 15
|
||||||
Алгоритм Шеннона-Фано18.11.2013, 02:16. Показов 26428. Ответов 3
Метки нет Все метки)
(
Приветствую всех в этой теме.
Создаю архиватор по методу Шеннона-Фано. И трудность возникла в программной реализации получения кодовых слов. В теории и на бумаге трудностей в этом нет, чего нельзя сказать про попытки реализовать метод в C++. Предпринимались некоторые попытки, но они особо ни к чему не привели. Как понял, данный метод можно сделать через массив структур или рекурсию. Предпочтительнее сделать массивом структур, так как рекурсию пока что в C++ не использовал вообще. _ По данному заданию нужно было вычислить количество повторений байтов, вероятность повторений и среднее количество информации по Шеннону. Затем добавляется сортировка по невозрастанию с учётом того, что у каждого байта при выводе информации на экран не должны меняться значения количества повторения и вероятности повторения. Вот программный код с комментариями, который есть на данный момент:
Находил исходники с использованием стандартных шаблонов С++, но нужно обойтись без этого. Прошу помочь с реализацией получения кодовых слов. __ Как я понял, нужно сделать массив структур в виде таблицы и дальше работать с этим массивом, и обращаться к его элементам при разбиении вероятностей на части. Примерные идеи и некоторые совсем небольшие наработки есть, но дальше дело не идёт. _ Также выкладываю результат работы программы, код которой изложен выше. Мы вводим имя(на скриншоте - изображения), с байтами которого мы хотим работать(и в будущем который мы хотим сжимать/разжимать)
0
|
18.11.2013, 02:16 | |
Ответы с готовыми решениями:
3
Алгоритм Шеннона-Фано Алгоритм шеннона фано Реализовать алгоритм Шеннона-Фано |
21.11.2013, 06:32 | |
Методы Хаффмана и Шеннона-Фано
+ код ваш совершенно нечитаем, сортировка в C реализована библиотечной функцией, строить нужно не массив, а дерево + инет просто завален примерами
0
|
21.11.2013, 06:32 | |
Помогаю со студенческими работами здесь
4
Двоичный вывод (алгоритм Шеннона Фано) Алгоритм сжатия методом Шеннона-Фано
Метод Шеннона фано Метод Шеннона-Фано Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Оптимизация производительности Express.js бэкенда
Reangularity 23.05.2025
Express. js заслуженно остаётся одним из самых популярных инструментов для создания бэкенда, но даже он не застрахован от проблем с производительностью. Многие разработчики сталкиваются с ситуацией,. . .
|
Продвинутая обработка данных с LINQ в C#
stackOverflow 23.05.2025
LINQ (Language Integrated Query) — это фундаментальное изменение парадигмы работы с данными в C#. Простые запросы Where и Select знакомы любому разработчику, но настоящая мощь LINQ раскрывается в. . .
|
Инфраструктура PKI и сертификатов безопасности
Mr. Docker 23.05.2025
PKI (Public Key Infrastructure) — это невидимый фундамент цифрового доверия, без которого современный интернет просто рассыпался бы как карточный домик. За этой аббревиатурой скрывается целый. . .
|
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
|
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
|
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
|
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
|
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL.
Что. . .
|
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
|
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
|