Sobes.tech
Back to questions
Junior — Middle
51

Как быстро можно найти элемент в связном списке?

Companies where asked
Ifellow

Answer from AI

sobes.tech AI

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

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

Пример обхода связного списка на Java:

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

boolean contains(Node head, int target) {
    Node current = head;
    while (current != null) {
        if (current.value == target) {
            return true;
        }
        current = current.next;
    }
    return false;
}