Какое наименьшее количество двоичных знаков потребуется для кодирования слова кокос

от admin

Кодирование и декодирование. Условие ФАНО

Код — это набор символов (условных обозначений) для представления информации.

Кодирование – перевод информации с одного языка на другой (запись в другой системе символов, в другом алфавите).

Декодирование – это восстановление сообщения из последовательности кодов.

В качестве кодового алфавита часто используют двоичный алфавит, состоящий из двух символов (битов) 0 и 1.

При кодировании используют

равномерные и неравномерные коды.

Равномерные коды Равномерные коды – все кодовые слова (коды отдельных букв) имеют одинаковую длину. М А 000 001 Ы Л 010 011 У пробел 100 101 МАМА МЫЛА ЛАМУ: 000 001 000 001 101 000 010 011 001 101 011 001 000 100 Равномерные коды позволяют однозначно декодировать сообщения.

Равномерные коды

Равномерные коды – все кодовые слова (коды отдельных букв)

имеют одинаковую длину.

МАМА МЫЛА ЛАМУ: 000 001 000 001 101 000 010 011 001 101 011 001 000 100

Равномерные коды позволяют однозначно декодировать сообщения.

Неравномерные коды кодовые слова имеют разную длину Чтобы однозначно декодировать текст, закодированный при помощи неравномерных кодов, коды должны удовлетворять условиям Фано. Прямое условие Фано. Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с началом какого-либо другого, более длинного кода. Такой код называют «префиксным». Обратное условие Фано. Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с окончанием какого-либо другого, более длинного кода. Такой код называют «постфиксным».

Неравномерные коды

кодовые слова имеют разную длину

Чтобы однозначно декодировать текст, закодированный при помощи неравномерных кодов, коды должны удовлетворять условиям Фано.

Прямое условие Фано. Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с началом какого-либо другого, более длинного кода. Такой код называют «префиксным».

Обратное условие Фано. Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с окончанием какого-либо другого, более длинного кода. Такой код называют «постфиксным».

Почему необходимо соблюдение условия Фано при неравномерном кодировании? Пример. Исходный алфавит – алфавит русских букв, строчные и прописные буквы не различаются. Размер алфавита – 33 символа. Применяется побуквенное кодирование по следующему правилу: буква кодируется ее номером в алфавите: код буквы А – 1; буквы Я – 33 и т.д. Тогда код слова АББА – это 1221. А теперь внимание: Последовательность 1221 может означать не только АББА, но и КУ (К – 12-я буква в алфавите, а У – 21-я буква).

Почему необходимо соблюдение условия Фано

при неравномерном кодировании?

Исходный алфавит – алфавит русских букв, строчные и прописные буквы не различаются. Размер алфавита – 33 символа.

Применяется побуквенное кодирование по следующему правилу:

буква кодируется ее номером в алфавите: код буквы А – 1; буквы Я – 33 и т.д.

Тогда код слова АББА – это 1221.

А теперь внимание:

Последовательность 1221 может означать не только АББА,

но и КУ (К – 12-я буква в алфавите, а У – 21-я буква).

Неравномерные коды Префиксный код – ни одно кодовое слово не совпадает с началом другого кодового слова. М А 01 00 Ы 1011 Л 100 У 1010 пробел 11 Любой префиксный код позволяет однозначно декодировать сообщения.

Неравномерные коды

Префиксный код – ни одно кодовое слово не совпадает

с началом другого кодового слова.

Любой префиксный код позволяет

однозначно декодировать сообщения.

Неравномерные коды Постфикс = окончание слова. Постфиксный код – ни одно кодовое слово не совпадает с концом другого кодового слова М 10 А 00 Ы Л 1101 001 У пробел 0101 11 10 00 10 00 11 10 1101 001 00 11 001 00 10 0101 М А М А М Ы Л А Л А М У Любой постфиксный код позволяет однозначно декодировать сообщения (с конца).

Неравномерные коды

Постфикс = окончание слова.

Постфиксный код – ни одно кодовое слово не совпадает

с концом другого кодового слова

10 00 10 00 11 10 1101 001 00 11 001 00 10 0101

М А М А М Ы Л А Л А М У

Любой постфиксный код позволяет однозначно декодировать сообщения (с конца).

Для однозначного декодирования достаточно выполнения хотя бы одного из двух условий Фано: – при выполнении прямого условия Фано последовательность кодов однозначно декодируется с начала; – при выполнении обратного условия Фано последовательность кодов однозначно декодируется с конца.

Для однозначного декодирования достаточно выполнения хотя бы одного из двух условий Фано:

– при выполнении прямого условия Фано последовательность кодов однозначно декодируется с начала;

– при выполнении обратного условия Фано последовательность кодов однозначно декодируется с конца.

