【问题标题】:difference between double-ended linked lists and doubly-linked list双端链表和双向链表的区别
【发布时间】:2015-04-04 11:09:36
【问题描述】:

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

两者的主要区别是什么?

【问题讨论】:

    标签: data-structures linked-list doubly-linked-list


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      在双端链表中,每个节点只有一个指向下一个节点的指针。它与单端链表的不同之处在于,它不是只有一个“头”节点,而是包含两个这种类型的指针(“first”和“last”),因此有人能够从两端向列表中插入元素它。

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

      【讨论】:

      • 谢谢大家,任何其他差异将不胜感激
      • 没有其他本质区别。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2013-11-15
            • 1970-01-01
            • 2015-10-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-06-03
            相关资源
            最近更新 更多