Встречается на собеседованиях • сегодня

Что такое двунаправленный список

Двунаправленный список (doubly linked list) — это структура данных, где каждый узел содержит данные и две ссылки: на следующий и предыдущий узлы. Это позволяет обходить список в обоих направлениях, в отличие от однонаправленного списка.

Преимущества:

  • Быстрое удаление/вставка как в начале, так и в конце списка (O(1))
  • Возможность обхода в обе стороны

Недостатки:

  • Больший расход памяти (хранит две ссылки вместо одной)
  • Сложнее в реализации

Пример на Python:

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
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы