单项选择题
下面的代码是哪个算法的C++源码?()
//用某个简单排序算法对数组a[p:r]排序;
}
return a[p+k-1];
};
for(inti=0;i< =(r-p-4)/5;i++){
//将a[p+5*i]至a[p+5*i+4]的第3小元素与a[p+i交换位置;}
Type x=Select(a,p,p+(r-p-4)/5,(r-p-4)/10);//找中位数的中位数
inti=Partition(a,p,r,x),j=i-p+1;
if(k< =j)return Select(a,p,,k);
else return Select(a,i+1,r,k-j);}
A.全排列问题
B.线性时间选择
C.快速排序
D.合并排序
点击查看答案&解析
相关考题
-
单项选择题
求解选择问题时,全部元素分成5组,并选择各组的中位数中的中位数作为m,()可以得到T(n)。
A.O(1)
B.O(logn)
C.O(n logn)
D.O(n) -
单项选择题
线性时间选择问题最适合适用()算法求解。
A.动态规划
B.分治
C.回溯
D.贪心 -
单项选择题
T(n)n=1T(n)=kT(n/m)+f(n)n>1上述递归表达式最可能用于()算法。
A.动态规划
B.分治
C.回溯
D.贪心
