Следующие определения из Абстрактные типы данных (1996) Дейла и Уокера:
Структуры данных : реализация структурированных отношений.
ADT (абстрактные типы данных) : классы объектов, логическое поведение которых определяется набором значений и набором операций.
Итак, давайте возьмем простой класс в C ++:
class Simple {
public:
void some_simple_action();
private:
int x, y;
};
Простая должна быть структура данных, так как это реализация, правильно? Что касается этого класса, что это за абстрактный тип данных?
Во-вторых, правильно ли я предположить, что ADT являются просто концептуальным представлением чего-либо: как в представлении чего-либо, с помощью которого мы можем назвать по имени? Например, есть общая идея или даже формальная / логическая концепция стека. Если я реализую стек на заданном языке программирования, то то, что я написал, теперь является структурой данных (этого абстрактного типа данных).
Правильно ли я думаю?