Her iki kaynağınız da "beklenen en kötü çalışma süresi" nü belirtir . Bu mutlak en kötü durumdan farklı beklenen zaman gereksinimi anlamına gelir tahmin ediyorum.O(nlogn).
Quicksort genellikle mutlak en kötü durum süresi gereksinimine sahiptir . En kötü durum, her adımda, bölme prosedürü bir n- uzunluk dizisini 1 ve n - 1 boyutundaki dizilere ayırdığında ortaya çıkar . Pivot elemanların bu "şanssız" seçimi, O ( n ) yinelemeli çağrıları gerektirir ve O ( n 2 ) en kötü duruma yol açar .O(n2)n1n−1O(n)O(n2)
Diziyi sıralamadan önce rastgele veya rastgele karıştırmanın seçilmesi, özellikle büyük diziler için en kötü durumu çok düşük bir duruma getirme etkisine sahiptir. Beklenen zaman gereksiniminin O ( n log n ) olduğuna dair bir kanıt için Wikipedia'ya bakın . Başka bir kaynağa göre , "Quicksort'un bilgisayarınızda büyük bir diziyi sıralarken ikinci dereceden karşılaştırmalar kullanma olasılığı, bilgisayarınızın yıldırım çarpması olasılığından çok daha az."O(nlogn)
Düzenle:
Bangye'nin yorumuna göre, her zaman pivot olarak medyan öğeyi seçerek en kötü pivot seçim sırasını ortadan kaldırabilirsiniz. Medyanın bulunması zaman aldığından , Θ ( n log n ) en kötü durum performansını verir. Bununla birlikte, randomize quicksort en kötü durumda yanma olasılığı çok düşük olduğundan, quicksort'un deterministik medyan bulma varyantı nadiren kullanılır.O(n)Θ(nlogn)