Организация данных и структуры данных
Метод обменной сортировки с выбором
Метод турнирной сортировки
Методом квадратичной сортировки
Метод вставки
Методы Замещения
Слияние рассортированных подфайлов
Осциллирующей сортировки
Многофазная сортировка
Сравнение методов внешней сортировки
Генераторы программ сортировки слияния
Информация и ее представление в вычислительных машинах
Ассоциативная структура
Последовательная структура
Связанный список
Простые операции над списками
Иерархические структуры
Древовидная структура
Линейное представление древовидной структуры
Преобразование арифметических выражений в списковые структуры
Сетевая структура
Системы управления базами данных
Инвертированные файлы
Пример инвертированного файла
Поиск по нескольким ключам
Элементы системы управления базой данных
Работа системы управления базой данных
Роль администратора базы данных
Определения
Организация в записи
Компоненты записи
Блоки
Форматы блоков и записей
Организация и методы доступа
Последовательная организация
Метод доступа с очередями
Библиотечная организация
Оглавление тома
Метки оглавления тома
Метки тома магнитной ленты
Прямая организация
Прямая адресация
Методы рандомизации
Сравнение методов рандомизации
Индексно-последовательная организация
Область основных данных
Области переполнения
Области индексов
Произвольный поиск
Режимы обработки
Добавление новых записей
Статистика
Общее про методы сортировки
Сортировка в основной памяти
Метод сортировки посредством выбора

Сетевая структура

Многие встречающиеся в практике иерархические структуры могут быть точно представлены или хорошо аппроксимированы древовидными структурами. Однако часто возникает необходимость описывать реальный мир более сложной моделью. Хорошим примером такой модели является иллюстрируемая ниже сетевая структура.

Рассмотрим предприятие, которое выпускает различные машины, состоящие из разнотипных деталей, причем детали одного типа могут использоваться в машинах разного типа. Узлами этой структуры являются предприятие, машины и детали, в то время как ветви (связи) выражают отношения «используется в» и «состоит из» (рис. 9.36).

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

Какие детали являются компонентами конкретной машины и какое количество их необходимо?
Где используется данная деталь и сколько таких деталей требуется для машины данного типа?
Какие рабочие заказы имеются на данную деталь или машину?
Каково состояние запасов для данной детали?
Каковы рабочие заказы на все детали и машины?

Какие операции необходимо выполнить над данной деталью при сборке машины и на

каком производственном участке они выполняются?
Какие машины собираются и где?
Какие операции выполняются и какие детали используются на конкретном производственном участке?

Если бы структура данных была представлена в виде дерева, то некоторые из этих вопросов либо остались бы невыясненными, либо ответы на них можно было бы получить только очень сложным и неэкономным по времени способом. Основное различие между древовидной структурой и сетевой структурой заключается в том, что в сети в узел может входить более одной ветви. Поэтому в такой структуре есть узлы, которых можно достигнуть различными путями, двигаясь от корня.

На практике часто применяется сочетание этих трех основных структур данных. Широко распространенной является последовательно упорядоченная ассоциативная структура, которая в традиционной обработке данных известна как рассортированный файл. Кроме рассмотренных здесь возможностей организации данных, существуют еще более сложные структуры данных. Однако доступное в настоящее время программное обеспечение не может обрабатывать даже все те структуры, которые мы рассмотрели выше. Например, используя в КОБОЛе раздел DATA DIVISION или в ПЛ/1 оператор DECLARE, можно определять и обрабатывать последовательные структуры (массивы) и деревья (причем на последние накладываются определенные ограничения), но нельзя обрабатывать сети, в то время как в ФОРТРАНе и АЛГОЛе можно без использования специальных программистских приемов определять и обрабатывать только массивы.

Hosted by uCoz