双端链表和双向链表的区别

17

我不理解双端链表和双向链表的区别。

这两者之间主要的区别是什么?

6个回答

20
在双向链表中,每个节点有两个指针。一个指向其下一个节点,另一个指向其上一个节点。
在双端链表中,每个节点只有一个指针指向其下一个节点。它与单端链表的区别在于,它包含了两个此类指针(“first”和“last”),因此可以从列表的两端插入元素。
(最后一张图片不太清晰,但它捕捉到了两端的重点。)

谢谢大家,如果还有其他的差异,请告诉我。 - pycod333
没有其他重要的区别。 - Kapoios

5

双向链表类似于普通的链表,但有一个额外的特点:有对最后一个链接和第一个链接的引用。在双向链表中,每个链接有两个对其他链接的引用,而不是一个。第一个是指向下一个链接,就像普通的链表一样。第二个则是指向前一个链接。


3

双向链表是一种列表,其中的元素具有指向列表中前面和后面元素的指针。

双端队列从我的理解来看与双端列表相同。它是一种队列,你可以从顶部和底部同时添加或删除项目。


2

单向链表是一种单向方向的链表,它使用更少的内存,插入操作的复杂度为O(n)。而双向链表是一种双向方向(前后)的链表,它比单向链表使用更多的内存,插入和删除操作的复杂度都是O(n)。


1

双向链表只包含节点中的下一个节点引用,因此它更像是单向链表。但是,与单向链表不同的是,双向链表包含指向第一个和最后一个节点的指针。此外,新节点可以从两端添加。

双向链表中的节点包含对下一个节点和上一个节点的引用。

双向链表:

  • 节点包含对下一个节点和上一个节点的引用。
  • 可以在链表中前后移动。

双端链表:

  • 节点包含对下一个节点的引用。
  • 有两个指针分别指向第一个和最后一个节点。
  • 不能在列表中前后移动。

0
在这两个列表中,都有从前面和后面的两个指针。但是双端列表不能向后移动,只能向前移动,而双向链表可以向前和向后移动。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接