数据结构、数据类型和抽象数据类型的区别

Difference between data structure, data type and abstract data type

我了解基本概念和定义,例如:

  1. 抽象数据类型是定义一组值和 此值的一组操作。
  2. 数据结构是您存储数据的方式 对其进行操作的有效方法。
  3. 数据类型是计算机语言的一种指令,告诉 如何操作这种类型的数据。

我不明白的是这些概念的抽象级别以及它们之间的关系。就像,好吧,这就是我对这一切的理解:

我是对的还是漏掉了什么?

p.s。抱歉我的英语不好。

简单的说,Data structure, Abstract data type, Data type的关系就像Algorithm, Pseudo-code和Program的关系一样。第一个是想法,第二个是正式描述(抽象的,不可访问的),第三个是实现(具体的,可访问的)。

A​​DT 仅以逻辑形式存在。最好用自然语言或伪代码来表达。示例:List、Map、Stack 等

一旦实现了ADT,它就变成了一种数据结构。 示例:链表、哈希图等

类型主要指的是内置原语,例如 Int、Char 或使用其他内置类型(例如 C 结构)的用户定义类型。

不过,我相信这条线并不是严格划定的。例如,如果一种语言提供链表作为内置类型,那么它将是一种类型。

另请查看下面的讨论: https://softwareengineering.stackexchange.com/questions/148747/abstract-data-type-and-data-structure