了解链表的复杂性

以下是链表操作的最佳、最差和平均复杂度:

操作 时间复杂度:最坏情况 时间复杂度:最好情况

Insert at beginning or end

\$O(1)\$

\$O(1)\$

Delete at beginning or end

\$O(1)\$

\$O(1)\$

Search

\$O(n)\$

\$O(n)\$

Access

\$O(n)\$

\$O(n)\$

我们可以通过跟踪最后一个节点,在链表末尾实现 \$O(1)\$ 的插入复杂度,就像我们在示例中对第一个节点所做的那样。这将有助于我们直接跳转到链表的最后一个节点,而无需任何迭代。