Veri Yapıları

Bağlı Liste (Linked List) Veri Yapısı Nedir?

Bağlı Liste (Linked List) Veri Yapısı Nedir?

Veri yapıları, yazılım geliştirmenin temel taşlarından biridir. Özellikle dinamik veri yönetimi söz konusu olduğunda bağlı liste (linked list) veri yapısı önemli bir rol oynar. Bu yazıda bağlı listenin ne olduğunu, nasıl çalıştığını, türlerini, avantaj ve dezavantajlarını sade bir dille inceleyeceğiz.


1. Bağlı Liste Nedir?

Bağlı liste, elemanların bellekte ardışık (contiguous) olarak değil, birbirlerine referanslar (pointer) aracılığıyla bağlandığı doğrusal (linear) bir veri yapısıdır.

Bir bağlı listede her eleman şu iki temel bileşenden oluşur:

Bu yapıya sahip her elemana düğüm (node) denir.


2. Bağlı Listenin Temel Mantığı

Bir bağlı listede ilk düğümün referansı genellikle head adı verilen bir değişkende tutulur. Her düğüm, kendisinden sonra gelen düğümün adresini gösterir. Son düğüm ise null değerini göstererek listenin bittiğini belirtir.

Örnek yapı:

 
Head → [10 | •][20 | •][30 | null]

Burada:


3. Bağlı Liste Türleri

3.1. Tek Yönlü Bağlı Liste (Singly Linked List)

Her düğüm yalnızca bir sonraki düğümü gösterir. En basit bağlı liste türüdür.

Özellikleri:


3.2. Çift Yönlü Bağlı Liste (Doubly Linked List)

Her düğüm hem bir sonraki hem de bir önceki düğümü gösterir.

Yani düğüm yapısı şu şekildedir:

Avantajı:

Dezavantajı:


3.3. Dairesel Bağlı Liste (Circular Linked List)

Son düğüm null yerine tekrar ilk düğümü gösterir. Böylece yapı döngüsel hale gelir.


4. Bağlı Liste ile Dizi (Array) Karşılaştırması

Özellik Dizi (Array) Bağlı Liste
Bellek Yapısı Ardışık Dağınık
Erişim Süresi O(1) O(n)
Araya Eleman Ekleme Maliyetli Kolay
Bellek Kullanımı Sabit Dinamik

Kritik Fark


5. Temel İşlemler ve Zaman Karmaşıklıkları

5.1. Başa Ekleme

5.2. Sona Ekleme

5.3. Araya Ekleme

5.4. Silme


6. Avantajları


7. Dezavantajları


8. Bağlı Liste Ne Zaman Kullanılır?

Özellikle düşük seviyeli sistem programlamasında ve veri yapılarının temelini anlamak için oldukça önemlidir.


9. Özet

Bağlı liste, dinamik ve esnek bir veri yapısıdır. Dizilere göre erişim süresi dezavantajlı olsa da, ekleme ve silme işlemlerindeki avantajı nedeniyle birçok senaryoda tercih edilir.

Veri yapılarının temellerini iyi anlamak, algoritma performansını doğrudan etkiler. Bu nedenle bağlı liste, yazılım geliştiricilerin mutlaka hakim olması gereken konulardan biridir.

Bu yazıyı beğendiniz mi?

Paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.