Представление информации в табличной форме широко распространено. Чаще всего мы пользуемся прямоугольными таблицами. Простейшая таблица состоит из строк и граф (столбцов). В верхней строке таблицы обычно располагаются заголовки столбцов. Пересечение строки и столбца образует ячейку.
Таблица типа «объект—свойство» характеризуется тем, что каждая строка такой таблицы относится к конкретному объекту. Строки таблицы расположены по возрастанию даты, упорядоченность позволяет быстро найти нужные данные.
Другой тип таблиц называется «объект—объект». Такие таблицы отражают взаимосвязь между различными объектами. Примером является таблица успеваемости учеников по разным предметам. Эта таблица отражает связь между объектами двух типов: учениками и изучаемыми дисциплинами.
В такой таблице строки и столбцы могут поменяться местами: в строках — информация о предметах, в столбцах — об учениках. Удобнее работать с таблицами, в которых столбцов меньше, чем строк.
Важной разновидностью таблиц типа «объект-объект» являются двоичные матрицы. Двоичные матрицы отображают качественную связь между объектами: есть связь или нет связи.
Табличный способ представления данных является универсальным. Любую структуру данных, в том числе и представленную в форме графа, можно свести к табличной форме.
Для табличного представления сетей используют двоичные матрицы. Двоичная матрица в этой таблице называется матрицей смежности: единицы стоят на пересечении строк и столбцов с названиями смежных (соединенных дорогой) поселков. Если сеть является неориентированным графом, то матрица смежности симметрична относительно главной диагонали, идущей от верхнего левого угла в правый нижний угол матрицы. Вследствие этого, если строки и столбцы поменять местами, то матрица не изменится.
У матрицы, отражающей ориентированный граф, такой симметричности не будет. В этом случае надо договориться о смысле строк и столбцов.
Многие компьютерные технологии работают с таблицами (базы данных, электронные таблицы); обработку таблиц удобно описывать на универсальных языках программирования. Поэтому представление системы в форме графа обычно используется в теоретических моделях, а в компьютерном моделировании чаще работают с табличным представлением.
Система основных понятий
Структуры данных | |||||||
Графы | Таблицы | ||||||
Разновидности графа | Элементы прямоугольной таблицы | ||||||
Деревья | Сети | Строки | Столбцы | Ячейки | |||
Тип связей в графе | Типы таблиц | ||||||
Один ко многим | Многие ко многим | ||||||
Элементы дерева | Элементы сети | Объект-свойство | Объект-объект | Двоичная матрица | |||
Корень | Ветви | Листья | Вершины | Ребра | |||
Единственность пути между вершинами | Множественность путей между вершинами | ||||||
Задание: Привести свои примеры структуры данных в виде графов и таблицы.