Теория:

При решении задач на двоичное кодирование используют «двоичное дерево».
Двоичное дерево — это схема, по которой можно определить сколько вариантов кодов можно получить исходя из длины цепочки символов.
Каждый уровень в данном дереве — это разряд кода.
 
д1.jpg
д2.jpg
д3.jpg
Рис. \(1\). Один уровень двоичного дереваРис. \(2\). Два уровня двоичного дереваРис. \(3\). Три уровня двоичного дерева
 
На рис. \(1\) один уровень и получаем два кода \(0\) и \(1\), на рис. \(2\) два уровня и получаем четыре кода (читаем сверху вниз): \(11\), \(10\), \(01\), \(00\).
 
Задача \(1\). С помощью двоичного дерева составьте двоичные коды для букв А, Б, В, Г.
 
Решение:
Кодом, длиной в один знак можно закодировать только две буквы:
 
текст1.jpg
Рис. \(4\). Кодирование двух букв
 
А — \(0\)
Б — \(1\)
 
А нам нужно закодировать \(4\) буквы, значит нужно построить дерево в два уровня, т.е. длина цепочки будет в два знака.
 
текст2.jpg
Рис. \(5\). Кодирование четырех букв
 
Коды для А — \(00\), Б — \(01\), В — \(10\), Г — \(11\)
Источники:
Рис. 1. Один уровень двоичного дерева. © ЯКласс.
Рис. 2. Два уровня двоичного дерева. © ЯКласс.
Рис. 3. Три уровня двоичного дерева. © ЯКласс.
Рис. 4. Кодирование двух букв. © ЯКласс.
Рис. 5. Кодирование четырех букв. © ЯКласс.