排序算法

发布时间 2024-01-07 19:20:52作者: 静听微风tom

排序算法的稳定性

比如我对(3,1)(3.7)(4,2)(4,4)按照第一个元素的大小排序

稳定的排序,(3,1)(3.7)(4,2)(4,4)

不稳定的排序,(3,7)(3.1)(4,4)(4,2)#它改变了原有的次序


冒泡排序(Bubble Sort)

把最大的放到最后

稳定


选择排序(Select Sort)

找最小的元素,把这个元素放到最前面

不稳定


 

插入排序(Insert Sort)

从前往后,一个个看元素,看这个元素在它前面的元素构成的序列里面排在哪里,插进去

不稳定


 

希尔排序(Shell Sort)

改进的插入排序,按gap值分组插入排序

不稳定,时间复杂度n^2


 

快速排序(Quick sort)

时间复杂度n*log2n

不稳定,跳着换的。可能54在头一个,放到了别的54后面