快排在此省略说明。 主要是时间的复杂性。 请先写一下快速排队的代码
voidquick_sort(inta[],int start,int end ) )。
int val=a [开始];
int s=start;
int e=end;
wile(se ) {
wile(sea[e]val ) e --;
if(se ) a[e --]=a[s];
//相同
}
//取初始值
//递归
}
最好的情况是,每当哨兵在中间相遇时,nlgn
最糟糕的是,哨兵每次在第一个或最后一个地方相遇,都会出现在有序的数列中
平均值如果以1:9进行例示,则1/10为lgn,9/10为lg10/9n,整体上倾向于nlgn
一般情况下好的情况和坏的情况交替,坏的情况有被好的情况同化的倾向