Jump to content
Üyelik kaydınızı yaparak son yazılan içeriklerden haberdar olun! ×
  • entries
    33
  • comments
    0
  • views
    161,996

Bağlı listeler (Linked Lists)


Doğuhan ELMA

164 views

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.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...