标签: linked-list

何时在Java中使用LinkedList而不是ArrayList?

我一直只是一个人使用:

List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.

何时应该LinkedList使用,ArrayList反之亦然?

java collections linked-list arraylist

2974
推荐指数
27
解决办法
102万
查看次数

如何检测链表中的循环?

假设您在Java中有一个链表结构.它由节点组成:

class Node {
    Node next;
    // some user data
}
Run Code Online (Sandbox Code Playgroud)

每个节点都指向下一个节点,最后一个节点除外.假设列表有可能包含一个循环 - 即最终的节点,而不是具有空值,具有对列表中的一个节点的引用.

什么是最好的写作方式

boolean hasLoop(Node first)
Run Code Online (Sandbox Code Playgroud)

true如果给定的Node是带循环的列表的第一个,它将返回,false否则?你怎么写,这需要一个恒定的空间和合理的时间?

这是一个循环列表的图片:

替代文字

java algorithm linked-list data-structures

413
推荐指数
9
解决办法
16万
查看次数

372
推荐指数
7
解决办法
21万
查看次数

数组与链表

为什么有人想在阵列上使用链表?

毫无疑问,对链接列表进行编码比使用数组要多一些工作,人们可能想知道什么是合理的额外工作.

我认为在链表中插入新元素是微不足道的,但它是数组中的一项重要工作.使用链表存储一组数据与将其存储在数组中是否还有其他优点?

这个问题不是一个重复这个问题,因为其他的问题是关于一个特定的Java类专门询问,而这个问题的关注与一般的数据结构.

language-agnostic arrays linked-list data-structures

192
推荐指数
19
解决办法
22万
查看次数

为什么std :: list :: reverse有O(n)复杂度?

为什么std::listC++标准库中的类的反向函数具有线性运行时?我认为对于双向链表,反向函数应该是O(1).

反转双向链表应该只涉及切换头指针和尾指针.

c++ stl linked-list c++11

189
推荐指数
4
解决办法
8822
查看次数

Python链接列表

在python中使用链表最简单的方法是什么?在方案中,链接列表简单地定义'(1 2 3 4 5).事实上,Python的列表[1, 2, 3, 4, 5]和元组(1, 2, 3, 4, 5)并不是链表,链表有一些很好的属性,例如常量时间连接,并且能够引用它们的不同部分.让它们一成不变,它们真的很容易合作!

python linked-list

178
推荐指数
7
解决办法
29万
查看次数

何时在数组/数组列表中使用链表?

我使用了很多列表和数组,但我还没有遇到过这样一个场景,即如果不比链表更容易使用数组列表那么容易.我希望有人能给我一些关于链表明显更好的例子.

arrays linked-list list arraylist

167
推荐指数
6
解决办法
17万
查看次数

Python的列表是如何实现的?

它是一个链表,一个数组?我四处搜寻,只发现有人在猜测.我的C知识不足以查看源代码.

python arrays linked-list list python-internals

158
推荐指数
7
解决办法
6万
查看次数

解释循环链表中查找循环开始节点的工作原理?

我知道Tortoise和Hare的会议总结了循环的存在,但是如何将兔子移动到链接列表的开头同时将野兔保持在会场,然后一步一步地移动两个步骤使它们在循环的起始点相遇?

algorithm linked-list cycle floyd-cycle-finding

146
推荐指数
9
解决办法
8万
查看次数

为什么ArrayDeque比LinkedList更好

我试图理解为什么Java的ArrayDeque优于Java的LinkedList,因为它们都实现了Deque接口.

我几乎没有看到有人在他们的代码中使用ArrayDeque.如果有人对ArrayDeque的实现方式有了更多了解,那将会很有帮助.

如果我明白了,我会更有信心使用它.我无法清楚地了解JDK实现它管理头尾引用的方式.

java linked-list deque arraydeque

141
推荐指数
5
解决办法
6万
查看次数