双端链表和圆链表之间有什么区别?

时间:2016-05-26 05:30:31

标签: java algorithm data-structures linked-list

我被要求使用双端链表和循环链表来解决问题。

我知道双端链表在头节点有两个指针,一个指向下一个节点,另一个指向最后一个节点。这个想法似乎与循环链表非常相似。这两者是否彼此不同?

2 个答案:

答案 0 :(得分:1)

在循环链表中,链表的最后一个节点将指向链表的第一个节点。但是在双端链表的情况下,我们将有两个指针指向起始节点和结束节点,这将有助于在开始和结束时插入。 您可以查看这些参考文献。
参考文献
circular linked list
difference between double-ended linked lists and doubly-linked list

答案 1 :(得分:1)

在循环链表中,第一个节点(头)指向最后一个节点,最后一个节点指向第一个节点。

enter image description here

在双端链表中,每个节点只有一个指向其下一个节点的指针。它包含两个这样的指针("第一个"和"最后一个"),因此您可以从列表的两端插入元素。此外,您可以通过其指针

更快地跟踪最后一个节点

enter image description here

突出显示:双端 - 首先指向最后一个节点            循环 - 第一个和最后一个节点指向自己