圆形双向链表如何以及为什么是复杂度O(1)的连接?

时间:2016-01-07 03:31:32

标签: concatenation doubly-linked-list

在某个标准书中,作为一个事实,循环双向链表的串联具有复杂性O(1),而单个或双重链表不是这种情况。有人可以澄清为什么以及如何做到这一点......

1 个答案:

答案 0 :(得分:3)

在循环双向链表中,您head->prev指向最后一个元素。因此,您所要做的就是使用该节点的地址执行连接,因此O(1)。然而,在一个简单的单链或双链表中,你必须遍历列表以获取最后一个元素并执行看起来像O(n)的串联。