Чому ми використовуємо подвійний зв’язаний список?

Дозволяє нам рухатися в обох напрямках, переміщуючи дані вперед і назад. Простіше перевернути двозв’язаний список. Вставлення нового вузла відбувається швидше. Корисно для реалізації різних структур даних. 8 грудня 2022 р

Однозв’язаний список дозволяє прямий доступ із вузла списку лише до наступного вузла у списку. Двозв’язаний список забезпечує зручний доступ із вузла списку до наступного вузла, а також до попереднього вузла у списку.

Використання двозв’язаного списку (DLL)

  1. Він використовується у веб-браузерах для здійснення навігації веб-сторінок назад і вперед за допомогою кнопок «Назад» і «Вперед».
  2. Різні програми реалізують функції скасування та повторення за допомогою подвійного зв’язаного списку.

Ми можемо використовувати подвійний зв’язаний список для виконання бінарних дерев, куп і стеків. Якщо ми хочемо заощадити пам’ять і не потребуємо виконувати пошук, ми віддаємо перевагу однозв’язаному списку. У разі кращої реалізації під час пошуку, ми віддаємо перевагу двозв’язаному списку.

The Кеш веб-переглядача, який дозволяє переходити між сторінками також є хорошим прикладом подвійного зв’язаного списку. Останні використовувані також є прикладом DLL. Класичним прикладом застосування DLL є колода карт у грі. Він також використовується для збереження стану гри під час гри.

Переваги двозв’язаного списку

  • Обхід можна виконувати в обох напрямках (вперед або назад, оскільки ми тепер доступні з двома покажчиками – наступним і попереднім)
  • Доступ до попереднього вузла простий, оскільки ми маємо покажчик prev.
  • Для вставки та видалення елемента потрібно O(1) часу.