一般说来,冒泡排序算法优于归并排序。
这题考排序算法优劣判断,核心是时间复杂度对比。拿到题先想:冒泡是O(n²),归并是O(nlogn),再看‘一般说来’这几个字是不是在偷换概念。
学生容易死记‘冒泡快’或‘归并快’,忽略题目中的‘一般说来’这种模糊表述;或者混淆稳定性与时间复杂度,以为冒泡因为稳定就更好。其实命题人就是拿‘一般’来卡你,让你判断在普遍情况下谁更优,而不是极端小数据。
【考点】排序算法性能比较|时间复杂度|算法稳定性
冒泡排序,两层循环,每次把大的往后挪,最坏要跑n²步;归并排序是分治,把数组不断二分再合并,理论上是nlogn步。时间复杂度这东西,n越大差距越离谱——n=100时,冒泡约1万步,归并才几百步,根本不是一个量级。