Ответ:

Известные кодовые слова: К = 01, Я = 001. Поэтому кодовое слово 0 использовать нельзя, так как оно было бы началом обоих известных слов.

Для минимальной длины можно выбрать, например, такие кодовые слова:

  • К = 01;
  • Я = 001;
  • О = 10;
  • Н = 110;
  • П = 111;
  • Ч = 0000;
  • А = 0001.

Эти слова удовлетворяют условию Фано: ни одно из них не является началом другого.

Слово «КНОПОЧКА» содержит буквы: К, Н, О, П, О, Ч, К, А.

Длина кодирования:

К: 2 знака, Н: 3 знака, О: 2 знака, П: 3 знака, О: 2 знака, Ч: 4 знака, К: 2 знака, А: 4 знака.

Складываем: 2 + 3 + 2 + 3 + 2 + 4 + 2 + 4 = 22.

Меньшую длину получить нельзя: при распределении пяти неизвестных кодовых слов по ветвям двоичного дерева минимальные возможные суммы длин равны 21, 20, 18, 18 и 20 знаков; минимум равен 18 знакам для неизвестных букв. Два вхождения буквы К дают ещё 2 + 2 = 4 знака.

Ответ: 22 двоичных знака.