类比二分搜索算法,设计k分搜索算法(k为大于2的整数)如下:首先检查n/k处(n为被搜索集合的元素个数)的元素是否等于要搜索的值,然后检查2n/k处的元素,……,这样,或者找到要搜索的元素,或者把集合缩小到原来的1/k;如果未找到要搜索的元素,则继续在得到的集合上进行k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此k分搜索算法在最坏情况下搜索成功的时间复杂度为(57),在最好情况下搜索失败的时间复杂度为(58)。A.O(logn)B.O(nlogn)C.O(logkn)D.O(nlogkn)

类比二分搜索算法,设计k分搜索算法(k为大于2的整数)如下:首先检查n/k处(n为被搜索集合的元素个数)的元素是否等于要搜索的值,然后检查2n/k处的元素,……,这样,或者找到要搜索的元素,或者把集合缩小到原来的1/k;如果未找到要搜索的元素,则继续在得到的集合上进行k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此k分搜索算法在最坏情况下搜索成功的时间复杂度为(57),在最好情况下搜索失败的时间复杂度为(58)。

A.O(logn)

B.O(nlogn)

C.O(logkn)

D.O(nlogkn)


相关考题:

若一个栈初始为空,其输入序列是1,2,3,…,n-1,n,其输出序列的第一个元素为k(1≤k≤「n/2」),则输出序列的最后一个元素是()。 A.值为n的元素B.值为1的元素C.值为n-k的元素D.不确定的

