摘至本人有道云笔记《快速排序(速记)》
1,取一个元素作为基准值
2,把大于基准值的放右边,小于基准值的放左边
3,在左边执行 1,2, ---递归直到列表长度小于2 ,同理 右边同样
4,将子序列排序后 同基准值合并----得到有序序列
修:此例始终将第一个值作为基准值,实际上这样做是没有意义的,因为这样左边的列表始终为空,导致调用栈非常长
如果将始终将中间值作为基准值,那么调用栈长度会很短
摘至本人有道云笔记《快速排序(速记)》
1,取一个元素作为基准值
2,把大于基准值的放右边,小于基准值的放左边
3,在左边执行 1,2, ---递归直到列表长度小于2 ,同理 右边同样
4,将子序列排序后 同基准值合并----得到有序序列
修:此例始终将第一个值作为基准值,实际上这样做是没有意义的,因为这样左边的列表始终为空,导致调用栈非常长
如果将始终将中间值作为基准值,那么调用栈长度会很短
相关文章: