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

问题描述 投票:0回答:6

我不明白双端和双向链表的区别。

两者的主要区别是什么?

data-structures linked-list doubly-linked-list
6个回答
20
投票

在双向链表中,每个节点都有两个指针。一个指向它的下一个节点,另一个指向它的前一个节点。

enter image description here

在双端链表中,每个节点只有一个指针指向它的下一个节点。它与单端链表的不同之处在于,它不是只有一个“头”节点,而是包含两个此类指针(“第一个”和“最后一个”),因此有人可以从链表的两端向链表插入元素它。

enter image description here

(最后一张图不是很清楚,但抓住了两端的重点。)


5
投票

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


3
投票

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

根据我的理解,双端列表与双端队列相同。这是一个队列,您可以从中添加和删除顶部和底部的项目。


2
投票

单链接是单向的,它使用更少的内存,插入的复杂度是 O(n)。虽然双链是双向的(下一个和上一个),但它比单列表使用更多的内存,插入和删除的复杂度是 O(n)。


0
投票

在两个链表中,都有两个来自前端和末尾的指针。但是双端列表不能向后移动,只能向前移动,而双向链表可以向前和向后移动。


0
投票

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

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

双向链表:

  • node 包含下一个和上一个节点的引用。
  • 可以在链表中来回移动

双端链表:

  • node 包含下一个节点的引用。
  • 第一个和最后一个节点有两个指针。
  • 不能在列表中来回移动
© www.soinside.com 2019 - 2024. All rights reserved.