堆栈是抽象数据类型的示例,堆栈是数据结构的示例,但是抽象数据类型与数据结构有何不同?
最佳答案
您可以将ADT(抽象数据类型)视为操作的集合(即add
,remove
,insert
),这些操作定义了ADT在数据元素集合上的行为。在ADT级别上,数据的存储是隐藏的;因此,“抽象数据类型”中的“摘要”是这里的一个大主意是隐藏数据的呈现方式,以使其他人更易于访问,例如Map
和Que
。
另一方面,数据结构实际上实现了定义ADT行为的那些操作。示例包括Array
和List
。
实际上,您通常会在两个文件中看到一个ADT:1)一个接口文件,它指定所需的操作; 2)一个实现文件,它使用特定的数据结构来实现那些操作。
这就是为什么您会在界面文件的开头看到public interface SomeList<T>
而在实现文件的开头看到类似public class SimpleLink<T> implements SomeList<T>
的原因-implements
是实现所有SomeList<T>
方法的“诺言”。
关于data-structures - adt和数据结构之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53920516/