【问题标题】:Difference between adt and data structuresadt和数据结构的区别
【发布时间】:2018-01-03 17:42:07
【问题描述】:

堆栈是抽象数据类型的一个例子,堆栈是一个数据结构的例子,但是抽象数据类型与数据结构不同,这是怎么回事?

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为我们的 on-topic 指南规定,“要求家庭作业帮助的问题必须包括您的工作总结到目前为止已经解决了这个问题,并描述了你在解决它时遇到的困难。”
  • @RobertColumbia 我是新来的堆栈溢出,不,这不是家庭工作帮助,我很快就会进入大学学习计算机科学,所以我只是阅读 PDF 来准备自己,, ,,现在抽象数据类型和数据结构的概念让我很困惑????
  • 你试过Wikipedia吗?

标签: data-structures abstract-data-type


【解决方案1】:

您可以将 ADT(抽象数据类型)视为 操作 的集合(即 addremoveinsert,它们定义了 ADT 在数据元素集合上的行为方式. 在 ADT 级别,数据存储的确切方式是隐藏的;因此抽象数据类型中的 Abstract。这里的主要想法是隐藏数据的呈现方式,以使其更易于访问其他。示例包括MapQue

另一方面,数据结构实际上实现那些定义ADT行为的操作。示例包括 ArrayList

在更实际的情况下,您通常会看到在两个文件中定义的 ADT:1) 接口文件,它指定所需的操作; 2) 实现文件,它使用特定的数据结构来实现这些操作。

这就是为什么你会在接口文件的开头看到public interface SomeList<T>,在实现文件的开头看到public class SimpleLink<T> implements SomeList<T>——implements 是实现所有SomeList<T> 的“承诺”方法。

【讨论】:

  • List 通常是一个 ADT,有时用于引用多个数据结构中的一个(例如,在 Python 中,list 是一个数组)。你是说链表吗?
猜你喜欢
  • 2012-12-07
  • 2014-11-27
  • 2016-02-23
  • 2017-09-19
  • 2010-09-21
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2014-06-17
相关资源
最近更新 更多