Назад к вопросам
Junior — Middle
52
Как быстро можно найти элемент в связном списке?
Компании, где спрашивали
Ifellow
Ответ от нейросети
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;
}