Sobes.tech
Назад к вопросам
Junior — Middle
67

Почему операция добавления элемента в начале связанного списка выполняется быстрее, чем в динамическом массиве?

Ответ от нейросети

sobes.tech AI

В связном списке добавление элемента в начало — это операция с постоянным временем выполнения O(1), потому что достаточно создать новый узел и перенаправить ссылку на него как на новый первый элемент. В динамическом массиве же, чтобы добавить элемент в начало, нужно сдвинуть все существующие элементы вправо, чтобы освободить место, что занимает время O(n), где n — количество элементов.

Пример на Java:

class Node {
    int value;
    Node next;
    Node(int value) { this.value = value; }
}

class LinkedList {
    Node head;
    void addFirst(int value) {
        Node newNode = new Node(value);
        newNode.next = head;
        head = newNode;
    }
}