Junior — Middle
Tek bağlı liste ve dizide indeksle öğelere erişimi nasıl gerçekleştirirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir dizide indeksle erişim çok hızlı ve basittir — $array[$index] sözdizimini kullanarak doğrudan istenen elemana ulaşabilirsiniz. Bu, dizilerin elemanları sürekli bir bellek alanında saklaması sayesinde mümkündür.
Tek bağlı listede, indeksle doğrudan erişim yoktur çünkü elemanlar göstericiler aracılığıyla bağlıdır. Belirli bir indeksli öğeyi almak için, listenin başından başlayıp bir düğümden diğerine geçerek istenen indekse ulaşana kadar listeyi dolaşmanız gerekir:
function getElementAt($head, $index) {
$current = $head;
$count = 0;
while ($current !== null) {
if ($count === $index) {
return $current->value;
}
$current = $current->next;
$count++;
}
return null; // indeks aralık dışında
}
Bu nedenle, tek bağlı listedeki indeks erişimi O(n) karmaşıklığındadır, dizide ise O(1).