ПОСТРОЕНИЕ ДЕРЕВА ФАНО Дерево Фано – это удобный и наглядный способ решения задач, связанных с подбором неравномерных двоичных кодов. Основные принципы построения дерева Фано: каждый узел дерева Фано имеет ровно две ветви (т.е. дерево Фано является двоичным, бинарным ), при этом одной ветви (например, левой) сопоставляется 0, а другой ветви (правой) –1; От каждого направления можно также рисовать только два направления: 0(ноль) и 1(единицу) и т.д. Получается структура похожая на дерево! В конце каждой ветки ( т.е. на «листьях») располагаются буквы Если мы расположили на «листе» букву, то от этой ветки нельзя делать новые ответвления.

ПОСТРОЕНИЕ ДЕРЕВА ФАНО

Дерево Фано – это удобный и наглядный способ решения задач, связанных с подбором неравномерных двоичных кодов.

Основные принципы построения дерева Фано:

  • каждый узел дерева Фано имеет ровно две ветви (т.е. дерево Фано является двоичным, бинарным ), при этом одной ветви (например, левой) сопоставляется 0, а другой ветви (правой) –1;
  • От каждого направления можно также рисовать только два направления: 0(ноль) и 1(единицу) и т.д. Получается структура похожая на дерево!
  • В конце каждой ветки ( т.е. на «листьях») располагаются буквы
  • Если мы расположили на «листе» букву, то от этой ветки нельзя делать новые ответвления.
  • Чем чаще встречается какой-либо символ, тем короче должен быть его код и тем раньше этот символ надо поместить в дерево;
  • Для каждого символа код Фано получается последовательной записью всех нулей и единиц по кратчайшему пути от вершины дерева к соответствующему символу.

обеспечивается тогда, когда все

кодовые слова заканчиваются на

10 01 000 110 001

1100000100110 — ?

  • По каналу связи передаются сообщения, содержащие пять букв: П, У, Ш, К, А . Для передачи используется неравномерный двоичный код, допускающий однозначное кодирование.

Для букв П, У, Ш, К используются такие кодовые слова: П: 111, У: 100, Ш: 101, К: 0 . Укажите кратчайшее кодовое слово для буквы А , при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.

  • По каналу связи передаются сообщения содержащие четыре буквы: М, У, К, А. Для передачи используется неравномерный двоичный код, допускающий однозначное кодирование.

Для букв М, У, А используются такие кодовые слова: М: 10, У: 11, А: 00. Укажите кратчайшее кодовое слово для буквы К , при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.

  • По каналу связи передаются сообщения, содержащие только четыре буквы: П, О, С, Т для передачи используется двоичный код, допускающий однозначное декодирование.

Для букв Т, Е, П используются такие кодовые слова: Т: 111, Е: 0, П: 100.

Укажите кратчайшее кодовое слово для буквы С , при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.

  • Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г , решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 1, для буквы Б – кодовое слово 001. Какова наименьшая возможная суммарная длина всех четырёх кодовых слов?
  • Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д,Е решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 0, для буквы Б – кодовое слово 10. Какова наименьшая возможная суммарная длина всех шести кодовых слов?
  • По каналу связи передаются сообщения, содержащие только семь букв: А, Б, И, К, Л, О, С. Для передачи используется двоичный код, удовлетворяющий условию Фано.

Кодовые слова для некоторых букв известны: А — 001, И — 01, С — 10.

Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОЛОБОК?

  • По каналу связи передаются сообщения, содержащие только пять букв: П, И, Л, О, Т.

Для передачи используется двоичный код, удовлетворяющий условию Фано.

Для буквы И используется кодовое слово 1; для буквы О используется кодовое слово 01.

Какова минимальная общая длина кодовых слов для всех пяти букв?

  • По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А – 000, Б – 01, В – 1101, Г – 111, Д – 0010, Е – 100. Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОКОС?
  • По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: В – 01, Г – 1001, Д – 0001, Т – 0010. Для кодирования слова ИНФИНИТИВ потребовалось 24 двоичных знака.

Какое кодовое слово соответствует букве Н?

  • В сообщении встречается 7 разных букв. При его передаче использован неравномерный двоичный код, удовлетворяющий условию Фано. Известны коды трёх букв: 1, 01, 001. Коды остальных четырёх букв имеют одинаковую длину. Какова минимальная суммарная длина всех 7-ми кодовых слов?
  • А  110
  • К  01
  • С  101
  • 9
  • 19
  • 23
  • 14
  • 19
  • 101
  • 26
  • Для передачи чисел по каналу с помехами используется код проверки четности. Каждая его цифра записывается в двоичном представлении, с добавлением ведущих нулей до длины 4, и к получившейся последовательности дописывается сумма её элементов по модулю 2 (например, если передаём 23, то получим последовательность 0010100110).

Определите, какое число передавалось по каналу в виде 01100010100100100110.

