算法之排序

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

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

冒泡排序:

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

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

插入排序:

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

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

选择排序:

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

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

三个对比:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容