📜  双向链表的优缺点和用途

📅  最后修改于: 2021-09-04 09:32:37             🧑  作者: Mango

双向链表 (DLL) 是一种线性数据结构,它包含一个额外的指针,通常称为前一个指针,以及位于单向链表中的下一个指针和数据。下面是说明相同的图像。

DLL 的优点

  • 反转双向链表非常容易。
  • 它可以在执行期间轻松分配或重新分配内存。
  • 与单链表一样,它是最容易实现的数据结构。
  • 这个双向链表的遍历是双向的,这在单链表中是不可能的。
  • 与单链表相比,删除节点很容易。单链表删除需要一个指向要删除的节点和前一个节点的指针,但在双链表中,它只需要要删除的指针。

DLL 的缺点

  • 与数组和单链表相比,它使用额外的内存。
  • 由于内存中的元素是随机存储的,因此元素是按顺序访问的,不允许直接访问。

DLL 的用途

  • 它用于需要前后导航的导航系统。
  • 浏览器使用它来实现访问过的网页的后退和前进导航,即一个后退和前进按钮。
  • 它也用于代表经典的纸牌游戏。
  • 各种应用程序也使用它来实现撤消和重做功能。
  • 双向链表也用于构建MRU / LRU (最近/最少使用)缓存。
  • 其他数据结构,如堆栈、哈希表、二叉树也可以使用双向链表构建或编程。
  • 同样在许多操作系统中,线程调度程序(选择哪个进程需要在哪个时间运行的东西)维护当时运行的所有进程的双向链表。

如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live