1) используется код равномерной длины; т.к. 2 знака кодируются 10 двоичными разрядами (битами), на каждую цифру отводится 5 бит, то есть 2 → 00101 и 3 → 00110 2) 4 первых бита в каждой последовательности – это двоичный код цифры, а 5-ый бит (бит четности) используется для проверки и рассчитывается как «сумма по модулю два», то есть остаток от деления суммы бит на 2; тогда 2 = 0010 2 , бит четности (0 + 0 + 1 + 0) mod 2 = 1 3 = 0011 2 , бит четности (0 + 0 + 1 + 1) mod 2 = 0 3) пятый бит в каждой пятерке можно отбросить! 4) разобьем последовательность на группы по 5 бит в каждой: 01010, 10010, 01111, 00011. 5)отбросим пятый (последний) бит в каждой группе: 0101, 1001, 0111, 0001. это и есть двоичные коды передаваемых чисел: 0101 2 = 5, 1001 2 = 9, 0111 2 = 7, 0001 2 = 1. 6)таким образом, были переданы числа 5, 9, 7, 1 или число 5971. Ответ: 5971

1) используется код равномерной длины; т.к. 2 знака кодируются 10 двоичными разрядами (битами), на каждую цифру отводится 5 бит, то есть 2 → 00101 и 3 → 00110

2) 4 первых бита в каждой последовательности – это двоичный код цифры, а 5-ый бит (бит четности) используется для проверки и рассчитывается как «сумма по модулю два»,

то есть остаток от деления суммы бит на 2; тогда

2 = 0010 2 , бит четности (0 + 0 + 1 + 0) mod 2 = 1

3 = 0011 2 , бит четности (0 + 0 + 1 + 1) mod 2 = 0

3) пятый бит в каждой пятерке можно отбросить!

4) разобьем последовательность на группы по 5 бит в каждой: 01010, 10010, 01111, 00011.

5)отбросим пятый (последний) бит в каждой группе: 0101, 1001, 0111, 0001.

это и есть двоичные коды передаваемых чисел: 0101 2 = 5, 1001 2 = 9, 0111 2 = 7, 0001 2 = 1.

6)таким образом, были переданы числа 5, 9, 7, 1 или число 5971.

-80%

Какое наименьшее количество двоичных знаков потребуется для кодирования слова кокос

Тип 4 № 27263

Равномерные коды Равномерные коды – все кодовые слова (коды отдельных букв) имеют одинаковую длину. М А 000 001 Ы Л 010 011 У пробел 100 101 МАМА МЫЛА ЛАМУ: 000 001 000 001 101 000 010 011 001 101 011 001 000 100 Равномерные коды позволяют однозначно декодировать сообщения.

Неравномерные коды кодовые слова имеют разную длину Чтобы однозначно декодировать текст, закодированный при помощи неравномерных кодов, коды должны удовлетворять условиям Фано. Прямое условие Фано. Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с началом какого-либо другого, более длинного кода. Такой код называют «префиксным». Обратное условие Фано. Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с окончанием какого-либо другого, более длинного кода. Такой код называют «постфиксным».

Почему необходимо соблюдение условия Фано при неравномерном кодировании? Пример. Исходный алфавит – алфавит русских букв, строчные и прописные буквы не различаются. Размер алфавита – 33 символа. Применяется побуквенное кодирование по следующему правилу: буква кодируется ее номером в алфавите: код буквы А – 1; буквы Я – 33 и т.д. Тогда код слова АББА – это 1221. А теперь внимание: Последовательность 1221 может означать не только АББА, но и КУ (К – 12-я буква в алфавите, а У – 21-я буква).

Неравномерные коды Префиксный код – ни одно кодовое слово не совпадает с началом другого кодового слова. М А 01 00 Ы 1011 Л 100 У 1010 пробел 11 Любой префиксный код позволяет однозначно декодировать сообщения.

Неравномерные коды Постфикс = окончание слова. Постфиксный код – ни одно кодовое слово не совпадает с концом другого кодового слова М 10 А 00 Ы Л 1101 001 У пробел 0101 11 10 00 10 00 11 10 1101 001 00 11 001 00 10 0101 М А М А М Ы Л А Л А М У Любой постфиксный код позволяет однозначно декодировать сообщения (с конца).

10 00 10 00 11 10 1101 001 00 11 001 00 10 0101

Для однозначного декодирования достаточно выполнения хотя бы одного из двух условий Фано: – при выполнении прямого условия Фано последовательность кодов однозначно декодируется с начала; – при выполнении обратного условия Фано последовательность кодов однозначно декодируется с конца.

ПОСТРОЕНИЕ ДЕРЕВА ФАНО Дерево Фано – это удобный и наглядный способ решения задач, связанных с подбором неравномерных двоичных кодов. Основные принципы построения дерева Фано: каждый узел дерева Фано имеет ровно две ветви (т.е. дерево Фано является двоичным, бинарным ), при этом одной ветви (например, левой) сопоставляется 0, а другой ветви (правой) –1; От каждого направления можно также рисовать только два направления: 0(ноль) и 1(единицу) и т.д. Получается структура похожая на дерево! В конце каждой ветки ( т.е. на «листьях») располагаются буквы Если мы расположили на «листе» букву, то от этой ветки нельзя делать новые ответвления.

  • каждый узел дерева Фано имеет ровно две ветви (т.е. дерево Фано является двоичным, бинарным ), при этом одной ветви (например, левой) сопоставляется 0, а другой ветви (правой) –1;
  • От каждого направления можно также рисовать только два направления: 0(ноль) и 1(единицу) и т.д. Получается структура похожая на дерево!
  • В конце каждой ветки ( т.е. на «листьях») располагаются буквы
  • Если мы расположили на «листе» букву, то от этой ветки нельзя делать новые ответвления.
  • Чем чаще встречается какой-либо символ, тем короче должен быть его код и тем раньше этот символ надо поместить в дерево;
  • Для каждого символа код Фано получается последовательной записью всех нулей и единиц по кратчайшему пути от вершины дерева к соответствующему символу.

10 01 000 110 001

1100000100110 — ?

  • По каналу связи передаются сообщения, содержащие пять букв: П, У, Ш, К, А . Для передачи используется неравномерный двоичный код, допускающий однозначное кодирование.
  • По каналу связи передаются сообщения содержащие четыре буквы: М, У, К, А. Для передачи используется неравномерный двоичный код, допускающий однозначное кодирование.
  • По каналу связи передаются сообщения, содержащие только четыре буквы: П, О, С, Т для передачи используется двоичный код, допускающий однозначное декодирование.
  • Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г , решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 1, для буквы Б – кодовое слово 001. Какова наименьшая возможная суммарная длина всех четырёх кодовых слов?
  • Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д,Е решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 0, для буквы Б – кодовое слово 10. Какова наименьшая возможная суммарная длина всех шести кодовых слов?
  • По каналу связи передаются сообщения, содержащие только семь букв: А, Б, И, К, Л, О, С. Для передачи используется двоичный код, удовлетворяющий условию Фано.
  • По каналу связи передаются сообщения, содержащие только пять букв: П, И, Л, О, Т.
  • По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А – 000, Б – 01, В – 1101, Г – 111, Д – 0010, Е – 100. Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОКОС?
  • По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: В – 01, Г – 1001, Д – 0001, Т – 0010. Для кодирования слова ИНФИНИТИВ потребовалось 24 двоичных знака.
  • В сообщении встречается 7 разных букв. При его передаче использован неравномерный двоичный код, удовлетворяющий условию Фано. Известны коды трёх букв: 1, 01, 001. Коды остальных четырёх букв имеют одинаковую длину. Какова минимальная суммарная длина всех 7-ми кодовых слов?
  • А  110
  • К  01
  • С  101
  • 9
  • 19
  • 23
  • 14
  • 19
  • 101
  • 26
  • Для передачи чисел по каналу с помехами используется код проверки четности. Каждая его цифра записывается в двоичном представлении, с добавлением ведущих нулей до длины 4, и к получившейся последовательности дописывается сумма её элементов по модулю 2 (например, если передаём 23, то получим последовательность 0010100110).

1) используется код равномерной длины; т.к. 2 знака кодируются 10 двоичными разрядами (битами), на каждую цифру отводится 5 бит, то есть 2 → 00101 и 3 → 00110 2) 4 первых бита в каждой последовательности – это двоичный код цифры, а 5-ый бит (бит четности) используется для проверки и рассчитывается как «сумма по модулю два», то есть остаток от деления суммы бит на 2; тогда 2 = 0010 2 , бит четности (0 + 0 + 1 + 0) mod 2 = 1 3 = 0011 2 , бит четности (0 + 0 + 1 + 1) mod 2 = 0 3) пятый бит в каждой пятерке можно отбросить! 4) разобьем последовательность на группы по 5 бит в каждой: 01010, 10010, 01111, 00011. 5)отбросим пятый (последний) бит в каждой группе: 0101, 1001, 0111, 0001. это и есть двоичные коды передаваемых чисел: 0101 2 = 5, 1001 2 = 9, 0111 2 = 7, 0001 2 = 1. 6)таким образом, были переданы числа 5, 9, 7, 1 или число 5971. Ответ: 5971

-80%

Ошибка сервера в приложении ‘/’.

Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.

Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег <customErrors> в файле конфигурации "web.config", который находится в корневом каталоге текущего веб-приложения. В теге <customErrors> следует задать атрибут "mode" со значением "Off".

Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут "defaultRedirect" тега конфигурации <customErrors> приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.

какое наименьшее количество двоичных знаков потребуется для кодирования слова балалайка

Какое наименьшее количество двоичных знаков потребуется для кодирования слова балалайка

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 011, И — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ГРАММ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Для трёх букв кодовые слова уже известны, осталось подобрать для оставшихся четырёх букв такие кодовые слова, которые обеспечат наименьшее количество двоичных знаков для кодирования слова ГРАММ.

Закодируем букву М кодовым словом 00, поскольку буква М повторяется в слове ГРАММ два раза. Для буквы Г возьмём кодовое слово 110. Кодовое слово 111 взять не можем, поскольку для остальных букв не останется кодовых слов, удовлетворяющих условию Фано. Оставшиеся две буквы закодируем кодовыми словами длины 4.

Таким образом, наименьшее количество двоичных знаков, которые потребуются для кодирования слова ГРАММ, равно 3 + 4 + 3 + 2 + 2 = 14.

Заметим, что после кодирования всех букв, входящих в слово ГРАММ, должен остаться хотя бы один свободный код для кодирования буквы Я, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

