Sobes.tech
Junior — Middle

Milyen algoritmus és időbeli összetettség használatos a pozíció szerinti elemhez való hozzáféréshez egy láncolt listában?

sobes.tech MI

Válasz az MI-től

Для доступа к элементу по позиции в связном списке обычно используется простой алгоритм последовательного обхода от начала списка до нужного индекса. Это связано с тем, что связный список не поддерживает прямой доступ по индексу.

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

Пример на Java:

Node current = head;
int count = 0;
while (current != null && count < position) {
    current = current.next;
    count++;
}
// current теперь указывает на элемент на позиции position или null, если позиция вне диапазона