设f:Z×Z→Z,f()=n2k,其中Z为整数集合,下面命题为真的是 Ⅰ.f是满射的 Ⅱ.f是单射的 Ⅲ.F-1(N 设f:Z×Z→Z,f(<n,k>)=n2k,其中Z为整数集合,下面命题为真的是Ⅰ.f是满射的Ⅱ.f是单射的Ⅲ.F-1(N)=ZXN(N 为自然数集合)Ⅳ.f(z{1})=NA.Ⅰ和ⅡB.Ⅰ和ⅣC.Ⅰ和ⅢD.全为真

类比二分搜索算法,设计A分搜索算法(k为大于2的整数)如下:首先检查n/k处(n为被搜索集合的元素个数)的元素是否等于要搜索的值,然后检查2n/k处的元素,...,这样,或者找到要搜索的元素,或者把集合缩小到原来的1/k;如果未找到要搜索的元素,则继续在得到的集合上进行k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此A分搜索算法在最坏情况下搜索成功的时间复杂度为(1),在最好情况下搜索失败的时间复杂度为(2)。A.O(logn)B.O(nlogn)C.O(logkn)D.O(nlogkn)

设G=(n,m)且G中每个结点的度数不是k就是k+1,则G中度数为k的结点的个数是()。 A、n/2B、n(n+1)C、nkD、n(k+1)-2m

下面算法是实现对n个整数的序列进行选择排序,其中序列的“长度”n为问题的规模。该算法的时间复杂度为(11)。 void select_sort(int a[],int n){ //将a中整数序列重新排列成从小到大有序的整数序列 for(i=0;i<n-1;++i){ j=i; for(k=i+1;k<n;++k)if(a[k]<a[j])j=k; if(j!=i){w=a[j];a[j];a[i];a[i]=w} )//select_sortA.O(n2)B.O(n3)C.O(n4)D.O(n)

某树共有n个结点,其中所有分支结点的度为k(即每个非叶子结点的子树数目),则该树中叶子结点的个数为() A、(n(k+1)-1)/kB、(n(k+1)+1)/kC、(n(k-1)+1)/kD、(n(k-1)-1)/k

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。[C函数]int psort(int a[],int n){int i,J,k,P;for(i=0,k=0;i<(1);i++){for(j=i+1, (2) ;j<n; j++)if(a[p]>a[j])p=j;if(p!=i){t=a[p];a[p]=a[i];a[i]=t;}if( (3) ) k++;else if( (4) <a[i])(5)=a[i];}return k;}int a[]={5,7,5,6,4,3,4,6,7};main(){int k,n;for(k=0;k<(Sizeof a)/Sizeof(int);k++)printf("%5d",a[k]);printf ("\n\n");n=psort(a,(sizeof(a))/sizeof(int));for(k=0;k<n;k++)printf("%5d",a[k]);printf("\n\n");}

下面是一个对整数数组A中的前n个元素求最小值的C程序,函数返回最小元素的位置。 Int minValue(int A[],int n){ int k=0: for(int j=1;j<=n-1;j++) if(A[j]<a[k])k=j; return k: 当n=4时,程序中可能的执行路径数为______。A.2B.4C.8D.16

以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X SUBROUTINE INSERT(B,N,P,X) INTEGER B(N),X,P DO 20 K=N-1,P,-1 B(K+1)=______ 20 CONTINUE B(P)=X END 为使程序完整,应在______处放入( )。A.XB.KC.B.(P)D.B.(K)

对总例数为N的k个处理组的完全随机设计方差分析,其组间的自由度为A.N-1B.N-2C.k-1D.k-2E.N-k

在多元线性回归模型中对样本容量的基本要求是(k为解释变量个数):( )A.n≥k+1B.n<k+1C.n≥30或n≥3(k+1)D.n≥30

某树共有n个结点,其中所有分支结点的度为k(即每个非叶子结点的子树数目),则该树中叶子结点的个数为()A.(n(k+1)-1)/k B.(n(k+1)+1)/k? C.(n(k-1)+1)/k D.(n(k-1)-1)/k?

若一个栈初始为空,其输入序列是1,2,3,…,n-1,n,其输出序列的第一个元素为k(1≤k≤「n/2」),则输出序列的最后一个元素是()。A、值为n的元素B、值为1的元素C、值为n-k的元素D、不确定的

设N1﹑N2分别为滚刀﹑工件每分钟转数,K﹑Z分别为滚刀﹑工件齿数,则滚齿的分齿运动式为()。A、A﹑N1/N2=K/ZB、B﹑N1*N2=K*ZC、C﹑N2/N1=K/ZD、D﹑N1/N2=K*Z

利用评价函数f(n)=g(n)+h(n)来排列OPEN表节点顺序的图搜索算法称为()A、深度优先算法B、宽度优先算法C、盲搜索算法D、A算法

使用二分搜索算法在1000个有序元素表中搜索一个特定元素,在最坏情况下,搜索总共需要比较的次数为()A、10B、11C、500D、1000

对总例数为N的k个处理组的完全随机设计方差分析,其组间的自由度为()A、N-1B、N-2C、k-1D、k-2E、N-k

二分搜索算法是利用()实现的算法。

在搜索解图的过程中,若解图的耗散值记为k(n,N),则若n是N的一个元素,则k(n,N)=()A、nB、NC、N-nD、0

在索引查找中,若用于保存数据元素的主表的长度为n,它被均分为k个子表,每个子表的长度均为n/k,则索引查找的平均查找长度为()。A、 n+kB、 k+n/kC、 (k+n/k)/2D、 (k+n/k)/2+1

使用二分搜索算法在n个有序元素表中搜索一个特定元素,在最佳情况下,搜索的时间复杂性为O(),在最坏情况下,搜索的时间复杂性为O()。

给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,请设计一个最坏时间复杂度为O(n)的算法,并对其时间复杂度进行分析说明。

速度传感器的计算公式应该为以下哪种,单位为r/min()。A、V=60×N/K(N为每秒钟的计数个数,K为标记的数量或者齿轮的个数)B、V=N/(60K)C、V=60×K/ND、V=K/(60N)

填空题二分搜索算法是利用()实现的算法。

填空题使用二分搜索算法在n个有序元素表中搜索一个特定元素,在最佳情况下,搜索的时间复杂性为O(),在最坏情况下,搜索的时间复杂性为O()。

单选题利用评价函数f(n)=g(n)+h(n)来排列OPEN表节点顺序的图搜索算法称为()A深度优先算法B宽度优先算法C盲搜索算法DA算法

问答题给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,请设计一个最坏时间复杂度为O(n)的算法,并对其时间复杂度进行分析说明。