Bu, Janoma tarafından cs.SE’de bir sorunun cevabı . Tam kredi veya ona veya cs.SE'ye tahrif.
Standart algoritmalar kursunda, hızlı bağlantı noktasının ortalama olarak O (n log n) ve en kötü durumda O (n²) olduğu öğrenilir. Aynı zamanda, diğer sıralama algoritmaları (gibi en kötü durumda (n log) Ey olan incelenir MergeSort ve HizliSiralama (gibi iyi durumda ve hatta doğrusal zaman) BubbleSort ) ancak belleğin bazı ek ihtiyaçları olan.
Bazı çalışma sürelerinde hızlıca bir bakıştan sonra , quicksort'un diğerleri kadar verimli olmaması gerektiğini söylemek doğaldır .
Ayrıca, öğrencilerin temel programlama derslerinde genel olarak derslerin özyinelemenin gerçekten iyi olmadığını, çünkü çok fazla bellek kullanabileceğini, vb. Öğrendiklerini göz önünde bulundurun. gerçekten iyi çünkü özyinelemeli bir algoritma.
Öyleyse neden quicksort pratikte diğer sıralama algoritmalarından daha iyi performans gösteriyor? Gerçek dünya verilerinin yapısıyla mı ilgili? Bilgisayarlarda belleğin çalışma şekli ile mi ilgili olmalı? Bazı hatıraların diğerlerinden çok daha hızlı olduğunu biliyorum, ancak bu karşı-sezgisel performansın gerçek nedeni olup olmadığını bilmiyorum (teorik tahminlerle karşılaştırıldığında).