Задание № 1:
Для слова «парта» сначала определим символы и их частоту. В слове «парта» есть следующие буквы:
- П (1 раз)
- А (2 раза)
- Р (1 раз)
- Т (1 раз)
Теперь мы можем назначить равномерные двоичные коды. Для 4 различных символов мы можем использовать коды длиной 2 бита, так как 2^2 = 4 достаточно, чтобы закодировать 4 символа. Например, можно назначить следующие коды:
- П: 00
- А: 01
- Р: 10
- Т: 11
Теперь используя полученные коды, составим коды для трёх разных слов. Например, возьмем слова «дара», «парта» и «трап»:
Дара:
- Д: новый символ (код 12)
- А: 01
- Р: 10
- А: 01 Код слова: 12 01 10 01
Парта:
- П: 00
- А: 01
- Р: 10
- Т: 11
- А: 01 Код слова: 00 01 10 11 01
Трап:
- Т: 11
- Р: 10
- А: 01
- П: 00 Код слова: 11 10 01 00
Таким образом, мы получили коды для трех существительных, не совпадающих с исходным словом.
Задание № 2 (20 баллов):
В фразе «мама мыла раму» встречаются следующие буквы с их частотой:
- М (4 раза)
- А (4 раза)
- Ы (1 раз)
- Л (1 раз)
- Р (1 раз)
- У (1 раз)
Для неравномерного двоичного кода идеальным подходом будет наименьшая длина кода для самых часто встречающихся символов. В данном случае символы «М» и «А» появляются по 4 раза, поэтому они должны иметь самые короткие коды.
Например:
- М: 0
- А: 1
- Все остальные символы (Ы, Л, Р, У) могут получить более длинные коды, например:
- Ы: 00
- Л: 01
- Р: 10
- У: 11
Обоснование: Использование коротких кодов для наиболее частых символов позволяет уменьшить среднюю длину кода для всей фразы, что делает кодирование более эффективным.
Если у вас есть дополнительные вопросы или нужна помощь с другими заданиями, всегда рад помочь!