Прямоугольные структуры. Массивы

Лекция 6 (2010.03.17)

Повторение темы «Структуры данных»

Лекция 1

Cтруктуры данных

Основные понятия

Задача для ЭВМ = вычислительная часть + обработка информации.

· Информация – совокупность сведений или знаний.

· Данные - информация, пригодная для обработки.

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

· Автоматизированные информационные системы (АИС) - системы обработки данных.

· Базы данных (БД) - совокупность взаимосвязанных данных.

· Структура - взаимосвязь отдельных элементов.

· Запись - совокупность (группа) элементов (полей).

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

Три уровня абстракции описания структур данных:

Ø Набор функциональных спецификаций;

Ø Логическое описание (типы данных);

Ø Физическое представление.

Классификация структур данных

Линейные Нелинейные
Прямоугольные Структуры ряда Списковые Древовидные Графы Мульти графы
Массивы, таблицы Строки, очереди, стеки, деки Линейный список n-дерево, бинарное дерево, дерево двоичного поиска    

Указатель - адрес начала записи.

Обозначения и договоренности

Множества.

Множество записей - простейшая вырожденная структура данных, характеризуемая отсутствием взаимосвязи между элементами множества (записями). В языке Паскаль логическое описание и физическое представление множества берет на себя транслятор (тип данных множество предопределен в языке, описатель set of T). Операции над множествами сведены в таблицу.

Имя операции Функциональные спецификации Аргументы Результат Описание
Создать ®U   Æ Создается пустое множ
Включить T´U®U t, u {xÎTïxÎu или x=t} К u добавляется t, если он не принадлежит u
Принадлежит? T´U®Boolean t, u Истина, если tÎu, Принадлежит ли элемент t множеству u?
Исключить T´U®U t, u {xÎTïxÎu и x¹t} Удалить элемент t из множества u
Пусто? U®Boolean u Истина, если u=Æ Пусто ли множество u?
Объединение U´U®U u1, u2 {xÎTïxÎu1 или xÎu2} Объединение u1 и u2
Пересечение U´U®U u1, u2 {xÎTïxÎu1 и xÎu2} Пересечение u1 и u2
Разность U´U®U u1, u2 {xÎTïxÎu1 и xÏu2} Разность u1 и u2
Дополнение U®U u {xÎTï xÏu} Дополнение к u

Здесь Т – базовый тип множества, U – тип множество, t – данное базового типа (t:T или tÎT), u, u1, u2 – данные типа U.

Прямоугольные структуры. Массивы

Массив - конечное упорядоченное множество элементов (записей) одного типа.

Над массивом определены следующие операции:

Ø создание массива (это делает транслятор),

Ø инициализация элемента,

Ø чтение значение элемента

Задача. Записать функциональные спецификации для структуры данных «массив».

Создание массива ®М,

Инициализация массива М´I´T®М,

Чтение значения элемента массива М´I®T.