排序算法(一)

2022-10-01  本文已影响0人  春去春又来花谢花会开

从哪几个方面选择排序算法

1.时间复杂度

2.空间复杂度

3.比较次数,交换次数

4.稳定性,相同元素排序前后相对位置不变

稳定排序的意义在哪里? 

从订单系统来的数据已经按时间和排序了,现在需要按金额排序,金额相同时按时间排序,这个时候需要稳定的排序算法

一.插入排序

把一个无序的数列一个个插入到有序的数列中,时间复杂度o(n^2) ,最好的情况o(n) 空间复杂度s(n)

二.希尔排序

希尔排序是插入排序的优化版本,在插入排序前将数组分成若干个小数组先进行插入排序,然后再重新组合排序

希尔排序时间复杂度是 O(n^(1.3 − 2)) ,空间复杂度为常数阶 O(1)。希尔排序没有时间复杂度为 O(n ( log ⁡ n ) 排序算法快 ,因此对中等大小规模表现良好,但对规模非常大的数据排序不是最优选择,总之比一般 O(n^2) 复杂度的算法快得多。

三.归并排序


上一篇下一篇

猜你喜欢

热点阅读