Что такое двунаправленный список
Python
Senior
СБЕР Роботы
Что такое двунаправленный список
Ответы
Двунаправленный список (doubly linked list) — это структура данных, где каждый узел содержит данные и две ссылки: на следующий и предыдущий узлы. Это позволяет обходить список в обоих направлениях, в отличие от однонаправленного списка.
**Преимущества:**
- Быстрое удаление/вставка как в начале, так и в конце списка (O(1))
- Возможность обхода в обе стороны
**Недостатки:**
- Больший расход памяти (хранит две ссылки вместо одной)
- Сложнее в реализации
**Пример на Python:**
```
class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = None
class DoublyLinkedList:
def __init__(self):
self.head = None
self.tail = None
def append(self, data):
new_node = Node(data)
if not self.head:
self.head = self.tail = new_node
else:
new_node.prev = self.tail
self.tail.next = new_node
self.tail = new_node
```