单项选择题
线性时间选择问题,当n>75时,划分时以5个元素为一组求取中位数,共得到n/5个中位数,递归求取中位数,复杂度为()。
A.T(n)=T(n/5)
B.T(n)=T(n*5)
C.T(n)=T(n/2)
D.T(n)=T(n*2)
点击查看答案&解析
相关考题
-
单项选择题
下面的代码是哪个算法的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.贪心
