Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тема 7.7 Деревья. Код Пруфера.
Деревом называется всякий несвязный граф без циклов. Граф, состоящий из изолированной вершины, тоже считается деревом. Вершина дерева, степень которой равна 1, называется висячей. Лесом называется граф представленный в виде объединения деревьев. Теорема: Если у дерева n вершин, то ребер n-1. Рассмотрим произвольное дерево с 11 вершинами, пронумерованными в произвольном порядке.
В результате возникает вопрос: сколько существует таких деревьев с 11 вершинами? Английский математик Кэли нашел ответ на этот вопрос: деревьев с n вершинами можно создать столько, сколько существует последовательностей вида: , где и таких последовательностей будет nn-2. Немецкий математик Пруффер продолжил решать эту проблему и указал алгоритм, согласно которому любому дереву можно поставить во взаимно-однозначное соответствие – код. Алгоритм: 1. выбираем висячую вершину с наименьшим номером. 2. удаляем ее вместе с принадлежащим ей ребром. 3. записываем номер вершины полученного дерева ближайшей к удаленной. 4. повторяем данные действия до тех пор пока не останется две висячие вершины, связанные между собой ребром.
1. вершина № 2 2. записываем вершину № 1 3. выбираем вершину № 3 4. записываем вершину № 1 и т.д., в результате получаем код: (1, 1, 5, 5, 6, 6, 6, 6, 5) И наоборот, зная код можно изобразить дерево. Алгоритм составления дерева по коду: 1. находим наименьшее натуральное число, которое не встречается в последовательности. 2. это число – номер вершины, которую необходимо соединить с вершиной, которая встречается первой в коде. 3. находим следующее число Дан код (1, 5, 5, 3, 6, 4). Количество вершин = 8, 1. наименьшее число, не встречающееся в последовательности – 2 2. строим эту вершину и соединяем ребром с вершиной №1 3. аналогично перебираем все цифры не встречающиеся в последовательности до 8.
|