java - Java Queue Implementation中pop如何在O(1)中执行?

标签 java algorithm time-complexity

我已阅读 here Java 的队列在 O(1) 中弹出。

We know that push and pop are constant time operations [O(1) to be precise (Do you know why?)].

我不明白的是 - 如何理解? 如果它是一个链表,那么它就不能是 O(1),因为它必须保存最后一项。 如果它是一个双向链表,那么它可以。但它是双向链表吗?

最佳答案

引用自 Java 7 API:

public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable

Doubly-linked list implementation of the List and Deque interfaces. Implements all optional list operations, and permits all elements (including null).

所以是的,它是双向链接的。

关于java - Java Queue Implementation中pop如何在O(1)中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24820026/

相关文章:

algorithm - 二维线段树更新/修改步骤复杂度

java - 是什么导致了 "error: attribute mapbox_styleUrl not found"?

java - Java中如何使用锁来等待特殊条件?

java - LwjglCanvas 与 JFrame 调整大小

java - 链表算法

algorithm - 乘以系数的阶乘的大 Theta

java - 在 Web 应用程序中管理 MySql 数据库连接

algorithm - 确定算法的复杂性

algorithm - 最简单的投票/同步算法

python - 我可以在不使用两个循环的情况下执行此任务吗?