Patolojik Sıralama
Patronunuz, şirketinizin uygulamasının performansını artırmak için bir sıralama algoritması geliştirmenizi istedi. Ancak, uygulamayı yazdıktan sonra, önemli ölçüde daha hızlı hale getirme olasılığınızın olmadığını biliyorsunuz. Patronunuzu hayal kırıklığına uğratmak istemiyorsanız, belirli veri kümelerinde * sıralamadan daha iyi çalışan yeni bir algoritma geliştirmeye karar verdiniz. Tabii ki, algoritmanın sadece bazı durumlarda çalıştığını açıkça belirtemezsiniz, bu yüzden mümkün olduğunca belirsiz hale getirmek istersiniz.
Bu yarışmanın amacı, seçtiğiniz dilde, belirli veri kümelerinde diğerlerinden daha iyi performans gösteren ve tekrarlanabilir sonuçlarla bir sıralama rutini yazmaktır. Hızı belirleyen sınıflandırma ne kadar spesifik olursa, o kadar iyidir. Algoritma bir tür sıralama yapmalıdır, bu nedenle zaten tamamen sıralanan verilere (hiçbir şey yapmayan bir algoritmaya) dayanan bir algoritma veya tamamen ters sıralanan verilere bağlı bir algoritma geçersizdir. Sıralama algoritması herhangi bir veri kümesini doğru şekilde sıralamalıdır.
Rutinizi sunduktan sonra, lütfen neden yalnızca belirli veri kümelerinde çalıştığını açıklayın ve en az bir iyi (hızlı) veri kümesi ve bir kötü (yavaş) veri kümesi üzerinde test çalışmaları ekleyin. Buradaki nokta, patronunuza sıralamanın daha iyi bir yolunu bulduğunuzu kanıtlayabilmektir, bu nedenle daha fazla test verisi daha iyidir. Elbette, patronunuza sadece iyi verilerden test sonuçlarını göstereceksiniz, bu nedenle gerekli test verilerindeki kusur çok açık olamaz. Diliniz için geçerliyse, lütfen algoritmanızın dilinizin yerleşik sıralama algoritmasından daha hızlı olduğunu gösterin.
Örneğin, ekleme sıralaması neredeyse sıralanan verilerde O (n) ile yaklaştığından, iyi veriler zaten sıralanan veriler ve kötü veriler tamamen rastgele veriler olmak üzere bir ekleme sıralama algoritması gönderilebilir. Ancak, bu çok iyi değil, çünkü patronum muhtemelen tüm test verilerinin neredeyse başlamak üzere sıralandığını fark edecekti.
Bu bir popülerlik yarışmasıdır , bu nedenle 7 gün sonra (21 Mayıs) en çok oyu alan cevap kazanır.
Kimse beni yenemezse, eşit dağıtılmış veri kümelerinden yararlanan bir topluluk wiki yanıtı göndermek istiyorum.