М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Rusynyk
Rusynyk
08.09.2022 18:05 •  Информатика

Дано сообщение Скоро сессия!. Построить эффективный код методом Шеннона-Фано. Определить эффективность кода.

👇
Ответ:
арина1492
арина1492
08.09.2022
Хорошо, давайте разберемся с вашим вопросом и построим эффективный код методом Шеннона-Фано для сообщения "Скоро сессия!".

Шаг 1: Подсчет частоты символов

Прежде чем начать кодирование методом Шеннона-Фано, нам необходимо подсчитать частоту каждого символа в сообщении. Давайте посмотрим на каждый символ и занесем его в таблицу, указывая его частоту:

Символ | Частота
--------|--------
С | 1
к | 1
о | 2
р | 1
с | 2
е | 1
и | 2
я | 1
! | 1

Шаг 2: Сортировка символов по частоте

Теперь отсортируем символы по убыванию частоты:

Символ | Частота
--------|--------
о | 2
с | 2
и | 2
к | 1
р | 1
е | 1
я | 1
С | 1
! | 1

Шаг 3: Разделение символов на две группы

Для создания эффективного кода по методу Шеннона-Фано будем делить символы на две группы с приблизительно равной суммарной частотой.

В нашем случае, для начала, возьмем символы "о", "и" и "с" в одну группу (суммарная частота 2+2+2=6) и символы "к", "р", "е", "я", "С" и "!" во вторую группу (суммарная частота 1+1+1+1+1+1=6).

Шаг 4: Присвоение префиксного кода

Для каждой группы символов присвоим префиксный код, где "0" будет означать символ из первой группы, а "1" - символ из второй группы. К получившемуся коду добавим разделитель (чаще всего пробел) между символами для удобства чтения.

Группа 1: код "0" -> символы "о", "и", "с"
Группа 2: код "1" -> символы "к", "р", "е", "я", "С", "!"

Теперь мы можем записать получившиеся коды:

Символ | Код
--------|--------
о | 00
и | 01
с | 10
к | 110
р | 111
е | 100
я | 101
С | 1100
! | 1101

Шаг 5: Расчет эффективности кода

Для расчета эффективности кода по методу Шеннона-Фано используется формула:

Эффективность = сумма (частота * длина кода) / общая длина сообщения

Давайте посчитаем:

Общая длина сообщения = длина("Скоро сессия!") = 13

Эффективность = (1*4 + 1*4 + 2*4 + 1*3 + 1*3 + 1*3 + 1*3 + 1*4 + 1*4) / 13 ≈ 3.23

Таким образом, эффективность данного кода методом Шеннона-Фано составляет примерно 3.23.

Это и есть ответ на ваш вопрос. Если у вас возникнут еще вопросы, не стесняйтесь задавать!
4,6(80 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