Коды Прюфера
Коды Прюфера.
Кодирование Прюфера переводит помеченные деревья порядка в последовательность чисел от до по алгоритму:
 Пока количество вершин  {
   1. Выбирается лист с минимальным номером.
   2. В последовательность Прюфера добавляется номер смежной вершины.
   3. Лист и инцидентное ребро удаляются из дерева.
 }
Полученная последовательность и есть код Прюфера.
| Лемма: | 
| Номера всех вершин, которые не являются листьями или с номером , встречаются в коде Прюфера. А те, которые не входят - являются листьями. | 
| Доказательство: | 
| 1. Вершина не удаляется, так как у неё максимальный номер (в графе с вершиной - n - как минимум один раз встретилось в коде. 2. Если вершина, не лист, то у неё на каком-то шаге была смежная вершина - лист. А, значит, номер этой вершины был выписан в код. 3. Так как вершина - лист(с номером не равным ), она была только удалена.А, значит, все вершины, не являющиеся листьями "входят" в код Прюфера. | 
| Лемма: | 
| По любой последовательности длиной  из чисел от  до  можно построить помеченное дерево. | 
| Доказательство: | 
| Доказательство по индукции.
База.  - верно.
 | 
| Теорема: | 
| Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка  и последовательностями длиной  из чисел от  до  | 
| Доказательство: | 
| 1. Каждому помеченному дереву соотвествует последовательность и только одна. Это верно по построению кода.
2. Каждой последовательности соотвествует помеченное дерево и только одно. Это верно по предыдущей лемме, т.к. восстанавливали мы однозначно.
 | 
Следствием из этой теоремы является формула Кэли.
