İçeriğe geç
parazade

Bağlı Liste Nedir?

İngilizce: Linked List

Yayın: · Son güncelleme:

Bağlı Liste Nedir? Kısaca

Bağlı liste (linked list), her elemanın kendi verisini ve bir sonraki elemanın adresini tuttuğu doğrusal veri yapısıdır. Elemanlar bellekte yan yana durmak zorunda değildir; birbirine bağlantılarla zincir gibi eklenir.

Bağlı Liste nedir?
İçindekiler
  1. Bağlı liste nedir?
  2. Diziden farkı ne?
  3. Türleri
  4. Nerelerde kullanılır?

Bağlı liste nedir?

Bağlı liste, elemanların zincirin halkaları gibi birbirine bağlandığı bir veri yapısıdır. Her halkaya düğüm denir. Bir düğüm iki şey taşır: asıl veri ve bir sonraki düğümün nerede olduğu bilgisi. Listenin ilk düğümüne baş (head) adı verilir, son düğüm ise hiçbir yeri göstermez.

Diziden farkı ne?

Bir dizi elemanlarını bellekte yan yana tutar. Bu yüzden 500. elemana tek adımda ulaşılır. Bağlı listede ise elemanlar belleğin farklı yerlerine dağılmıştır. 500. elemana ulaşmak için baştan başlayıp 499 bağlantıyı tek tek takip etmeniz gerekir.

Buna karşılık ekleme ve silme işlemlerinde bağlı liste öne geçer. 10.000 elemanlı bir dizinin başına yeni eleman eklemek, diğer tüm elemanları bir kaydırmayı gerektirir. Bağlı listede ise yalnızca yeni düğümü oluşturup bağlantıyı güncellersiniz.

Türleri

Tek yönlü bağlı listede her düğüm yalnız bir sonrakini gösterir. Çift yönlü bağlı listede düğümler hem önceki hem sonraki düğümü bilir. Dairesel bağlı listede ise son düğüm yeniden ilk düğüme bağlanır ve liste bir halka oluşturur.

Nerelerde kullanılır?

Müzik çalarlardaki çalma listeleri, tarayıcıdaki ileri ve geri gezinme geçmişi ve bazı kuyruk ile stack uygulamaları bağlı listeye dayanır. Günlük uygulama geliştirmede çoğu zaman dilin hazır liste yapıları yeterlidir. Yine de algoritma mülakatlarında bağlı liste soruları çok sık çıkar; bir listeyi tersine çevirme alıştırması, pointer mantığını kavramak için iyi bir başlangıçtır.

Sıkça Sorulan Sorular

Bağlı liste mi dizi mi daha hızlı?

Duruma göre değişir. Belirli sıradaki elemana erişmekte dizi çok daha hızlıdır. Listenin başına ya da ortasına sık ekleme yapılıyorsa bağlı liste avantajlıdır.

Çift yönlü bağlı liste nedir?

Her düğümün hem sonraki hem önceki düğümün adresini tuttuğu bağlı listedir. Listede iki yönde de gezinmeyi sağlar, ama her düğüm biraz daha fazla bellek kullanır.

İlgili terimler