Yazılım dünyasında veri yapıları denilince akla gelen ilk yapı bağlı listelerdir. Dinamik bir yapıya sahip olan bağlı listeler (linked lists), bu yapısıyla arraylar yani dizilerden farklıdırlar. Şimdi gelin önce listenin, sonrada bağlı listenin ne olduğunu açıklayalım.
Yazılımda Liste Nedir ?
Liste, bir veri yapısıdır ve verilerin sıralı olarak saklandığı bir dizidir. Listeler, verilerin eklenmesi, çıkarılması veya değiştirilmesi gibi işlemler için kullanılır. Örneğin, bir alışveriş listesi oluşturmak için bir liste kullanabilirsiniz. Sonrasında listeye alışveriş yapılacak ürünleri ekleyebilirsiniz.
Bağlı Liste (Linked List) Nedir ?
Bağlı liste ise, bir veri yapısıdır. Her bir düğüm (node) bir veri ve bir sonraki düğümü gösteren bir bağlantı (link) içerir. Bu sayede, bağlı listelerde veriler arasında gezinmek mümkündür. Bağlı listeler, verilerin eklenmesi ve çıkarılması gibi işlemler için kullanılır. Örneğin, bir müzik çalma listesi oluşturmak için bir bağlı liste kullanabilirsiniz ve bu listeye müzikleri ekleyebilirsiniz.
Liste ve Bağlı Liste Arasındaki Fark
Listeler ve bağlı listeler arasındaki en önemli fark, verilerin nasıl saklandığıdır. Listeler, verileri sıralı bir şekilde saklar ve her bir veri için bir indeks (index) değeri vardır. Bu sayede, verilere hızlı bir şekilde erişilebilir. Ancak, listelerde veriler eklenir veya çıkarıldığında, tüm verilerin indeksleri değişebilir ve bu işlemler yavaş olabilir. Bağlı listeler ise, verileri birbirlerine bağlı düğümler şeklinde saklar ve her bir veri için bir indeks değeri yoktur. Bu sayede, veriler eklenir ve çıkarılırken indeksler değişmez ve bu işlemler daha hızlı olur. Ancak, bağlı listelerde verilere erişmek daha yavaş olabilir çünkü her bir veri için birbirlerine bağlı düğümleri gezinmek gerekir.
Listeler ve bağlı listeler, verilerin sıralı olarak saklanması ve işlenmesi için kullanılır. Hangisinin daha iyi bir seçenek olduğu, kullanım amacına göre değişebilir. Örneğin, verilerin sıklıkla eklenip çıkarıldığı bir uygulama için bağlı liste daha uygun olabilir. Çünkü verilerin indeksleri değişmez ve bu işlemler daha hızlı olur. Ancak, verilere hızlı bir şekilde erişmek gereken bir uygulama için liste daha uygun olabilir. Bu sayede veriler sıralı bir şekilde saklanır ve indeksler ile hızlı bir şekilde erişilebilir.
Sonuç olarak, listeler ve bağlı listeler veri yapılarıdır ve verilerin sıralı olarak saklanması ve işlenmesi için kullanılır. Hangisinin daha iyi bir seçenek olduğu, kullanım amacına göre değişecektir. Listeler verilere hızlı bir şekilde erişim sağlar ancak veriler eklenir ve çıkarıldığında indeksler değişebilir ve bu işlemler yavaş olabilir. Bağlı listeler ise verilerin indeksleri değişmez ancak verilere erişim daha yavaş olabilir.
Tek Yönlü Bağlı Listeler (Singly Linked List)
Tek yönlü bağlı liste (singly linked list), verilerin birbirlerine bağlı düğümler şeklinde saklandığı bir veri yapısıdır. Her bir düğüm, bir veri ve bir sonraki düğümü gösteren bir bağlantı içerir. Bu sayede, tek yönlü bağlı listelerde veriler arasında gezinmek mümkündür. Ancak, tek yönlü bağlı listelerde veriler sadece bir yönde bağlı olduğundan, veriler arasında geriye doğru gezinilemez.
Tek yönlü bağlı listeler, verilerin eklenmesi ve çıkarılması gibi işlemler için kullanılır. Örneğin, bir müzik çalma listesi oluşturmak için bir tek yönlü bağlı liste kullanabilirsiniz. Verilerin indeksleri değişmez. Ancak, tek yönlü bağlı listelerde verilere erişmek daha yavaş olabilir. Çünkü her bir veri için birbirlerine bağlı düğümleri gezinmek gerekir.
Çift Yönlü Bağlı Listeler (Doubly Linked List)
Çift yönlü bağlı liste (doubly linked list), verilerin birbirlerine bağlı düğümler şeklinde saklandığı bir veri yapısıdır. Her bir düğüm, bir önceki düğümü ve bir sonraki düğümü gösteren iki bağlantı içerir. Bu sayede, çift yönlü bağlı listelerde veriler arasında hem ileriye doğru hem de geriye doğru gezinmek mümkündür.
Çift yönlü bağlı listeler, verilerin eklenmesi ve çıkarılması gibi işlemler için kullanılır. Örneğin, bir müzik çalma listesi oluşturmak için bir çift yönlü bağlı liste kullanabilirsiniz. Çift yönlü bağlı listelerde verilerin indeksleri değişmez. Ancak, verilere erişmek daha yavaş olabilir. Sebebi ise her bir veri için birbirlerine bağlı düğümleri gezinmek gerekir.
Bu yazımızda listeler ve bağlı listeler konusunu açıklamaya çalıştık. Tek yönlü ve çift yönlü bağlı listelerin ne olduğunu öğrendik. Umarım faydalı olmuştur. Veri yapılarıyla ilgili diğer yazılarımızı okumak isterseniz buraya tıklayabilirsiniz.