структуры данных
Под структурой данных в общем случае понимают множество элементов данных и множество связей между ними.Такое определение охватывает все возможные подходы к структуризации данных, но в каждой конкретной задаче используются те или иные его аспекты. Поэтому вводится дополнительная классификация структур данных, направления которой соответствуют различным аспектам их рассмотрения.
Отличие понятий структура данных и тип данных
В языках программирования тип данных определяет:
- возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
- внутреннюю форму представления данных в ЭВМ;
- операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
Структура данных определяет набор переменных, возможно, различных типов данных, объединенных определенным образом.
Понятие "физическая структура данных" отражает способ физического представления данных в памяти машины и называется еще структурой хранения, внутренней структурой или структурой памяти.
Рассмотрение структуры данных без учета ее представления в машинной памяти называется абстрактной или логической структурой данных.
В общем случае между логической и соответствующей ей физической структурами существует различие, степень которого зависит от самой структуры и особенностей той среды, в которой она должна быть отражена.Поэтому существуют процедуры, осуществляющие отображение логической структуры в физическую и, наоборот, физической структуры в логическую.Эти процедуры обеспечивают также доступ к физическим структурам и выполнение над ними различных операций, причем каждая операция рассматривается применительно к логической или физической структуре данных.
Абстрактный тип данных – это математическая модель совместно с различными операторами, определенными в рамках этой модели.
Можно разрабатывать алгоритм в терминах абстрактного типа данных (АТД), но для реализации алгоритма в конкретном языке программирования необходимо найти способ представления АТД в терминах типов данных и операторов, поддерживаемых данным языком программирования.
Для представления АТД и используются структуры данных.