Иерархические структуры

 

Дерево (или иерархическая структура) – это конечное множество Т элементов, такое, что выполняются следующие условия:

1. имеется один специально выделенный элемент, называемый корнем дерева;

2. остальные элементы (кроме корня) содержатся в m ≥ 0 попарно не пересекающихся множествах Т1, ....Тm, каждое из которых в свою очередь является деревом. Деревья Т1, ....Тm являются поддеревьями данного дерева.

Пример дерева показан на рисунке 5:

 

 

Рисунок 5

 

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

1. исходное множество Т = {Студенты, 01-АС, 02-ВТ, 01-ИЭ, Федоров Ф.Ф., Петров П.П., Иванов И.И., Сидоров С.С., Яковлев Я.Я.};

2. в качестве корня выступает элемент Студенты;

3. непересекающиеся множества в составе:

· Т1 = {01-АС, Федоров Ф.Ф.};

· T2 = {02-ВТ, Петров П.П.};

· Т3 = {01-ИЭ, Иванов И.И., Сидоров С.С., Яковлев Я.Я.}.

Очевидно, множества Т1, Т2, Т3 также являются деревьями с корнями, соответственно, 01-АС, 02-ВТ, 01-ИЭ. В силу этого можно говорить о том, что данные деревья имеют в составе поддеревья:

· корень – 01-АС, множество Т1 = {Федоров Ф.Ф.};

· корень – 02-ВТ, множество Т1 = {Петров П.П.};

· корень 01-ИЭ, непересекающиеся множества Т1 = {Иванов И.И.}, Т2 = {Сидоров С.С.}, Т3 = {Яковлев Я.Я.}.

Аналогичным образом, можно рассматривать вершины, соответствующие фамилиям и инициалам студентов, как вырожденные деревья, представленные только корнями. Для них выполняется условие, когда число непересекающихся подмножеств остальных элементов множества Т равно 0: m = 0.

Таким образом, в дереве рисунка 5 можно выделить несколько деревьев (для лучшего понимания они выделены в отдельные рисунки, корни показаны полужирным шрифтом). Поскольку деревья выделялись последовательно, с каждым шагом выделения деревьев свяжем уровень, начиная с нулевого:

а) исходное дерево – нулевого уровня

 

 

б) поддеревья первого уровня

 

в) поддеревья второго уровня

 

Рисунок 6

 

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

Дадим некоторые определения, которые понадобятся нам в дальнейшем:

1. уровень иерархии – показывает, на каком по счету шаге выделения дерева сформированы данные корни деревьев;

2. подобные элементы – элементы (вершины дерева), расположенные на одном уровне иерархии. Такие элементы, как правило, имеют одинаковую внутреннюю структуру;

3. порожденные элементы– элементы (вершины дерева), расположенные на следующем уровне иерархии;

4. родительские элементы– элементы (вершины дерева), расположенные на предыдущем уровне иерархии.

Введенные понятия прокомментированы на рисунке 7:

 

 

Рисунок 7

 

Традиционными способами организации хранения иерархических структур являются: множественные ссылки на порожденные элементы, ссылки на подобные и порожденные элементы; кольцевые структуры; справочники; битовые отображения.








Дата добавления: 2015-03-03; просмотров: 805;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.