【问题标题】:Data Structure - Abstract data type VS Concrete data type数据结构 - 抽象数据类型 VS 具体数据类型
【发布时间】:2021-11-13 19:20:02
【问题描述】:

抽象数据类型 (ADT):有组织的数据和对此数据的操作 示例:堆栈、队列 具体数据类型(CDT)是什么意思?

请举例说明。

【问题讨论】:

    标签: data-structures eclipse-cdt adt abstraction


    【解决方案1】:

    理解它的一种方式是,ADT 是具有某些方法的对象的规范。

    例如,如果我们谈论 List,我们指的是执行列表操作的对象,例如:

    • 添加到开头
    • 添加到末尾
    • 插入位置
    • 尺寸
    • 等等..

    此上下文中的“具体数据类型”指的是您用于实现列表的实际数据结构。

    例如,List 的一种实现是创建具有值和 next 指针的节点,以指向列表中的下一个节点。

    另一个是有一个值数组和一个下一个数组来告诉你下一个节点在哪里(这是一个更流行的并行实现)。

    还有一个是有一个动态数组(在 Java 中称为 ArrayList),您可以在其中使用一个数组直到它填满,然后复制它的大小并将值复制到新数组中。

    所以具体的数据类型是指实际使用的数据结构,而ADT是List、Dictionary、Stack、Queue、Graph等抽象概念。

    有很多方法可以实现 ADT。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 2020-05-05
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      相关资源
      最近更新 更多