logo
Шпоры компютерные технологии

12.Древовидные и табличные структуры.

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

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

Планета

Расстояние до Солнца, а.е.

Относительная масса

Количество спутников

Если нужно сохранить таблицу в виде длинной символьной строки, используют один символ-разделитель между элементами, принадлежащими одной строке, и другой разделитель для отделения строк, например так:

Для розыска элемента, имеющего адрес ячейки ( m , n ), надо просмотреть набор данных с самого начала и пересчитать внешние разделители. Когда будет отсчитан m — 1 разделитель, надо пересчитывать внутренние разделители. После того как будет найден n — 1 разделитель, начнется нужный элемент. Он закончится, когда будет встречен любой очередной разделитель.

Еще проще можно действовать, если все элементы таблицы имеют равную длину. Такие таблицы называют матрицами . В данном случае разделители не нужны, поскольку все элементы имеют равную длину и количество их известно. Для розыска элемента с адресом ( m , n ) в матрице, имеющей М строк и N столбцов, надо просмотреть ее с самого начала и отсчитать a[N(m — 1) + ( n — 1)] символ, где а — длина одного элемента. Со следующего символа начнется нужный элемент. Его длина тоже равна а, поэтому его конец определить нетрудно.

Таким образом, табличные структуры данных (матрицы) — это упорядоченные структуры, в которых адрес элемента определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элемент.

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

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

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

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

Из совокупности древовидных структур состоят неоднородные семантические сети.

Древовидные структуры по видам связей

Межды узлами ДС могут иметь место различные семантические отношения.

В приведённом выше примере-это принадлежность к какой-либо сфере деятельности (отношения Целое-Часть). К такому же типу относятся спецификации использующиеся в технике для описания состава устройства.

Хорошо известны ДС классифицирующие множества объектов (отношения Общее-Частное) классификации живых существ,звёзд,химических элементов и т. п.

Если связи соответствуют временным отношениям образуются такие ДС как Геохронологическая шкала или родословные деревья (генеалогическое древо),