Semua kompleksitas yang Anda berikan benar, namun mereka diberikan dalam notasi Big O , sehingga semua nilai aditif dan konstanta dihilangkan.
Untuk menjawab pertanyaan Anda, kami perlu fokus pada analisis terperinci dari kedua algoritma tersebut. Analisis ini dapat dilakukan dengan tangan, atau ditemukan di banyak buku. Saya akan menggunakan hasil dari Seni Pemrograman Komputer Knuth .
Jumlah perbandingan rata-rata:
- Sortir gelembung : 12( N2- NdiN- ( γ+ ln2 - 1 ) N) + O ( N--√)
- Jenis sisipan : 14( N2- N) + N- HN
- Sortir pilihan : ( N+ 1 ) HN- 2 N
Sekarang, jika Anda memplot fungsi-fungsi itu Anda mendapatkan sesuatu seperti ini:
Seperti yang bisa Anda lihat, bubble sort jauh lebih buruk karena jumlah elemen meningkat, meskipun kedua metode sortasi memiliki kompleksitas asimptotik yang sama.
Analisis ini didasarkan pada asumsi bahwa inputnya acak - yang mungkin tidak selalu benar. Namun, sebelum kita mulai menyortir, kita dapat secara acak mengubah urutan input (menggunakan metode apa pun) untuk mendapatkan kasus rata-rata.
Saya menghilangkan analisis kompleksitas waktu karena tergantung pada implementasi, tetapi metode serupa dapat digunakan.