数据结构,数据类型和抽象数据类型之间的差异

时间:2017-12-29 18:17:45

标签: types abstraction

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

  1. 抽象数据类型是定义值集合的抽象 对这个值的一系列操作。
  2. 数据结构是您存储要提供的数据的方式 有效的操作方式。
  3. 数据类型是指向计算机语言的一种指令 如何使用这种类型的数据。
  4. 我无法弄清楚这个概念的抽象层次以及它们如何相互关联。好吧,好吧,这就是我对这一切的理解:

    • Stack(ATD)是你可以放置一些物体的想法 然后只拉出最后一个推出的物体。提供2个操作 - 无效 push(bject),Object pull()。
    • Stack(数据结构)有点具体化,所以,让我们说是你可以把一些对象放在上面的想法以及push()和pull()操作如何可以工作,就像在数组的基础上一样。
    • -Stack(datatype)是我可以用于* .cpp的源代码的具体部分。

    我是对的还是我想念的?

    P.S。抱歉我的英语不好。

2 个答案:

答案 0 :(得分:0)

简单地说,数据结构,抽象数据类型和数据类型之间的关系与算法,伪代码和程序之间的关系相同。第一个是想法,第二个是正式描述(抽象,不可访问),第三个是实现(具体,可访问)。

答案 1 :(得分:0)

ADT仅以逻辑形式退出。最好用自然语言或伪代码表示。示例:列表,地图,堆栈等

一旦实现了ADT,它就会成为数据结构。 例如:链表,哈希图等。

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

但是,我相信这条线没有画得很清楚。例如,如果一种语言将链接列表作为内置类型提供,那么它将是一种类型。

也请检查以下讨论: https://softwareengineering.stackexchange.com/questions/148747/abstract-data-type-and-data-structure