Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
144
Добавлен:
13.03.2015
Размер:
580.61 Кб
Скачать

Вопрос 5. Структуры данных. Базы данных и основные типы их организации.

Структурой данных называется логически упорядоченный, организованный набор данных. Структуры данных делятся на линейные и нелинейные.

Наиболее общим линейным типом данных является список. Спис­ком называют конечную упорядоченную последовательность эле­ментов.

При обработке информации часто приходится встречаться с пред­ставлением данных в виде списков и операциями над ними. Рас­смотрим операции над списками и способы представления (реа­лизации) списков.

Можно выделить следующие операции над списками:

  • получить доступ к заданному элементу списка;

  • включить новый элемент в список;

  • исключить элемент из списка;

  • объединить несколько списков в один;

  • разбить список на несколько списков;

  • определить число элементов списка;

  • выполнить сортировку списка;

  • сделать копию списка.

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

Стек — список, в котором все включения и исключения делают­ся в одном конце списка.

Очередь — список, в котором все включения делаются на одном конце, а все исключения — на другом.

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

Другая реализация списка заключается в сопоставлении каждому элементу списка пары (или тройки), одной частью которой является элемент списка, а другой — адрес (указатель) следующей пары (указатель на предыдущую и следующие тройки). Если элементу списка ставится в соответствие пара (тройка), то реализации называется связным (двусвязным) списком. Отметим, что включение нового элемента в список и исключение элемента из писка в этом случае существенно проще, чем в случае реализа­ции списка в виде массива.

В качестве простейшей нелинейной структуры данных рассмот­рим бинарное дерево. Бинарное дерево как структура данных получается из бинарного дерева с корнем как графа приписыванием его вершинам значений элементов структуры данных. Связи между элементами бинарного дерева можно задать в виде рассмотренных ранее матриц смежности и инцидентности (двумерных массивов). Однако более наглядным является следующая реализация бинарного дерева: вершине дерева ставим в соответствие запись, состоящую из приписанного этой вершине значения и адресов «левого» и «правого» потомков.

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

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

В сетевой базе данных нет ограничений на возможные связи между данными.

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