Sadece nedenini merak ediyor Java
ve .NET Framework
varsayılan olarak farklı sıralama algoritması kullanıyor.
Java'da varsayılan olarak Birleştirme Sıralaması algoritmasını Array.Sort()
kullanır ve Wikipedia.com'un dediği gibi:
Java'da, Arrays.sort () yöntemleri, veri türlerine bağlı olarak birleştirme sıralaması veya ayarlanmış bir hızlı sıralama kullanır ve uygulama etkinliği için, yediden az dizi öğesi sıralandığında ekleme sıralamasına geçer
.NET Framework'te Hızlı Sıralama'yı varsayılan sıralama algoritması ( MSDN ) olarak Array.Sort/List.Sort()
kullanır :
List.Sort (), QuickSort algoritmasını kullanan Array.Sort kullanır. Bu uygulama kararsız bir sıralama gerçekleştirir; yani, iki öğe eşitse, sıraları korunmayabilir. Buna karşılık, kararlı bir sıralama eşit elemanların sırasını korur.
Harika "Algoritmaların karşılaştırılması" tablosuna bakarak her iki algoritmanın da En Kötü Durum ve Bellek Kullanımı perspektiflerinden oldukça farklı bir davranışa sahip olduğunu görebiliriz:
Hem Java
ve .NET
hem de Kurumsal Çözümler geliştirme için harika Çerçeveler, her ikisi de gömülü geliştirme için platformlara sahiptir. Öyleyse neden varsayılan olarak farklı sıralama algoritmaları kullanıyorlar, herhangi bir düşünce?