Коды Прюфера — различия между версиями
| Строка 18: | Строка 18: | ||
<br>  | <br>  | ||
Пусть у нас есть последовательность: <tex>A = [a_1, a_2, ..., a_{n - 2}].</tex>  | Пусть у нас есть последовательность: <tex>A = [a_1, a_2, ..., a_{n - 2}].</tex>  | ||
| − | Выберем минимальное число <tex>v</tex> не лежащее в A. Это означает, что <tex>v</tex> - вершина, которую мы удалили первой, а, значит, это лист. Соединяем <tex>v</tex> и <tex>a_1</tex> ребром. Выкинем из последовательности <tex>A</tex> - <tex>a_1</tex>. Далее будем перенумеровывать вершины - то есть  | + | Выберем минимальное число <tex>v</tex> не лежащее в A. Это означает, что <tex>v</tex> - вершина, которую мы удалили первой, а, значит, это лист. Соединяем <tex>v</tex> и <tex>a_1</tex> ребром. Выкинем из последовательности <tex>A</tex> - <tex>a_1</tex>. Далее будем перенумеровывать вершины - то есть - <tex>\forall i : a_i > v - a_i = a_i - 1</tex>. А теперь мы можем применить предположение индукции.  | 
}}  | }}  | ||
Версия 22:07, 8 октября 2010
Коды Прюфера.
Кодирование Прюфера переводит помеченные деревья порядка n в последовательность чисел от 1 до n по алгоритму:
 Пока количество вершин  {
   1. Выбирается лист с минимальным номером.
   2. В последовательность Прюфера добавляется номер смежной вершины.
   3. Лист и инцидентное ребро удаляются из дерева.
 }
Полученная последовательность и есть код Прюфера.
| Лемма: | 
По любой последовательности длиной  из чисел от  до  можно построить помеченное дерево.  | 
| Доказательство: | 
| 
 Доказательство по индукции.
База.  - верно.
  | 
| Теорема: | 
Кодирование Прюфера задаёт биекцию между множествами помеченных деревьев порядка  и последовательностями длиной  из чисел от  до   | 
| Доказательство: | 
| 
 1. Каждому помеченному дереву соотвествует последовательность и только одна. Это верно по построению кода.
  | 
Следствием из этой теоремы является теорема Кэли.