【发布时间】:2018-01-03 17:42:07
【问题描述】:
堆栈是抽象数据类型的一个例子,堆栈是一个数据结构的例子,但是抽象数据类型与数据结构不同,这是怎么回事?
【问题讨论】:
标签: data-structures abstract-data-type
堆栈是抽象数据类型的一个例子,堆栈是一个数据结构的例子,但是抽象数据类型与数据结构不同,这是怎么回事?
【问题讨论】:
标签: data-structures abstract-data-type
您可以将 ADT(抽象数据类型)视为 操作 的集合(即 add、remove、insert,它们定义了 ADT 在数据元素集合上的行为方式. 在 ADT 级别,数据存储的确切方式是隐藏的;因此抽象数据类型中的 Abstract。这里的主要想法是隐藏数据的呈现方式,以使其更易于访问其他。示例包括Map 和Que。
另一方面,数据结构实际上实现那些定义ADT行为的操作。示例包括 Array 和 List。
在更实际的情况下,您通常会看到在两个文件中定义的 ADT:1) 接口文件,它指定所需的操作; 2) 实现文件,它使用特定的数据结构来实现这些操作。
这就是为什么你会在接口文件的开头看到public interface SomeList<T>,在实现文件的开头看到public class SimpleLink<T> implements SomeList<T>——implements 是实现所有SomeList<T> 的“承诺”方法。
【讨论】:
list 是一个数组)。你是说链表吗?