Hanya ingin tahu mengapa Java
dan .NET Framework
menggunakan algoritma pengurutan yang berbeda secara default.
Di Jawa, Array.Sort()
gunakan algoritma Merge Sort secara default dan seperti yang dikatakan Wikipedia.com :
Di Jawa, metode Arrays.sort () menggunakan pengurutan gabungan atau quicksort yang disetel tergantung pada tipe data dan untuk efisiensi implementasi, beralih ke pengurutan penyisipan ketika kurang dari tujuh elemen array sedang diurutkan.
Dalam .NET Framework Array.Sort/List.Sort()
menggunakan Quick Sort sebagai algoritma penyortiran default ( MSDN ):
List.Sort () menggunakan Array.Sort, yang menggunakan algoritma QuickSort. Implementasi ini melakukan jenis yang tidak stabil; yaitu, jika dua elemen sama, urutannya mungkin tidak dipertahankan. Sebaliknya, jenis stabil menjaga urutan elemen yang sama.
Dengan melihat tabel "Perbandingan algoritma" yang hebat, kita dapat melihat bahwa kedua algoritma memiliki perilaku yang sangat berbeda dari perspektif Penggunaan Kasus dan Memori Terburuk:
Keduanya Java
dan .NET
merupakan Kerangka yang bagus untuk pengembangan Solusi Perusahaan, keduanya memiliki platform untuk pengembangan yang disematkan. Jadi mengapa mereka menggunakan algoritma penyortiran yang berbeda secara default, ada pemikiran?