Построим дерево кодирования для заданных букв.
Видно, что в дереве есть четыре свободных узла: 000 (длина кода 3), 01 (длина кода 2), 101 (длина кода 3), 110 (длина кода 3). Нужно закодировать ещё пять букв (Л, М, О, П, С), четыре из которых входят в слово МОЛОКОСОС.
Один из свободных узлов нужно использовать для расширения дерева. Если расширить узел длины 2, то все буквы будут кодироваться тремя двоичными символами и длина кода для слова МОЛОКОСОС составит 9 ⋅ 3 = 27 бит.
Если расширить узел длины 3, то получится один узел длины 2, два узла длины 3 и два узла длины 4. Чтобы количество знаков для кодирования слова МОЛОКОСОС было минимальным, нужно брать для букв Л, М, О, С как можно более короткие коды, при этом самый короткий код надо использовать для буквы О, которая встречается в заданном слове четыре раза; для буквы С, которая встречается два раза, можно взять код более длинный, а для букв Л и М (по одному разу) – самый длинный. С учётом уже заданного кода для К получаем 4 ⋅ 2 + 2 ⋅ 3 + 3 + 4 + 3 = 24 бита.