Лекция: Деревья .Графы

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

Корневой узел — самый верхний узел дерева.

Корень — одна из вершин, по желанию наблюдателя.

Лист, листовой или терминальный узел — узел, не имеющий дочерних элементов.

Внутренний узел — любой узел дерева, имеющий потомков, и таким образом, не являющийся листовым узлом.

Арность дерева — количество ветвей из корня.

Дерево считается ориентированным, если в корень не заходит ни одно ребро.

Полный сцепленный ключ — идентификатор записи, который образуется путём конкатенации всех ключей экземпляров родительских записей (групп).

Существует два основных типа деревьев. В рекурсивном дереве или неупорядоченном дереве имеет значение лишь структура самого дерева без учёта порядка потомков для каждого узла. Дерево, в котором задан порядок (например, каждому ребру, ведущему к потомку, присвоены различные натуральные числа) называется деревом с именованными рёбрами или упорядоченным деревом со структурой данных, заданной перед именованием и называемой структурой данных упорядоченного дерева.

Упорядоченные деревья являются наиболее распространёнными среди древовидных структур. Двоичное дерево поиска — одно из разновидностей упорядоченного дерева.

Пошаговый перебор элементов дерева по связям между узлами-предками и узлами-потомками называется обходом дерева. Обход, при котором каждый узел-предок просматривается прежде его потомков называется предупорядоченным обходом или обходом в прямом порядке (pre-order walk), а когда просматриваются сначала потомки, а потом предки, то обход называется поступорядоченным обходом или обходом в обратном порядке (post-order walk). Существует также симметричный обход, при котором посещается сначала левое поддерево, затем узел, затем — правое поддерево, и обход в ширину, при котором узлы посещаются уровень за уровнем (N-й уровень дерева — множество узлов с высотой N). Каждый уровень обходится слева направо.

---------

Операции над деревьями:

— удаление элементов (при удалении корня возникают новые деревья)

чаще всего сложные деревья переводят в бинарные путем введения фиктивных ячеек

удаление элементов приводит к изменению структуры

Если два корня, то нельзя попасть из одного корня в другой!!! Так как общее у них — только основная часть.

 

13.2. Графы

Граф — это совокупность непустого множества вершин и наборов пар вершин (связей между вершинами).

Объекты представляются как вершины, или узлы графа, а связи — как дуги, или рёбра. Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или рёбрах.

Основная задача графа — поиск оптимального пути.

В машине граф представляется как «матрица инциденций»: — такие матрицы симметричны относительно диагонали. НО только у неориентированных (ненаправленных графов)

13.2.1. Смешанный граф G — это граф, в котором некоторые рёбра могут быть ориентированными, а некоторые — неориентированными.

Ориентированный и неориентированный графы являются частными случаями смешанного.

 

еще рефераты
Еще работы по информатике