在Java中,为什么在链表中插入或删除是一个常量时间操作?这不是误导吗?
2022-09-04 07:41:23
在列表的特定点插入或删除元素(假设我们已经有指向该节点的指针)是一个常量时间操作。- 来自链接列表上的维基百科条目
单个链表中的链接列表遍历始终从头部开始。我们必须继续前进,直到我们满足一个给定的条件。
因此,这将使任何操作最坏的情况O(n),除非我们正在处理头节点。
我们不能直接转到链接列表中的给定指针。那么为什么说它是一个恒定时间操作呢?
编辑:即使我们有一个指向节点的指针,我们也只能从头部开始对吧?那么它是如何进行恒定时间操作的