Art of Math
Начнем с определений.
Определение 10. Дерево — связный граф, в котором нет циклов.
Определение 11. Висячая вершина — это вершина, локальная степень которой равна 1.
В доказательстве теоремы Кэли нам поможет небольшая лемма.
Лемма (Теорема 5). В любом дереве найдутся по-крайней мере две висячие вершины.
Доказательство. Выберем произвольную вершину дерева. Если ее степень 1, лемма доказана, иначе будем идти из нее по дереву, отмечая при обходе пройденные вершины, постоянно направляясь только в неотмеченные вершины. Понятно, что этот процесс кончится, тогда мы окажемся в вершине, из которой можно попасть либо только в помеченные вершины, либо совсем никуда. Если мы можем попасть в помеченные вершины, значит в графе есть цикл, что невозможно, значит степень вершины, в которой мы оказались равна 1. То есть, одну висячую вершину мы получили. Теперь снова сделаем все вершины непомеченными и повторим процесс для полученной нами висячей вершины, получив вторую висячую вершину. Лемма доказана.
Теорема 6 (Кэли). Число различных деревьев, которые можно построить на множестве V из N вершин, равно N^(N-2).
Доказательство.
Пронумеруем вершины от 1 до N. Рассмотрим произвольное дерево T такое, что множество его вершин совпадает с V. Выберем в нем висячую вершину с наименьшим номером, которая соединена с вершиной b1, удалим ее вместе с ребром из T, получив дерево T1. Будем вновь проделывать такие же операции с получающимися деревьями, пока оставшийся граф не будет представлять из себя две вершины при ребре. Таким образом, мы получим последовательность bi=.
Докажем теперь, что каждая такая последовательность однозначно задает дерево. Просто приведем алгоритм, который однозначно восстанавливает дерево. Алгоритм рекуррентный, докажем его по индукции.
Для N=3, восстановление очевидно.
Скажем сперва, что достаточно очевидно, что те числа от 1 до N, которых нет в bi, являются висячими вершинами изначального дерева T. Тогда возьмем самое маленькое такое число А. Понятно, что в изначальном дереве Т оно соединено ребром с вершиной b1. Проведем такое ребро. Теперь рассмотрим весь наш граф без вершины А и ребра (A, b1). Далее по индукции. Заметим, что минимальную вершину следует выбирать из тех, которые подходят по описанному условию и еще не были выбраны.Таким образом, мы установили, что каждая такая последовательность однозначно задает дерево. Количество таких последовательностей равно N^(N-2), что очевидно.
Теорема доказана.
Источник
Лекция № 14. Деревья
- Основные определения
Дерево – связный граф без циклов. Лес (или ациклический граф) – неограф без циклов. Компонентами леса являются деревья. Теорема 14.1.Для неографаGсnвершинами без петель следующие условия эквивалентны:
- G– дерево;
- G– связной граф, содержащийn– 1 ребро;
- G– ациклический граф, содержащийn– 1 ребро;
- Любые две несовпадающие вершины графаGсоединяет единственная цепь;
- G– ациклический граф, такой, что если в него добавить одно ребро, то в нем появится ровно один цикл.
Теорема 14.2.НеографGявляется лесом тогда и только тогда, когда коранг графаv(G)=0. Висячая вершина в дереве – вершина степени 1. Висячие вершины называются листьями, все остальные – внутреннимивершинами. Если в дереве особо выделена одна вершина, называемая корнем, то такое дерево называется корневым, иначе – свободным. Корневое дерево можно считать орграфом с ориентацией дуг из корня или в корень. Очевидно, что для любой вершины корневого дерева, кроме корня,
- Центроид дерева
Ветвь к вершине v дерева – это максимальный подграф, содержащий v в качестве висячей вершины. Вес
- Десятичная кодировка
Деревья представляют собой важный вид графов. С помощью деревьев описываются базы данных, деревья моделируют алгоритмы и программы, их используют в электротехнике, химии. Одной из актуальных задач в эпоху компьютерных и телекоммуникационных сетей является задача сжатия информации. Сюда входит и кодировка деревьев. Компактная запись дерева, полностью описывающая его структуру, может существенно упростить как передачу информации о дереве, так и работу с ним. Существует множество способов кодировки деревьев. Рассмотрим одну из простейших кодировок помеченных деревьев с выделенным корнем – десятичную. Кодируя дерево, придерживаемся следующих правил.
- Кодировка начинается с корня и заканчивается в корне.
- Каждый шаг на одну дугу от корня кодируется единицей.
- В узле выбираем направление на вершину с меньшим номером.
- Достигнув листа, идем назад, кодируя каждый шаг нулем.
- При движении назад в узле всегда выбираем направление на непройденную вершину с меньшим номером.
Кодировка в такой форме получается достаточно компактной, однако она не несет в себе информации о номерах вершин дерева. Существуют аналогичные кодировки, где вместо единиц в таком же порядке проставляются номера или названия вершин. Есть деревья, для которых несложно вывести формулу десятичной кодировки. Рассмотрим, например, графы-звезды
Для продолжения скачивания необходимо пройти капчу:
Источник
Важнейшие классы графов
Деревом называется связный граф , не имеющий циклов. В графе без циклов, таким образом, каждая компонента связности является деревом. Такой граф называют лесом .