Какое наименьшее количество двоичных знаков потребуется для кодирования слова балалайка

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 011, Г — 100. Какое наименьшее количество двоичных знаков потребуется для кодирования слова МАГИЯ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Следующая буква должна кодироваться как 11, поскольку 10 мы взять не можем. 100 взять не можем из-за Г, значит, следующая буква должна быть закодирована кодом 101. Следующая буква должна кодироваться как 000, поскольку 00 взять не можем, иначе не останется кодовых слов для оставшейся буквы, которые удовлетворяют условию Фано. Значит, последняя буква будет кодироваться как 001. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова МАГИЯ равно 2 + 3 + 3 + 3 + 3 = 14.

Заметим, что после кодирования всех букв, входящих в слово МАГИЯ, должен остаться хотя бы один свободный код для кодирования буквы Р, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

При такой кодировке невозможно подобрать кодовое слово для буквы «Р», удовлетворяющее условию Фано.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 00, Г — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова МАГИЯ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Следующая буква должна кодироваться как 011, поскольку 01 мы взять не можем, иначе код для буквы А не будет удовлетворять условию Фано. 10 из-за Г взять не можем, тогда следующая буква будет кодироваться как 100. Следующая буква должна кодироваться как 110, поскольку 11 взять не можем, иначе не останется кодовых слов для оставшейся буквы, которые удовлетворяют условию Фано. Значит, последняя буква будет кодироваться как 111. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова МАГИЯ равно

Заметим, что после кодирования всех букв, входящих в слово МАГИЯ, должен остаться хотя бы один свободный код для кодирования буквы Р, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 011, И — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ГРАММ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Для трёх букв кодовые слова уже известны, осталось подобрать для оставшихся четырёх букв такие кодовые слова, которые обеспечат наименьшее количество двоичных знаков для кодирования слова ГРАММ.

Закодируем букву М кодовым словом 00, поскольку буква М повторяется в слове ГРАММ два раза. Для буквы Г возьмём кодовое слово 110. Кодовое слово 111 взять не можем, поскольку для остальных букв не останется кодовых слов, удовлетворяющих условию Фано. Оставшиеся две буквы закодируем кодовыми словами длины 4.

Таким образом, наименьшее количество двоичных знаков, которые потребуются для кодирования слова ГРАММ, равно 3 + 4 + 3 + 2 + 2 = 14.

Заметим, что после кодирования всех букв, входящих в слово ГРАММ, должен остаться хотя бы один свободный код для кодирования буквы Я, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

Какое наименьшее количество двоичных знаков потребуется для кодирования слова балалайка

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, Н, Р, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Г — 110, И — 01, Т — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова БАРАБАН?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву А закодируем кодовым словом 000, поскольку буква А повторяется в слове БАРАБАН 3 раза. Букву Б закодируем кодовым словом 001, поскольку буква Б повторяется в слове БАРАБАН 2 раза. Буквы Р и Н закодируем кодовыми словами 1110 и 1111 соответственно. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова БАРАБАН равно 3 + 3 + 4 + 3 + 3 + 3 + 4 = 23.

Сколько существует различных наборов значений логических переменных x1, x2, … x7, y1, y2, … y7, которые удовлетворяют всем перечисленным ниже условиям?

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x7, y1, y2, … y7, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

Тогда (¬x2 ∨ ¬y2) имеет 3 способа стать 1, но тогда x2y2 однозначно 0, а значит, (¬x3 ∨ ¬y3) однозначно 0. Далее x3y3 равно 1, т.е. вернулись в самое начало.

Такой повтор будет 3 раза, следовательно, существует 3 · 3 · 3 комбинации происходящего. Проделаем тоже самое для предположения x1y1 = 0. Получим 3 · 3 · 3 · 3 варианта.

По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 000, Б — 01, В — 1101, Г — 111, Д — 0010, Е — 100. Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОКОС?

Читать:
Найдите вероятность того что буква а

Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

Буква К повторяется в слове КОКОС 2 раза. Закодируем её кодовым словом 101. Буква О повторяется в слове КОКОС 2 раза. Закодируем её кодовым словом 1100. Букву С закодировать кодовым словом длины 4 нельзя, поскольку не останется кодовых слов для других букв. Значит, букву С закодируем кодовым словом 00110. Тогда ответ — 3 · 2 + 4 · 2 + 5 = 19.

Заметим, что при кодировании буквы К последовательностью 101 и буквы О последовательностью 1100 букву С нельзя закодировать кодовым словом 0011, поскольку при этом не останется ни одной четырехсимвольной последовательности, с которой могли бы начинаться коды для других букв, передаваемых по каналу связи (по условию задачи могут передаваться все заглавные русские буквы).

Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что слову КАША соответствует код 011011010. Какое наименьшее количество двоичных знаков может содержать сообщение, кодирующее слово ОСОКА?

