Всем привет!!! Мы обсуждали основные проблемы связанных списков и концепцию двойных связанных списков в предыдущем рассказе этой серии.



Переходя к следующему шагу подготовки связанного списка, у нас есть несколько основных концепций и проблем.

Круговой связанный список

Круговой связанный список — это связанный список, в котором все узлы соединены в круг. В конце нет NULL. Циклический связанный список может быть одинарным циклическим списком или дважды циклическим связанным списком.

Преимущества круговых связанных списков:

  1. Любой узел может быть отправной точкой. Мы можем пройти весь список, начиная с любой точки. Нам просто нужно остановиться, когда первый посещенный узел будет снова посещен.
  2. Полезно для реализации очереди. В отличие от этой реализации, нам не нужно поддерживать два указателя на передний и задний, если мы используем кольцевой связанный список. Мы можем поддерживать указатель на последний вставленный узел, и фронт всегда можно получить как следующий за последним.
  3. Циклические списки полезны в приложениях для повторного обхода списка. Например, когда на ПК запущено несколько приложений, операционная система обычно помещает запущенные приложения в список, а затем циклически перебирает их, давая каждому из них отрезок времени для выполнения, а затем заставляя их ждать. в то время как ЦП отдается другому приложению. Для операционной системы удобно использовать круговой список, чтобы, достигнув конца списка, она могла циклически перемещаться в начало списка.
  4. Циклические двусвязные списки используются для реализации расширенных структур данных, таких как куча Фибоначчи.

Поскольку мы выполнили задачи легкого уровня для связанного списка, мы перейдем к вопросам среднего уровня:

  1. https://leetcode.com/problems/rotate-list/
  2. https://leetcode.com/problems/intersection-of-two-linked-lists/
  3. https://leetcode.com/problems/linked-list-cycle-ii/
  4. https://leetcode.com/problems/remove-duplicates-from-sorted-list/

Предстоящие сообщения: размещение за пределами кампуса, DSA Day -16