链表是抽象数据类型还是数据结构?

时间:2013-10-21 15:02:25

标签: java data-structures

因为它似乎被明确定义为包含一些数据和地址到下一个节点的节点,所以我认为它是一个数据结构而不是抽象数据类型。

然而,在维基百科的data structures条目中,它不包括在内。出于学习的目的,我原本期望它对数组来说是重要的,但除了另请参阅

之外,它没有列出。

以下是 ADT的维基百科。

以下是list of data structures

看似更准确的维基百科条目

3 个答案:

答案 0 :(得分:3)

Java LinkedList是一个具体的类,它实现了每个节点通过链接链接到一个或多个邻居的结构。

您链接到的抽象数据类型维基百科文章使用了完全不同含义的单词abstract。这意味着数据类型是以抽象的方式定义的 - 就像我上面描述的Java LinkedList(实现了每个节点通过链接链接到一个或多个邻居的结构)。

在Java中,抽象数据类型是实际上无法实例化的类型 - 它们只能被扩展。这里使用单词abstractADT中单词Abstract的使用无关。

答案 1 :(得分:3)

我知道LinkedList不是ADT。它是数据结构。请查看此链接http://en.wikipedia.org/wiki/List_of_data_structures,其中包含链接列表。

Linkedlist可以单链接或双链接。

答案 2 :(得分:0)

onFailure()

List是ADT,LinkedList是Datastructure。

Stack是ADT和Data Structure,因为它与object一起工作,不需要具体的实现。