Bağlı Liste Nedir? - (Linked List Nedir?)

Bağlı Listeler
Linked List Gösterimi
Bağlı Listeler adıyla da bilinen Linked List, Abstract Data Types olarak bilinen bir veri saklama metodudur. Veri Yapıları konusunun temel taşıdır. Aklınıza şu soru gelecektir, Abstract Data Types nedir? ADS olarak kısaltabileceğimiz ifadenin açılımı soyut veri tipidir. Yani gerçek veri tutma metotlarından farklı olarak, bilgisayar ortamında özel amaçla geliştirilmiş bir veri saklama metodudur. Veri Yapıları Dersi bu fikir üzerinden başlar.

Neden Linked List Kullanırız?

Yazılımda birden çok veriyi tutmak için genelde Arrays, yani dizi yapısını kullanırız. Ancak dizi veri tipi belirli bir alanı kaplar. Dinamik değil, statik bir yapısı vardır. Eğer dizi boyutunun üzerine çıkmamız icab ederse çıkamayız. Linked List ile veri sakladığımızda ise böyle bir sorunla karşılaşmayız. Ram'de kaplayacak alanı kendimiz oluştururuz. İşimiz bittiğinde de kullandığımız alanı sileriz. Böylece daha performanslı bir yapı oluştururuz.

NOT: Java C# gibi dillerde dizilerin sabit alan kaplaması sorunu çözülmüştür. yani biz bir dizi oluşturduktan sonra istediğimiz kadar içerik girebiliriz. Ancak arka planda Veri alanı genişletme işini bu yazılım dilleri yapar. Eğer siz, sistemin nasıl çalıştığını görmek istiyorsanız, Linked List'i öğrenmeniz oldukça yararınıza olacaktır. 

Dizilerin sonuna değil de, arasına bir veri girmek istediğimizde önemli bir sorun karşımıza çıkar. Örneğin 100'den 500'e kadar sayıları saklayan bir dizimiz olsun. 350 sayısını konumuna yerleştirmeye çalıştığımızda, 350 sayısından sonraki her sayının indisi 1 artmak zorundadır. Bu da işlem yükünü artıran bir unsurdur. Linked List yapısında ise böyle bir sorun olmaz. 

Eğer Özetlemek İstersek;

Linked List Kullanımının Avantajları

Linked List Kullanımının Dezavantajları

Avantajlarından bahsedip de dezavantajlarından bahsetmemek olmaz. Linked List yani bağlı listelerde verilere rastgele erişemeyiz. Bunun manası Binary Search (ikili arama) yapamayacağımızdır.

Linked List yapısı gereği pointer kullanımı şarttır. Bu da ekstra bir veri alanı demektir.

Linked List Nelerden Oluşur?

Linked List yapıları temelde iki değişken tutar. Bunlardan birisi esas değerdir. Bu bir sayı (integer) değeri olabileceği gibi, String türünde de ifade olabilir. Kısaca her türlü değeri tutabilir.

İkinci değişken ise pointerdır. Bu pointer'ın işlevi kendisinden sonra hangi ifadenin geleceğiniz. Biz bu ifadelere Node ismini vereceğiz. 

Bağlı Liste Yapısı

Yukarıdaki Yapıya bakacak olursak herbir dikdörtgen yapısı (biz bu yapıya node yani düğüm diyeceğiz) temelde iki değer taşımaktadır. Bunlardan birisi veri değeridir. Diğeri ise hangi düğümü işaret ettiğini belirten bir göstericidir. Yani biz 3 değerini taşıyan düğüme A düğümü, 4 değerini taşıyan düğüme de B düğümü dersek, A düğümünde yazan next ifadesi aslında B düğümünü işaret eden pointer'dan ibarettir. Son düğümün "next" değeri her zaman Null'dür.

Bağlı Liste Çeşitleri Nelerdir? Merak Ediyorsanız Mutlaka Yazımızı okuyun!

Etiketler: , , , , , , , ,