Заметим, что буква А повторяется в слове КАША 2 раза. Буква А стоит на конце слова, кодовое слово 0 для кодирования буквы А использоваться не может, поскольку будет нарушено условие Фано, кодовое слово 010 использоваться не может, поскольку второго такого кодового слова в коде 011011010 не найдётся, значит, буква А кодируется словом 10. Тогда буква Ш соответствует кодовому слову 110, а буква К соответствует кодовому слову 01.

Буква О повторяется в слове ОСОКА 2 раза, закодируем её кодовым словом 00. Букву С кодовым словом длины 3 закодировать нельзя, поскольку не останется кодовых слов для других букв, тогда закодируем её кодовым словом 1110. Тогда количество двоичных знаком в сообщении, кодирующем слово ОСОКА, равно 2 · 4 + 4 = 12.

По каналу связи передаются сообщения, содержащие только восемь букв: А, В, Е, З, И, Н, О, Р. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 101, В — 010, И — 00. Какое наименьшее количество двоичных знаков потребуется для кодирования слова НЕВЕЗЕНИЕ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Буква Е повторяется в слове НЕВЕЗЕНИЕ чаще всего, поэтому закодируем её кодовым словом 11. Буква Н повторяется в слове НЕВЕЗЕНИЕ 2 раза, поэтому закодируем её кодовым словом 100. Букву З закодировать кодовым словом длины 3 нельзя, поскольку не останется кодовых слов для оставшихся букв, которые удовлетворяли бы условию Фано. Поэтому букву З закодируем кодовым словом 0110. Тогда количество двоичных знаков, которые потребуются для кодирования слова НЕВЕЗЕНИЕ равно 4 · 1 + 2 · 5 + 3 · 3 = 23.

Ответ в данной задаче — 23. Тем, у кого получается другой ответ, рекомендуем сделать следующее:

1. Построить дерево возможных кодовых слов (в дальнейшем — кодов), длина которых не превышает 4.

2. Отметить на данном дереве заданные коды для букв А, В, И.

3. Вычеркнуть запрещенные коды, то есть коды, расположенные на ветках дерева, исходящих из отмеченных кодов, а также на ветках, соединяющих отмеченные коды с вершиной дерева.

4. Последовательно отмечать на дереве выбранный код для очередной буквы и вычеркивать коды, которые оказываются запрещенными после выбора данного кода.

После кодирования всех букв, входящих в слово НЕВЕЗЕНИЕ, в дереве кодов должен остаться хотя бы один свободный (не отмеченный и не запрещенный) код. Он необходим, чтобы на его основе построить коды для букв О и Р, которые хотя и не входят в слово НЕВЕЗЕНИЕ, но тоже могут передаваться по каналу связи и, следовательно, должны иметь свои коды. Если такого свободного кода не осталось, то решение является неверным, и необходимо выбрать другой код для последней кодируемой буквы.

Покажем, как могло бы выглядеть решение в этом случае.

Строим дерево кодовых слов, отмечаем коды заданных букв (выделено красным) и вычеркиваем запрещенные коды (выделено серым).

Выбираем для буквы, чаще всего встречающейся в слове (это буква Е, встречается 4 раза) свободный код с наименьшей длиной, отмечаем его (выделено синим) и вычеркиваем запрещенные коды (выделено серым).

Выбираем для следующей буквы, чаще встречающейся в заданном слове (это буква Н, встречается 2 раза) свободный код с наименьшей длиной (выделено синим) и вычеркиваем запрещенные коды (выделено серым).

Пытаемся выбрать код для следующей буквы (это буква З), отмечаем его и вычеркиваем запрещенные коды. В получившемся дереве не осталось ни одного свободного кода, следовательно, наш выбор неправильный.

Тогда для буквы З придется использовать код большей длины.

Если сосчитать суммарную длины кодовых слов все букв, входящих в слово НЕВЕЗЕНИЕ, то получим 23.

Какое наименьшее количество двоичных знаков потребуется для кодирования слова балалайка

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 011, Г — 100. Какое наименьшее количество двоичных знаков потребуется для кодирования слова МАГИЯ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Следующая буква должна кодироваться как 11, поскольку 10 мы взять не можем. 100 взять не можем из-за Г, значит, следующая буква должна быть закодирована кодом 101. Следующая буква должна кодироваться как 000, поскольку 00 взять не можем, иначе не останется кодовых слов для оставшейся буквы, которые удовлетворяют условию Фано. Значит, последняя буква будет кодироваться как 001. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова МАГИЯ равно 2 + 3 + 3 + 3 + 3 = 14.

Заметим, что после кодирования всех букв, входящих в слово МАГИЯ, должен остаться хотя бы один свободный код для кодирования буквы Р, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 00, Г — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова МАГИЯ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Следующая буква должна кодироваться как 011, поскольку 01 мы взять не можем, иначе код для буквы А не будет удовлетворять условию Фано. 10 из-за Г взять не можем, тогда следующая буква будет кодироваться как 100. Следующая буква должна кодироваться как 110, поскольку 11 взять не можем, иначе не останется кодовых слов для оставшейся буквы, которые удовлетворяют условию Фано. Значит, последняя буква будет кодироваться как 111. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова МАГИЯ равно

