Bağlı listeler (Linked Lists)
Bağlı listeler, düğümlerden (nodes) oluşan bir veri yapısıdır. Her düğüm, bir veri alanı ve bir sonraki düğümün referansını içerir. İlk düğüme başlangıç düğümü denir, son düğüm ise genellikle NULL referansına sahip olur.
İşte bağlı listelerin temel özellikleri ve bileşenleri:
Düğüm (Node): Bir düğüm, genellikle iki bileşen içerir: bir veri kısmı ve bir sonraki düğümün referansı.
Baş Düğüm (Head): Listenin ilk düğümüne baş düğüm denir. Baş düğümü bilindiği sürece, listedeki diğer düğümlere erişilebilir.
Tek Yönlü Bağlı Liste (Singly Linked List): Tek yönlü bağlı listelerde her düğüm, sadece sonraki düğüme bir referans içerir. Böylece listede yalnızca ileri doğru hareket edilebilir.
Çift Yönlü Bağlı Liste (Doubly Linked List): Çift yönlü bağlı listelerde her düğüm, hem sonraki düğüme hem de önceki düğüme bir referans içerir. Bu sayede listede hem ileri hem de geri doğru hareket edilebilir.
Dairesel Bağlı Liste (Circular Linked List): Dairesel bağlı listelerde son düğüm, baş düğüme işaret eder. Bu, listeyi bir döngü haline getirir.
Avantajları:
Dinamik boyut: Bağlı listeler, sabit bir boyut gerektirmez, bu yüzden dinamik olarak genişleyebilir ve küçülebilir.
Verimli ekleme ve çıkarma: Belli bir düğümdeki ekleme ve çıkarma işlemleri, sabit zaman alır (O(1)). Ancak bu işlemi gerçekleştirebilmek için o düğüme erişim gerekir ki bu da O(n) zaman alır.
Dezavantajları:
Erişim zamanı: Rastgele erişim, bağlı listelerde yavaştır. Bir düğüme ulaşmak için baştan başlayıp ilerlemek gerekir.
Ekstra bellek kullanımı: Her düğüm, bir sonraki düğüme olan referansı nedeniyle ekstra bellek kullanır.
İşte basit bir tek yönlü bağlı liste düğümünün Python'da nasıl tanımlanabileceği:
class Node: def __init__(self, data=None): self.data = data self.next = None
Bağlı listeler, yığınlar (stacks) ve kuyruklar (queues) gibi veri yapılarının uygulanmasında da kullanılır. Her ne kadar dizilerle (arrays) benzer işlevlere sahip olsalar da, farklı durumlar için avantajlar ve dezavantajlar sunarlar.
0 Comments
Recommended Comments
There are no comments to display.