堆排序和快速排序的比较
堆排序是接近nlgn的下界,而快排有性能坏的情况,为何还是快排表现更优秀呢?
1.堆排序是处理数组中相隔较远的数据,快速排序是根据两个 指针按序遍历的,根据寄存器、高速缓存的热cache、 局部性原理,快排更好
2.快排的极端情况太难复现,而且可以 用随机基准数
3.快排还有各种优化的方案
基数排序的性能
在低数据量的时候,性能很不错;但是非常占内存。一般我们不会采取高内存换空间的算法(数据量大的时候就太恐怖了)
综合性能
堆排序和快速排序的比较
堆排序是接近nlgn的下界,而快排有性能坏的情况,为何还是快排表现更优秀呢?
1.堆排序是处理数组中相隔较远的数据,快速排序是根据两个 指针按序遍历的,根据寄存器、高速缓存的热cache、 局部性原理,快排更好
2.快排的极端情况太难复现,而且可以 用随机基准数
3.快排还有各种优化的方案
基数排序的性能
在低数据量的时候,性能很不错;但是非常占内存。一般我们不会采取高内存换空间的算法(数据量大的时候就太恐怖了)
综合性能