快排各种各样的优化:
1.利用栈来取代递归
2.选择基于三中值分区的中枢值
3.设定分割字数组的阈值,小于该值直接上插入排序
4.在处理字数组时候,首先将大的字数组压入栈来最小化栈的总大小,确保小的问题首先被解决。
要确保最坏情况下O(n*logn)复杂度,使用例如BFPRT的选择算法,抑或考虑堆排序,下一篇我也将自己写下堆排序。
快排各种各样的优化:
1.利用栈来取代递归
2.选择基于三中值分区的中枢值
3.设定分割字数组的阈值,小于该值直接上插入排序
4.在处理字数组时候,首先将大的字数组压入栈来最小化栈的总大小,确保小的问题首先被解决。
要确保最坏情况下O(n*logn)复杂度,使用例如BFPRT的选择算法,抑或考虑堆排序,下一篇我也将自己写下堆排序。