上节简单讲了递归算法,今天我们讲讲排序算法。
排序算法设计的比较多,今天我们先聊聊简单的三种比较排序:冒泡排序,插入排序,选择排序。
冒泡排序:
从第一个开始,跟后面的比较,如果前面的大,就跟后面的交换,依次类推,比较完一轮后选出最大的。这样比较n轮,就全部比较完。
平均时间复杂度为:O(n^2)
插入排序:
分为有序和其它两段,从第二段第一个开始依次跟前面(是排好序的)的对比,放在对应的位置,直到将第二段的全部对比完。
平均时间复杂度为:O(n^2)
选择排序:
同样分为有序和其它两段,在第二段选择最小的跟第一段第一个交换,然后再选最小的跟第二个交换,依次类推。
平均时间复杂度为:O(n^2)
三个对比:
插入排序性能相对最好,实用性最高,其它两个特殊场景使用即可。
相关推荐
神逻辑
阅读 2770
推荐一个纯洁得让人上瘾的社交APP
广告
20岁小老板包养女大学生:“我出钱她出力天经地义,凭什么骂我”
阅读 26848
华为C++开发工程师面试总结整理,面试问题你能答上几个?含答案
阅读 1742
一个人自卑惯了,这些话张口就来,一眼就能看出来
阅读 67053