SORU
19 Aralık 2009, CUMARTESİ


Her zaman sıralama algoritması kullanılır?

Belirli bir sıralama algoritması - merge sort vs quick sort vs heap sort vs introsort, vb tercih edilen durumlar ne?

Veri yapı, mevcut bellek ve önbellek ve CPU performans boyutuna, Türüne göre bunları kullanarak önerilen bir rehber var.

CEVAP
19 Aralık 2009, CUMARTESİ


Çok önemli olduğu için ilk olarak, tanımı: Birkararlı sıralamayeniden düzenlemek için garantili bir özdeş tuşları ile eleman.

Öneriler:

Hızlı sıralama:Kararlı bir sıralama gerekmez ve ortalama durum performansı en kötü durum performansı daha önemli olduğunda. Hızlı bir sıralama da en kötü durumda(N log N), ortalama O, O(N^2) ' dir. İyi bir uygulama alanı için özyineleme yığın şeklinde(günlük N) yardımcı depolama kullanır.

Sıralama birleştirme:(N log N) O istikrarlı bir çeşit ihtiyacınız olduğunda, bu tek seçenek değildir. Bunun tek dezavantajı(N) yedek alanı kullanır ve hızlı bir sıralama biraz daha büyük bir sabit var. -Her türlü birleştirme, ama hepsi de sağlam değilmiş ya O daha beter(N günlük N) AFAIK var. Yerinde(N günlük N) hatta O sıralar yararlı algoritmalar daha çok teorik merak ediyorlar o kadar büyük düz, büyük birleştirme daha sabit bir sıralama var.

Sıralama yığın:İstikrarlı bir çeşit ihtiyacın olmadığında ve ortalama durum performansı daha kötü durum performansı hakkında daha fazla önemsiyorsun. Garantili(N günlük N) ve(1) yardımcı alan O, beklenmedik bir yığın dışarı yayınlanmaz, yani ya çok büyük girdiler yığın alanı kullanır.

İntrosort:Bu hızlı sıralama(N^2) O en kötü durum etrafında almak için bazı özyineleme derinliği sonra bir yığın sıralamak için geçiş hızlı bir tür. Hızlı sıralama(N log N) garantili O performans ile ortalama dava olsun beri neredeyse her zaman düz eski bir hızlı sıralama daha iyi. Muhtemelen tek sebebi bu yerine bir yığın çeşit kullanmaktır(günlük N) yığın alanı neredeyse önemli olduğu ciddi hafıza kısıtlı sistemler.

Eklemeli sıralama: N küçük olmasını garanti olduğunda, hızlı bir nevi temel vaka olarak dahil veya sıralama birleştirme. Bu O(N^2) iken, çok küçük bir sabit ve istikrarlı bir tür.

Kabarcık sıralama, seçmeli sıralamaBir şey hızlı ve kirli ve nedense yaparken sadece standart kütüphane sıralama algoritması kullanabilirsiniz. Eklemeli sıralama var bu tek avantajı biraz daha kolay uygulamak için.


Karşılaştırma olmayan sıralar:Oldukça sınırlı bazı koşullar altında mümkün(N günlük N) bariyerini ve O(N) sıralama için. İşte denemeye değer bazı durumlarda:

Sıralama sayma:Sınırlı bir dizi tamsayı sıralama yaparken.

Taban sıralama:Log(N) K önemli ölçüde daha büyük olduğunda, K) basamak basamak sayısıdır.

Sıralama kova:Giriş birörnek dağıtılmış yaklaşık olarak garanti edemez.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gali B

    Gali B

    1 EYLÜL 2006
  • Crossover

    Crossover

    18 HAZİRAN 2007
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011