用多少眼泪才能让你相信 发表于 2024-8-15 01:35:26

重要排序算法的总结

重要排序算法的总结



[*] 稳固性对基础范例对象来说毫无意义
[*] 稳固性对非基础范例对象故意义,可以保留之前的相对次序



[*] 主要算法时间、空间、稳固性总结
   时间 空间 稳固性
SelectionSort O(N^2) O(1) 无
BubbleSort O(N^2) O(1) 有
InsertionSort O(N^2) O(1) 有
MergeSort O(N*logN) O(N) 有
QuickSort O(N*logN) O(logN) 无
HeapSort O(N*logN) O(1) 无
CountSort O(N) O(M) 有
RadixSort O(N) O(M) 有

注意:随机快速排序的复杂度肯定要按照概率上的期望指标来估计,用最差的复杂度估计无意义


[*] 排序的选择: 统统看你在排序过程中在意什么

[*] 数据量非常小的情况下可以做到非常迅速:插入排序
   

[*] 性能优异、实现简单且利于改进(面对差别业务可以选择差别划分策略)、不在乎稳固性:随机快排
   

[*] 性能优异、不在乎额外空间占用、具有稳固性:归并排序
   

[*] 性能优异、额外空间占用要求O(1)、不在乎稳固性:堆排序


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 重要排序算法的总结