【发布时间】:2015-03-17 21:21:21
【问题描述】:
我是几个java数据结构练习。
这是我目前正在做的练习
将数组链接的层次结构添加到整体结构中。使用以下名称:
AbstractNodeArrayMyList、NodeArraySorted和NodeArrayUnsorted
我已经实现了抽象数组列表、排序数组列表、未排序数组列表、抽象链表、排序链表和未排序链表。
但是我对这个数组链接结构或节点数组是什么感到困惑。
我尝试为数组链表或结构执行google search,但我得到的只是导致数组和链表之间存在差异的搜索。谁能澄清或确认我对这个节点数组或数组链接结构实际上是什么的初步看法?
当我想到一个节点时,我想到的是链表中的一个节点,它包含数据,以及对它所连接的节点的引用,比如 来自these lecture notes for ListNode.java
public class ListNode {
int data;
ListNode next;
public ListNode() {
this(0, null);
}
public ListNode(int data) {
this(data, null);
}
public ListNode(int data, ListNode next) {
this.data = data;
this.next = next;
}
}
当我想到数组时。我想到了一些支持随机访问的东西,比如你可以访问数组中的任何元素,这需要固定的时间。那么节点数组看起来像这样吗? (您将 ListNode 定义为私有内部类)并且外部类看起来像
public class NodeArray {
private ListNode[] elementData;
...
private class ListNode {
....
}
}
我不认为我最初的想法是正确的,因为通用数组列表的整个想法是它适用于任何类型的数据。那为什么要为 ArrayNode 设置一个特殊的类呢?
【问题讨论】:
-
问问你的老师他的意思。术语“数组链接列表”和“数组链接层次结构”对我来说似乎模棱两可。
-
我的例子有意义吗?
-
不,如果你已经实现了链表,这没有意义。
-
只有老师知道。
-
是的,我问过她,它只是一个节点数组
标签: java arrays data-structures arraylist linked-list