Staroverovanatasa494
?>

решить Задано сообщение , состоящее из букв алфавита {a, b, c, d, e, f, g, h, i}. 1) Построить для данного алфавита равномерный код. Определить размер сообщения при равномерном кодировании. 2) Построить код Хаффмена. Найти эффективность кода.

Информатика

Ответы

seregina19706867
Хорошо, давайте разберем этот вопрос по шагам.

1) Построим равномерный код для данного алфавита. Равномерный код состоит из кодовых слов, где каждое кодовое слово имеет одинаковую длину.

Для начала, определим количество символов в алфавите. В данном случае, у нас есть 9 букв в алфавите {a, b, c, d, e, f, g, h, i}. Поэтому, мы можем использовать двоичную систему счисления, так как это наиболее распространенный вариант равномерного кодирования.

Переведем число 9 в двоичную систему счисления:

9 = 2^3 + 2^0 = 1001

Теперь каждой букве из алфавита сопоставим двоичный код, начиная с 000 и продолжая до 1000. Таким образом, получим следующие равномерные кодовые слова для каждой буквы:

a - 000
b - 001
c - 010
d - 011
e - 100
f - 101
g - 110
h - 1110
i - 1111

Размер сообщения при равномерном кодировании можно определить, умножив длину сообщения на длину каждого кодового слова и сложив результаты. Например, если сообщение состоит из 10 букв, то размер сообщения будет:

10 * 3 (длина кодовых слов) = 30 бит

2) Теперь построим код Хаффмена для данного алфавита. Код Хаффмена - это метод оптимального префиксного кодирования, где более часто встречающиеся символы имеют более короткие кодовые слова.

Сначала, упорядочим символы алфавита по частоте их появления в сообщении:

1. a - 1 раз
2. b - 2 раза
3. c - 3 раза
4. d - 4 раза
5. e - 5 раз
6. f - 6 раз
7. g - 7 раз
8. h - 8 раз
9. i - 9 раз

Теперь построим дерево Хаффмена, объединяя два самых часто встречающихся символа и добавляя их суммарную частоту в качестве нового символа. Продолжим этот процесс, пока не получим дерево, в котором все символы являются листьями.

___
+---| i | (9)
|
_______|______
| |
+---| g | (7) |
| | |
______|___ ___|____
| | | |
+--| h | (8) | | +----| f | (6)
| | | | | |
| | ________|______ | | |
| | | | | | |
| | | ___|____ | | |
| | | | | | | |
+--| 4| | +--| d | (4) || | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | ___|_|___| |
| | | | | | | | |
| | | | | | +--| e | (5) | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | ___|____|
| | | | | | | | | |
| | | | | | | | +--| c | (3) |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | ___|____
| | | | | | | | | | | |
| | | | | | | | | | +--| b | (2) |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | ___|____
| | | | | | | | | | | | | |
| | |

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

решить Задано сообщение , состоящее из букв алфавита {a, b, c, d, e, f, g, h, i}. 1) Построить для данного алфавита равномерный код. Определить размер сообщения при равномерном кодировании. 2) Построить код Хаффмена. Найти эффективность кода.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

borisrogovpr3407
Olegovna Volkov
abdulhakovalily22
margusha1974
st7307
Tuzov
yurogov61
okison2847
iraimironova
yrgenson2011801
Антон
Валерьевна1601
nailya-abdulova25
yfetyukov2
shtankosoyuz1629