yarmolinskiyam-yandex

Образец выполнения задания

Ярмолинский Арсений

1.

Вариант 23: абракадабра

2.

абракадабра
||| | |
абр к д - 5 уникальных букв

а - 5
б - 2
р - 2
к - 1
д - 1

3.

а - 5
б - 2
р - 2
к - 1 2
д - 1 |


а - 5
б - 2 4
р - 2 |
к - 1 2
д - 1 |

а - 5
б - 2 6 4
р - 2 | |
к - 1 | 2
д - 1 | |

а - 5 11
б - 2 |6 4
р - 2 || |
к - 1 || 2
д - 1 || |

а - 0
б - 100
р - 101
к - 110
д - 111

4.

Количество уникальных букв: 5 Минимальное требуемое количество бит: 3

Словарь:

а - 000
б - 001
р - 010
к - 011
д - 100

5.

Равномерное кодирование (8-битный код) по таблице ASCII (кодировка CP1251)

Словарь

https://ru.wikipedia.org/wiki/Windows-1251

а - E0 - 11100000
б - E1 - 11100001
р - F0 - 11110000
к - EA - 11101010
д - E4 - 11100100

Кодирование

а - 11100000
б - 11100001
р - 11110000
а - 11100000
к - 11101010
а - 11100000
д - 11100100
а - 11100000
б - 11100001
р - 11110000
а - 11100000

Результат

1110000011100001111100001110000011101010111000001110010011100000111000011111000011100000

Длина - 88 бит

Равномерное кодирование (3-битный код) по своему словарю

Словарь

а - 000
б - 001
р - 010
к - 011
д - 100

Кодирование

а - 000
б - 001
р - 010
а - 000
к - 011
а - 000
д - 100
а - 000
б - 001
р - 010
а - 000

Результат

000001010000011000100000001010000

Длина - 33 бит

Кодирование Хаффмана

Словарь

а - 0
б - 100
р - 101
к - 110
д - 111

Кодирование

а - 0
б - 100
р - 101
а - 0
к - 110
а - 0
д - 111
а - 0
б - 100
р - 101
а - 0

Результат

01001010110011101001010

Длина - 23 бит

Результаты кодирования:

Кодировка Длина сообщения
ASCII 88
3BIT 33
Хаффман 23