【发布时间】:2015-03-18 03:58:49
【问题描述】:
这是基于我的另一个问题。 What is an array linked structure or node array?
我试图做这个练习
对我的另一个问题的回答之一要求我请我的老师澄清什么是数组链接层次结构。在我问她之后,她说这只是一个节点数组。
我认为节点数组与 laune 所说的一致,因为 " 是一种技术,如果你有一组有限的固定类型节点,保存在数组 Node[] = new Node[CAPACITY] 中, Node 的一个字段是一个 int - 索引。像往常一样,有效负载是任何东西。最初,您有一个可用列表中的所有节点,链接 0->1->2->",有效负载是节点持有,其中包括数据及其持有的链接。
所以从所有这些来看,这就是我脑海中的数据结构
public class NodeArray {
private ListNode[] elementData;
...
private class ListNode {
private int data;
private ListNode next;
....
}
}
这种节点数组数据结构与常规链表和数组列表相比有什么优势?我看不出你为什么想要这样的数据结构。对我来说,它只是 ArrayList 的另一个来源,因为数组列表是通用的,它们的数组可以用于任何类型,包括列表节点。
【问题讨论】:
-
我看到这样做的唯一区别是利用对逻辑列表中任何节点的恒定时间访问,而不是必须遍历列表来查找特定节点。不过这真的取决于它的应用。
标签: java list data-structures arraylist linked-list