Bu sorunun amacı, bunun değerlerini başka bir sıralama algoritması üzerinde tartışmak değildir - kesinlikle bunu yapan birçok soru vardır. Bu soru isimle ilgili. Quicksort'a neden "Quicksort" deniyor? Tabii, çoğu zaman "hızlı", ama her zaman değil. O (N ^ 2) 'ye dejenere olma olasılığı iyi bilinmektedir. Quicksort'ta bu sorunu hafifleten çeşitli değişiklikler var, ancak en kötü durumu garantili bir O (n log n) değerine indirenlere genellikle Quicksort adı verilmiyor. (örneğin Introsort).
Sadece tüm iyi bilinen sıralama algoritmalarının nedenini merak ediyorum, bu algoritmanın nasıl çalıştığını değil (genellikle) ne kadar hızlı olduğunu açıklayan "hızlı" ismini hak eden tek kişi. Verileri birleştirdiği için Mergesort denir. Yığın buna bir yığın kullandığından denir. Introsort ismini "Introspective" den alıyor, çünkü Quicksort'tan Heapsort'a ne zaman geçileceğine karar vermek için kendi performansını izliyor. Benzer şekilde tüm yavaş olanlar için - Bubblesort, Ekleme sıralama, Seçim sıralama, vb. Hepsi nasıl çalıştıkları için adlandırılmıştır. Aklıma gelen tek istisna "Bogosort", ki bu aslında hiç kimsenin pratikte kullanmadığı bir şaka. Quicksort neden "Bölüm sıralama" veya "Pivot sıralama" gibi daha açıklayıcı bir şey olarak adlandırmıyor? gerçekte ne yaptığını açıklayan "Önce buraya geldim" bile. Mergesort, Quicksort'tan 15 yıl önce geliştirildi. (Wikipedia'ya göre sırasıyla 1945 ve 1960)
Sanırım bu bir programlama sorusundan çok bir tarih sorusudur. İsmini nasıl aldığını merak ediyorum - sadece iyi bir pazarlama mıydı?
What's in a name? that which we call a rose By any other name would smell as sweet;
Bu ya da hızlı olun. Ayrıca, O'ya (N ^ 2) dejenere olma olasılığı küçük bir olma şansına sahiptir ve N LogN, günümüzde daha hızlı algoritmalara sahip olmamıza rağmen, bir algoritma için oldukça iyidir. Ayrıca, daha hızlı bir şey ortaya çıktığında, çok geç oldu, herkes zaten Quicksort olarak adlandırdı!