ALGORİTMALAR VE PROGRAMLAMA Dersi Diziler, Bağlı Listeler, Kuyruklar ve Yığınlar soru detayı:
SORU:
Bağlı listeler ve diziler arasında ne tür farklılıklar vardır?
CEVAP: Veri yapısı olarak benzerlik gösteren dizilerin ve bağlı listelerin, birbirleriyle kıyaslandığında, çeşitli açılardan avantajları ve dezavantajları bulunmaktadır. Bağlı listelerin ve dizilerin çeşitli ölçütlere göre karşılaştırması aşağıda verilmiştir:
-
Veri yapısı uzunluğu: Dizilerde veri yapısının uzunluğu sabittir, gerekli durumlarda dizi uzunluğu arttırılamaz veya azaltılamaz. Bağlı listelerde uzunluk dinamiktir, yeni nesneler eklenebilir, var olan nesneler silinebilir.
-
Hafıza kullanımı: Bağlı listelerdeki her bir nesnenin göstericisi için, bilgisayar ha- fızasında yer ayrılması gerekir. Dizilerde böyle bir durum söz konusu değildir.
-
Veri ekleme/silme maliyeti: Dizilerde ekleme ve çıkarma işlemleri, programlama açısından oldukça yüksek maliyetlidir. Bağlı listelerde ekleme veya çıkarma yapmak, dizilerdekine göre daha az maliyetli ve kolaydır.
-
Verilere doğrudan erişim: Dizi elemanlarına indisler aracılığıyla doğrudan erişilebilir. Bağlı listelerde ise böyle bir durum söz konusu değildir. Bağlı listenin bir elemanına erişmek için o elemanın listede aranması ve bulunması gerekir.
Veri yapısı olarak benzerlik gösteren dizilerin ve bağlı listelerin, birbirleriyle kıyaslandığında, çeşitli açılardan avantajları ve dezavantajları bulunmaktadır. Bağlı listelerin ve dizilerin çeşitli ölçütlere göre karşılaştırması aşağıda verilmiştir:
-
Veri yapısı uzunluğu: Dizilerde veri yapısının uzunluğu sabittir, gerekli durumlarda dizi uzunluğu arttırılamaz veya azaltılamaz. Bağlı listelerde uzunluk dinamiktir, yeni nesneler eklenebilir, var olan nesneler silinebilir.
-
Hafıza kullanımı: Bağlı listelerdeki her bir nesnenin göstericisi için, bilgisayar ha- fızasında yer ayrılması gerekir. Dizilerde böyle bir durum söz konusu değildir.
-
Veri ekleme/silme maliyeti: Dizilerde ekleme ve çıkarma işlemleri, programlama açısından oldukça yüksek maliyetlidir. Bağlı listelerde ekleme veya çıkarma yapmak, dizilerdekine göre daha az maliyetli ve kolaydır.
-
Verilere doğrudan erişim: Dizi elemanlarına indisler aracılığıyla doğrudan erişilebilir. Bağlı listelerde ise böyle bir durum söz konusu değildir. Bağlı listenin bir elemanına erişmek için o elemanın listede aranması ve bulunması gerekir.