Привет! Разбираемся с кодированием букв, чтобы слово «ДОРОГА» получилось как можно короче. Логика такая: чем чаще буква встречается, тем короче должен быть её код.
Краткое пояснение: Применяем условие Фано, чтобы коды однозначно декодировались. Часто встречающимся буквам назначаем более короткие коды.
Пошаговое решение:
- Анализ частоты букв в слове «ДОРОГА»:
- Д – 1 раз
- О – 2 раза
- Р – 1 раз
- Г – 1 раз
- А – 1 раз
- Уже известные коды:
- Вывод: Самая частая буква «О», значит, ей нужен самый короткий код из доступных.
- Построение дерева кодов:
- Код «0» не подходит, так как «000» уже занят.
- Код «1» не подходит, так как «100» и «01» уже заняты.
- Остаются варианты «110», «111», но нам нужно, чтобы выполнялось условие Фано.
- Присваиваем коды:
- О (2 раза) – 110 (самый короткий из доступных)
- Д (1 раз) – 1110
- Г (1 раз) – 1111
- Проверка: Слово «ДОРОГА» кодируется как: 1110 110 01 110 1111 000.
Ответ: O - 110, Г - 1111, Д - 1110