算法之归并排序和快排

上节简单讲了递归算法,今天我们讲讲排序算法。

排序算法设计的比较多,今天我们先聊聊简单的三种比较排序:冒泡排序,插入排序,选择排序。

冒泡排序:

从第一个开始,跟后面的比较,如果前面的大,就跟后面的交换,依次类推,比较完一轮后选出最大的。这样比较n轮,就全部比较完。

平均时间复杂度为:O(n^2)

插入排序:

分为有序和其它两段,从第二段第一个开始依次跟前面(是排好序的)的对比,放在对应的位置,直到将第二段的全部对比完。

平均时间复杂度为:O(n^2)

选择排序:

同样分为有序和其它两段,在第二段选择最小的跟第一段第一个交换,然后再选最小的跟第二个交换,依次类推。

平均时间复杂度为:O(n^2)

三个对比:

插入排序性能相对最好,实用性最高,其它两个特殊场景使用即可。

相关推荐

神逻辑

阅读 2770

推荐一个纯洁得让人上瘾的社交APP

广告

20岁小老板包养女大学生:“我出钱她出力天经地义,凭什么骂我”

阅读 26848

华为C++开发工程师面试总结整理,面试问题你能答上几个?含答案

阅读 1742

一个人自卑惯了,这些话张口就来,一眼就能看出来

阅读 67053

你可能感兴趣的:(算法之归并排序和快排)