Lomuto vs Hoare
Lomuto bölümü eşit anahtarları sıralarken acı çekerken, Hoare bölümü değil.
Medyandan uzak bir pivot kullanıldığında her iki bölüm şeması da eşit derecede zarar görür.
Bozukluğun
ölçüsü Hızlı sıralama amacıyla seçilecek bozukluğun ölçüsü basittir.
C: Sabit pivot, rastgele verilere kıyasla ne kadar uzağa kaldırıldı?
Lomuto bölümünü kullanmakta ısrar ediyorsanız ve yinelenen değerlere izin verildiğini düşünüyorsanız, rastgele teste karşı aşağıdaki testi eklemeniz gerekir:
B: Rasgele kıyasla kaç tane yinelenen öğe var.
Tabii ki veri kümenizde yinelenen değerlere izin verildiğini varsaymak ve yine de Lomuto bölümünü değerlendirmek oldukça saçmadır, bu nedenle muhtemelen yinelenenleri önceden ortadan kaldırmalı veya Hoare bölümüne geçmelisiniz veya yinelenenlerin nadir olduğunu varsayalım.
Her iki önlem de istatistikleri kullanarak nicelleştirmek önemlidir.
Patolojik verileri ekarte edebiliriz
. Rastgele sıralamanın diğer sapmaları, çabuk sıralama analizleri açısından önemli olmayacaktır. Pivot ortancaya yakın olduğu sürece patolojik olmayan tüm veriler üzerinde iyi performans gösterecektir.
Rastgele mesafenin gerçekten çabuk-patolojik olması çok büyük olurdu, bu yüzden bunu ekarte edebiliriz.
Asla gerçek kodda sabit pivot (lar) kullanmayın
Sabit bir pivot * ile gerçek bir kod yazarsanız * (bu pivot her ne olursa olsun) kendinizi bir servis reddi saldırısına açtığınızı unutmayın, çünkü bir saldırgan patolojik değer tam o noktada ve bu nedenle her zaman pivot olarak rastgele bir eleman seçmelisiniz.
*) veya x pivotlardan en iyisini seçerseniz birden fazla pivot.