赞
踩
稳定性对基础类型对象来说毫无意义
稳定性对非基础类型对象有意义,可以保留之前的相对次序
主要算法时间、空间、稳定性总结
时间 空间 稳定性
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)、不在乎稳定性:堆排序
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。