Методология программирования должна включать в себя все аспекты структурирования данных. Программы суть конкретные формулировки абстрактных алгоритмов, основанные на конкретных представлениях и структурах данных.
Данные предшествуют алгоритмам: нужно иметь некоторые объекты до того, как можно будет что-то с ними делать.
Фундаментальные структуры данных меняют только своё значение, но никогда не меняют ни своё строение, ни множество своих допустимых значений. "Сложные" структуры, напротив, характеризуются изменением во время выполнения программы как своих значений, так и строения.
- Выбор абстрактного представления реальности
- Выбор представления данных
- Фундаментальные структуры данных
- Стандартные примитивные типы
- Массивы
- Записи
- Множества
- Файлы или последовательности (у последовательности может меняться длина; но такое изменение структуры тривиально)
- Динамические структуры данных (т.е. такие, строение которых меняется во время выполнения программы)
- Рекурсивные типы данных
- Указатели
- Списки
- Линейные списки
- Деревья
- Бинарные деревья
- Сбалансированные деревья
- Оптимальные деревья поиска
- Б-деревья (B-trees)
- Приоритетные деревья поиска (такие деревья допускают экономное представление и позволяют выполнять быстрый поиск по множествам точек на плоскости)
- Хэш-таблицы (часто используют вместо деревьев поиска)
- Структуры данных для представления графов
- Матрица смежности
- Список смежности
- Стеки
- Очереди
Комментарии
Отправить комментарий