快速排序
快速排序需一个栈空间来实现递归。
最好情况:每次基准归位,刚好落在序列的中间,将序列均匀的划分为长度相等或相近的两个子序列。栈空间最大深度为log(n+1),1表示最外层参数进栈
时间复杂度:n·log(n)
空间复杂度:log(n)
最坏情况:初始序列已经有序或基本有序时,每趟排序之后基准落在子序列的一端,则为最坏情况。栈空间最大深度为n
时间复杂度:n^2
空间复杂度:n
基准的选取:三者取中
快速排序需一个栈空间来实现递归。
最好情况:每次基准归位,刚好落在序列的中间,将序列均匀的划分为长度相等或相近的两个子序列。栈空间最大深度为log(n+1),1表示最外层参数进栈
时间复杂度:n·log(n)
空间复杂度:log(n)
最坏情况:初始序列已经有序或基本有序时,每趟排序之后基准落在子序列的一端,则为最坏情况。栈空间最大深度为n
时间复杂度:n^2
空间复杂度:n
基准的选取:三者取中