Принцип построения оптимальных двоичных кодов с помощью дерева Фано заключается в создании уникальных кодов, которые соответствуют условию Фано: ни один код не является началом другого. itchief.ru
Некоторые этапы построения дерева Фано и их описание:
- Начало построения. itchief.ru Дерево начинается с вершины, от которой отходят две ветви, поскольку оно является двоичным. itchief.ru Левой ветви, например, присваивается бит 0, а правой — 1. itchief.ru
- Разветвление. itchief.ru Каждый узел дерева может порождать две новые ветви. itchief.ru Ветвь, уходящая влево, например, по аналогии обозначается битом 0, а правая — 1. itchief.ru
- Заполнение и блокировка ветвей. itchief.ru Если ветвь занята символом, она блокируется и больше не участвует в разветвлениях. itchief.ru Это необходимо для соблюдения уникальности кодов и предотвращения пересечений. itchief.ru
- Достроение дерева. itchief.ru После размещения символов с известными кодами дерево достраивается для кодирования остальных букв. itchief.ru Новые ветви продолжают следовать принципу двоичного разветвления: например, 0 — для левого направления и 1 — для правого. itchief.ru
При построении дерева Фано учитывается частота встречаемости символов в тексте: чем чаще встречается какой-либо символ, тем короче для него имеет смысл назначить код и тем раньше этот символ надо поместить в дерево. www.ipo.spb.ru ru.ruwiki.ru