SORU
26 Aralık 2008, Cuma


Dizi/dizi listesi üzerinde bağlantılı liste kullanmak ne zaman?

Listeler ve diziler çok bağlantılı liste daha henüz hangi dizi listesi sadece kadar kolay olmasa daha kolay kullanılamazdı bir senaryo rastlamak var kullanıyorum. Biri bana bağlantılı liste kesinlikle daha iyi olduğunda bazı örnekler verebilir umuyordum.

CEVAP
26 Aralık 2008, Cuma


Bağlı listeler, diziler ne zaman bitti: tercih edilir

a) sürekli-zaman listesi (zaman öngörülebilirlik kesinlikle önemli olduğu gerçek zamanlı bilgisayar)/silme eklemeleri gerekir

b) bu listenin kaç sayfa olacak bilmiyorsun. Diziler, dizi çok büyük büyürse yeniden ilan ve belleğe kopyalamak gerekebilir

c) herhangi bir öğe için rastgele erişim gerekmez

d) listesi (öncelik sırası gibi) ortasına öğeler eklemek mümkün olmak istiyorum

Diziler tercih edilir

a) dizine/elemanları rasgele erişim gerekir

b) bu dizi için doğru bellek miktarını ayırabilirsiniz dizinin vaktinden öğe sayısı bilirsin

c) sıradaki tüm öğeleri arasında dolaşırken, hızlı olman gerek. Kullanabilirsiniz işaretçi matematik diziye erişim her öğe, oysa ihtiyacınız için arama düğümü göre işaretçi için her öğe bağlı liste, hangi neden olabilir sayfa hataları olabilir sonuçta performans vurur.

d) bellek bir husustur. Dolu diziler, bağlı listeler daha az bellek kadar sürebilir. Dizideki her öğe, sadece veri. Her bir bağlı liste düğüm bağlı listedeki diğer elemanlar için işaretçiler veri olarak bir (veya daha fazla) gerektirir.

Dizi Listeleri (bu gibi .Net bile faydaları dizileri, ama dinamik olarak tahsis kaynakları için ki hiç gerek yok, çok fazla endişe hakkında liste boyutu ve öğeleri silin herhangi bir dizin olmadan herhangi bir çaba veya yeniden karıştırma elemanları. Performans-bilge, arraylists ham diziler daha yavaştır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • HowtoDrawAndPaint

    HowtoDrawAnd

    24 EKİM 2010