doubly linked list
-
bir tür linked list. her eleman hem önceki hem de sonraki elemana işaret eder
-
gui'lerde cok tercih edilen z order management teknigidir.. region hesaplamayi en hizli boyle yaparsiniz.
-
c# 2.0 de system.collections.generic namespace altında linkedlist adında generic class olarak implement edilmiştir.
addafter, addbefore, addlast, addfirst gibi çok şeker metodları vardır. -
(bkz: xor list)
-
java ile implement edilmesi hele hele node'lar arasında swap gibi işlemler yapıcaksanız çileden çıkartandır.
-
singly linked list'e göre en belirgin avantajları; pozisyonu bilinen bir node için insert ve delete işlemlerinin zaman karmaşıklığının* constant time olması ve mevcut veri yapısı üzerinde ekstra bir atraksiyona girişilmeden liste üzerinde backwards traversal yapılabilmesidir. öte yandan, her bir liste elemanı önceki elemanın da adres referansını tuttuğu için singly linked list'e göre bellek gereksinimi daha fazladır.
-
linux kernel'daki linked list'lerin çoğu bu kategoridedir. list_for_each gibi makrolar aracılığıyla üzerinde dolanılır durulur. lakin bu listeler çoğunlukla locking mekanizmasından mahrum oldukları için, bilhassa aygıt sürücüler* ile çalışırken race condition'a mahal vermemek ve deadlock'lara denk gelmemek adına ekseriyetle kernel senkronizasyon nesnelerinin doğru kullanımına önem vermek lazım gelir.
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap