Coba jelasin Klasifikasi dari Algoritma penyortiran dong

Algoritme penyortiran digunakan pada Ilmu Komputer sering diklasifikasikan dengan:

Kompleksitas Komputasi (Average, Best, Worst case) perbandingan elemen dengan besar list(n). Untuk beberapa Algoritme sorting kasus yang paling baiknya ialah O(n log n) dan kasus terburuknya ialah O(n2). Kasus ideal untuk masalah sorting ialah O(n), tetapi ini tidak mungkin terjadi pada average case. Sequential Sort, yang menaksir elemen dari list dari operasi perbandingan indeks abstrak, yang membutuhkan paling kurang perbandingan O(n log n) untuk paling banyak input.

Penukaran Kompleksitas Komputasi (untuk Algoritme "In Place")/

Penggunaan memori (dan menggunakan sumber daya komputer) khususnya, beberapa algoritme sorting ialah Algoritme In Place. Dengan sorting in place membutuhkan hanya O(1) memori lebih tinggi dari item yang sedang diurut; kadang-kadang memori tambahan O(log(n)) dianggap "in place"

Rekursif. Beberapa algoritme ada yang rekursif dan ada pula yang tidak, sedangkan beberapa yang lain bisa menjalankan keduanya sekaligus (contoh: merge sort).

Stabilitas: menjaga urutan relatif dari rekord dengan indeks sama (contoh: nilai).

Apakah dia merupakan Sorting Pembanding atau tidak. Sorting pembanding memeriksa data dengan hanya membandingkan dua elemen dengan operator pembanding.

Metode Umum: memasukkan, menukar, memilih, menggabungkan, dll. Sorting Penukaran mencangkup bubble sort dan quicksort. Sorting Seleksi mencangkup shaker sort dan heapsort.

Penyesuaian: Apakah terdapat sorting yang belum terurut atau tidak dari inputannya, segalanya akan mempengaruhi waktu kalkulasinya. Algoritme yang mengambil cara ini sebagai caranya dikenal sebagai Adaptive.