Общие сведения

Дерево представляет собой одно из фундаментальных понятий дискретной математики и теории графов. Данная математическая структура имеет существенное значение для информатики, поскольку является базовой моделью для описания процессов поиска решений, ветвлений и проверки логических условий. В отличие от циклических процессов, деревья визуализируют и структурируют процессы выбора, где выполнение или невыполнение определенного условия ведет к однонаправленному переходу на соответствующую ветвь вычислительного процесса. Подобная совокупность вариантов формирует строгую иерархическую систему, полностью исключающую замкнутые маршруты.

Теоретические основы

В строгом математическом смысле деревом называется связный граф, не имеющий циклов. Отсутствие циклов означает, что при обходе такого графа маршрут ни при каких условиях не возвращается в исходную или ранее пройденную точку. Любой связный подграф данной структуры определяется термином поддерево. Более широким понятием выступает лес, который представляет собой граф, состоящий из одной или нескольких компонент связности, каждая из которых является деревом. В таком графе отдельные компоненты не соединены между собой, но внутренне строго подчиняются правилу отсутствия циклических маршрутов. В любом дереве каждая существующая цепь по определению является простой.

Основные определения и свойства

Деревья обладают рядом специфических математических свойств и признаков, которые описываются соответствующими теоремами. Если к существующему дереву добавить одну новую вершину и соединить ее с графом ровно одним ребром, полученная структура гарантированно сохранит свойства дерева. Граф признается деревом тогда и только тогда, когда он не содержит циклов, но при добавлении любого нового ребра между уже существующими вершинами в нем образуется ровно один простой цикл. Если в дереве присутствует хотя бы одно ребро, то в нем обязательно существует висячая вершина. Важнейшим свойством является зависимость количества элементов: граф является деревом тогда и только тогда, когда он связный, а число его ребер ровно на единицу меньше числа его вершин.

Практическое применение

В области программирования и компьютерных наук деревья активно используются для алгоритмической обработки сложных систем с большим количеством внутренних связей. На практике часто возникает необходимость преобразовать сложную графовую структуру в дерево для последовательной проверки условий и автоматизированного анализа. Для таких целей применяются методы обхода и построения структур в глубину и в ширину, что лежит в основе разработки систем искусственного интеллекта и создания эффективных алгоритмов обработки данных. Преобразование графов в древовидные формы является одной из важнейших задач вычислительной математики, позволяющей оптимизировать программы.

Особенности и характеристики

Для анализа произвольных графов применяются концепции остовных структур. Остовным деревом или скелетом называется такой подграф связного графа, который содержит все его вершины и при этом сам является деревом. Математически доказано, что каждый связный псевдограф обязательно содержит остовное дерево. Для графов с несколькими компонентами связности строится остовный лес, представляющий собой объединение остовных деревьев каждой отдельной компоненты. Процесс приведения произвольного графа к древовидному виду описывается через цикломатическое число, которое определяет наименьшее количество ребер, подлежащих удалению для построения остовного леса. Цикломатическое число вычисляется по строгой формуле: оно равно количеству ребер графа минус количество его вершин плюс количество его компонент связности. Данная закономерность логически вытекает из базового соотношения числа вершин и ребер в любых древовидных структурах.

См. также

Дерево вывода

Смотреть видео