Sağladığınız tüm karmaşıklıklar doğrudur, ancak Big O notasyonunda verilmiştir , bu nedenle tüm katkı değerleri ve sabitleri atlanmıştır.
Sorunuzu cevaplamak için bu iki algoritmanın detaylı analizine odaklanmamız gerekiyor. Bu analiz elle yapılabilir veya birçok kitapta bulunabilir. Knuth'un Bilgisayar Programlama Sanatının sonuçlarını kullanacağım .
Ortalama karşılaştırma sayısı:
- Kabarcık sıralama :12( N2- NlnN-- ( γ+ ln2 - 1 ) N) + O ( N--√)
- Ekleme sıralama :14( N2- N) + N- HN-
- Seçim sıralama :( N+ 1 ) HN-- 2 N
Şimdi, eğer bu fonksiyonları çizerseniz şöyle bir şey elde edersiniz:
Gördüğünüz gibi, her iki sıralama yönteminde de aynı asimptotik karmaşıklığa sahip olmasına rağmen, elemanların sayısı arttıkça kabarcık sıralaması çok daha kötü.
Bu analiz, girişin rastgele olduğu varsayımına dayanmaktadır - bu her zaman doğru olmayabilir. Ancak, sıralamaya başlamadan önce, ortalama durumu elde etmek için giriş sırasına (herhangi bir yöntem kullanarak) rastgele izin verebiliriz.
Zamana bağlı karmaşıklık analizini ihmal ettim çünkü uygulamaya bağlıdır, ancak benzer yöntemler kullanılabilir.