Справочники. Связи между элементами дерева формируют отдельное описание в виде линейного списка - справочник.

 

Связи между элементами дерева формируют отдельное описание в виде линейного списка - справочник.

Например, пусть исходное дерево имеет вид рисунка 7. Сформируем для него справочник (таблица 58):

Таблица 58

№ п/п Обозначение поля Элемент дерева Родительский элемент Порожденные элементы
Шифр учебной группы 01-АС -
Шифр учебной группы 01-ИЭ - 4,5,6
ФИО студента Федоров Ф.Ф. -
ФИО студента Иванов И.И. -
ФИО студента Сидоров С.С. -
ФИО студента Яковлев Я.Я. -

 

Если элементы дерева не содержат дополнительных данных, то такого описания дерева в целом достаточно. Если же элементы дерева имеют структуру, то их описание хранится отдельно в списке элементов. Например, если для элементов дерева рисунка 7 надо также хранить информацию таблиц 48 и 49, то эти данные помещаются в таблицы, подобные таблицам 59 и 60:

 

Таблица 59 Таблица 60

№ п/п ФИО старосты группы   № п/п Домашний адрес
Федоров Ф.Ф.   ул. Кирова, 3 - 4
Яковлев Я.Я.   пр. Мира, 5 - 4
      ул. Репина, 1 - 2
      ул. Маркса, 2 - 2

 

Справочник в таком случае модифицируется (таблица 61): в него добавляется графа Ссылка на элемент, в которой указывается таблица с информацией (например, Т59 для обозначения таблицы 59), и номер элемента с описанием в этой таблице:

Таблица 61

№ п/п Обозначение поля Элемент дерева Родительский элемент Порожденные элементы Ссылка на элемент
Шифр учебной группы 01-АС - Т59,1
Шифр учебной группы 01-ИЭ - 4,5,6 Т59,2
ФИО студента Федоров Ф.Ф. - Т60,3
ФИО студента Иванов И.И. - Т60,1
ФИО студента Сидоров С.С. - Т60,2
ФИО студента Яковлев Я.Я. - Т60,4

 

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

 

Рассмотрим, как решаются в этих структурах задачи просмотраэлементов дерева.

 

Пример 24. Пусть требуется сформировать список студентов, учащихся в группе 01-АС, т.е. qпросмотр = (Шифр учебной группы =01-АС, ФИО студента), где Кдоступ = 01-АС. Элементы дерева имеют структуру, показанную в таблицах 59, 60, дерево описано в таблице 61.

Решение задачи:

1. по справочнику (таблица 61) определяем элемент дерева 01-АС – это элемент с номером 1;

2. определяем порожденные элементы для него (графа Порожденные элементы) – это элемент той же таблицы с номером 3;

3. обращаемся к элементу с номером 3 и выводим фамилию и инициалы – Федоров Ф.Ф. Алгоритм заканчивает работу.

 

Пример 25. Пусть требуется определить, в какой группе учится студент Сидоров С.С. т.е. qпросмотр = (ФИО студента =Сидоров С.С., Шифр учебной группы), где Кдоступ = Сидоров С.С.

Решение задачи:

1. по справочнику (таблица 61) находим нужного студента – это элемент с номером 5;

2. по полю Родительский элемент определяем соответствующую ссылку – это элемент с номером 2;

3. обращаемся к элементу с номером 2 и выводим шифр группы – 01-ИЭ. Алгоритм заканчивает работу.

 

Рассмотрим задачу добавлениянового элемента.

 

Пример 26. Пусть в дереве рисунка 7 (описание дерева соответствует таблице 58) надо разместить элемент со структурой:

 

ФИО студента Шифр учебной группы
Комаров К.К. 01-АС

 

т.е. qдобавление = (ФИО студента =Комаров К.К., Шифр учебной группы =01-АС), где Кдоступ = Комаров К.К., 01-АС.

После включения элемента дерево приобретет вид рисунка 8, а его описание будет соответствовать таблице 62 (измененные и новые данные выделены заливкой):

 

Таблица 62

№ п/п Обозначение поля Элемент дерева Родительский элемент Порожденные элементы
Шифр учебной группы 01-АС - 3,7
Шифр учебной группы 01-ИЭ - 4,5,6
ФИО студента Федоров Ф.Ф. -
ФИО студента Иванов И.И. -
ФИО студента Сидоров С.С. -
ФИО студента Яковлев Я.Я. -
ФИО студента Комаров К.К. -







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


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

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

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

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