- 4
- 0
- 约2.69千字
- 约 18页
- 2024-03-20 发布于陕西
- 举报
*第六章分治算法*6.1分治算法6.2分治类型6.3减少子问题个数6.4改进分治的均衡度6.5减少合并的时间快速排序最好情况T(n)=2T(n/2)+n=O(nlogn)最坏情况T(n)=T(n-1)+n=O(n2)平均情况如何改进??A[q]?A[q]qpr随机选择快速排序输入:A输出:A//非递减排序RandomquickSort(a[],p,r)if(pr)thenq=Randompartion(a,p,r)RandomquickSort(a,p,q-1)107531RandomquickSort(a,q+1,r)*RandomPartion(a[],leftEnd,rightEnd)i=Random(intleftEnd,intrightEnd)Swap(a[i],leftEnd)returnPartion(a,leftEnd,rightEnd)处理随机排列的数组时,快速排序比合并排序快。?A[q]?A[q]qpr新研究:三分法效率更高。左中右分区。
原创力文档

文档评论(0)