Заметим, что после кодирования всех букв, входящих в слово МАГИЯ, должен остаться хотя бы один свободный код для кодирования буквы Р, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 011, И — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ГРАММ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Для трёх букв кодовые слова уже известны, осталось подобрать для оставшихся четырёх букв такие кодовые слова, которые обеспечат наименьшее количество двоичных знаков для кодирования слова ГРАММ.

Закодируем букву М кодовым словом 00, поскольку буква М повторяется в слове ГРАММ два раза. Для буквы Г возьмём кодовое слово 110. Кодовое слово 111 взять не можем, поскольку для остальных букв не останется кодовых слов, удовлетворяющих условию Фано. Оставшиеся две буквы закодируем кодовыми словами длины 4.

Таким образом, наименьшее количество двоичных знаков, которые потребуются для кодирования слова ГРАММ, равно 3 + 4 + 3 + 2 + 2 = 14.

Заметим, что после кодирования всех букв, входящих в слово ГРАММ, должен остаться хотя бы один свободный код для кодирования буквы Я, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 00, Г — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ГРАММ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Для трёх букв кодовые слова уже известны, осталось подобрать для оставшихся четырёх букв такие кодовые слова, которые обеспечат наименьшее количество двоичных знаков для кодирования слова ГРАММ.

Закодируем букву М кодовым словом 11, поскольку буква М повторяется в слове ГРАММ два раза. Для буквы Р возьмём кодовое слово 011. Для оставшихся букв можно будет использовать кодовые слова, начинающиеся с 100.

Таким образом, наименьшее количество двоичных знаков, которые потребуются для кодирования слова ГРАММ, равно 3 + 3 + 3 + 2 + 2 = 13

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, И, К, Л, О, С. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 001, И — 01, С — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОЛОБОК?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву О закодируем кодовым словом 000, поскольку буква О повторяется в слове КОЛОБОК 3 раза. Букву К закодируем кодовым словом 110, поскольку буква К повторяется в слове КОЛОБОК 2 раза. Буквы Б и Л закодируем кодовыми словами 1110 и 1111 соответственно. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова КОЛОБОК равно 3 + 3 + 4 + 3 + 4 + 3 + 3 = 23.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, Н, Р, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Г — 110, И — 01, Т — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова БАРАБАН?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву А закодируем кодовым словом 000, поскольку буква А повторяется в слове БАРАБАН 3 раза. Букву Б закодируем кодовым словом 001, поскольку буква Б повторяется в слове БАРАБАН 2 раза. Буквы Р и Н закодируем кодовыми словами 1110 и 1111 соответственно. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова БАРАБАН равно 3 + 3 + 4 + 3 + 3 + 3 + 4 = 23.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, И, К, Л, С, Ц. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б — 00, К — 010, Л — 111. Какое наименьшее количество двоичных знаков потребуется для кодирования слова АБСЦИССА?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву С закодируем кодовым словом 10, поскольку буква С повторяется в слове АБСЦИССА 3 раза. Букву А закодируем кодовым словом 011, поскольку буква А повторяется в слове АБСЦИССА 2 раза. Буквы Ц и И закодируем кодовыми словами 1101 и 1100 соответственно. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова АБСЦИССА равно 3 + 2 + 2 + 4 + 4 + 2 + 2 + 3 = 22.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, В, Д, Е, И, Н. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 110, Б — 01, И — 000. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ВВЕДЕНИЕ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву Е закодируем кодовым словом 10, поскольку буква Е повторяется в слове ВВЕДЕНИЕ 3 раза. Букву В закодируем кодовым словом 111, поскольку буква В повторяется в слове ВВЕДЕНИЕ 2 раза. Буквы Д и Н закодируем кодовыми словами 0010 и 0011 соответственно. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова ВВЕДЕНИЕ, равно 3 + 3 + 2 + 4 + 2 + 4 + 3 + 2 = 23.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, В, Г, Й, К, Л. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б — 00, Г — 010, К — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова БАЛАЛАЙКА?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву А закодируем кодовым словом 11, поскольку буква А повторяется в слове БАЛАЛАЙКА 4 раза. Букву Л закодируем кодовым словом 011, поскольку буква Л повторяется в слове БАЛАЛАЙКА 2 раза. Буквы Й и В закодируем кодовыми словами 1000 и 1001 соответственно (заметим, что хотя буквы В нет в слове БАЛАЛАЙКА, но эта буква может передаваться по каналу связи, следовательно, для нее должен быть определен код). Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова БАЛАЛАЙКА равно 2 + 2 + 3 + 2 + 3 + 2 + 4 + 3 + 2 = 23.

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, В, Д, О, Р, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б — 01, Д — 001, Р — 100. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ВОДОВОРОТ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Букву О закодируем кодовым словом 11, поскольку буква О повторяется в слове ВОДОВОРОТ 4 раза. Букву В закодируем кодовым словом 101, поскольку буква В повторяется в слове ВОДОВОРОТ 2 раза. Букву Т нельзя закодировать словом 000, так как в этом случае невозможно будет закодировать букву А, поэтому букву Т закодируем словом 0000. Тогда наименьшее количество двоичных знаков, которые потребуются для кодирования слова ВОДОВОРОТ равно 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 4 = 24.

Заметим, что после кодирования всех букв, входящих в слово ВОДОВОРОТ, должен остаться хотя бы один свободный код для кодирования буквы А, которая не входит в данное слово, но может передаваться по каналу связи. Проверить наличие свободного кода можно, построив дерево кодов, как показано в задаче 18553.

Для кодирования некоторой последовательности, состоящей из букв К, Л, М, Н, П, Р. решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв К, Л, М, Н использовали соответственно кодовые слова 00, 01, 100, 110. Укажите кратчайшее возможное кодовое слово для буквы П, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Кодовое слово для буквы П не может начинаться с 0, поскольку кодовые слова начинающиеся с 0, будут либо являться подстрокой кодовых слов для букв К и Л, либо включать в себя кодовые слова для букв К и Л. Кодовые слова 1, 10 и 11 взять не можем, поэтому букву П можно закодировать кодовыми словами 101 или 111. Возьмём кодовое слово с наименьшим числовым значением. Следовательно, букву П можно закодировать кодовым словом 101.

По каналу связи передаются сообщения, содержащие только шесть букв: А, Б, В, К, Р, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б – 010, Т – 011. Какое наименьшее количество двоичных знаков потребуется для кодирования слова КАТАРАКТА?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Буква А повторяется в слове КАТАРАКТА чаще всего, поэтому закодируем её кодовым словом 1. Следующую букву невозможно закодировать кодовым словом длиной 2, так как будет невозможно закодировать другие буквы так, чтобы выполнялось условие Фано. Букву К закодируем кодовым словом длиной 3, например, 000. Буквы Р и В закодируем кодовыми словами 0011 и 0010. Тогда количество двоичных знаков, которые потребуются для кодирования слова КАТАРАКТА равно 4 · 1 + 2 · 3 + 2 · 3 + 4 = 20.

По каналу связи передаются сообщения, содержащие только восемь букв: А, В, Е, З, И, Н, О, Р. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 101, В — 010, И — 00. Какое наименьшее количество двоичных знаков потребуется для кодирования слова НЕВЕЗЕНИЕ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.

Буква Е повторяется в слове НЕВЕЗЕНИЕ чаще всего, поэтому закодируем её кодовым словом 11. Буква Н повторяется в слове НЕВЕЗЕНИЕ 2 раза, поэтому закодируем её кодовым словом 100. Букву З закодировать кодовым словом длины 3 нельзя, поскольку не останется кодовых слов для оставшихся букв, которые удовлетворяли бы условию Фано. Поэтому букву З закодируем кодовым словом 0110. Тогда количество двоичных знаков, которые потребуются для кодирования слова НЕВЕЗЕНИЕ равно 4 · 1 + 2 · 5 + 3 · 3 = 23.

Ответ в данной задаче — 23. Тем, у кого получается другой ответ, рекомендуем сделать следующее:

1. Построить дерево возможных кодовых слов (в дальнейшем — кодов), длина которых не превышает 4.

2. Отметить на данном дереве заданные коды для букв А, В, И.

3. Вычеркнуть запрещенные коды, то есть коды, расположенные на ветках дерева, исходящих из отмеченных кодов, а также на ветках, соединяющих отмеченные коды с вершиной дерева.

4. Последовательно отмечать на дереве выбранный код для очередной буквы и вычеркивать коды, которые оказываются запрещенными после выбора данного кода.

После кодирования всех букв, входящих в слово НЕВЕЗЕНИЕ, в дереве кодов должен остаться хотя бы один свободный (не отмеченный и не запрещенный) код. Он необходим, чтобы на его основе построить коды для букв О и Р, которые хотя и не входят в слово НЕВЕЗЕНИЕ, но тоже могут передаваться по каналу связи и, следовательно, должны иметь свои коды. Если такого свободного кода не осталось, то решение является неверным, и необходимо выбрать другой код для последней кодируемой буквы.

Покажем, как могло бы выглядеть решение в этом случае.

Строим дерево кодовых слов, отмечаем коды заданных букв (выделено красным) и вычеркиваем запрещенные коды (выделено серым).

Выбираем для буквы, чаще всего встречающейся в слове (это буква Е, встречается 4 раза) свободный код с наименьшей длиной, отмечаем его (выделено синим) и вычеркиваем запрещенные коды (выделено серым).

Выбираем для следующей буквы, чаще встречающейся в заданном слове (это буква Н, встречается 2 раза) свободный код с наименьшей длиной (выделено синим) и вычеркиваем запрещенные коды (выделено серым).

Пытаемся выбрать код для следующей буквы (это буква З), отмечаем его и вычеркиваем запрещенные коды. В получившемся дереве не осталось ни одного свободного кода, следовательно, наш выбор неправильный.

Тогда для буквы З придется использовать код большей длины.

Если сосчитать суммарную длины кодовых слов все букв, входящих в слово НЕВЕЗЕНИЕ, то получим 23.

Related Posts