随机抽取数组元素k次,从最接近搜索元素x 的位置顺序搜索, 顺序搜索的平均比较次数为O(n/(k+1)).

随机抽取数组元素k次,从最接近搜索元素x 的位置顺序搜索, 顺序搜索的平均比较次数为O(n/(k+1)).


参考答案和解析
正确

相关考题:

●采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为 (36) 。(36) A.nB.n/2C.(n-1)/2D.(n+1)/2

下面是一段Pascal程序: for h:=1 tO n-1 dO begin x:=A[h+1]; k:=h; while (k>=1) and (A[k]>x) do begin A[k+1):=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1..n)是一组随机整数。下列答案中,哪一个最好的描述了最差情况下的程序执行时间(运行时间阶数)?( )A.0(nlog2n)B.O(n)C.0(log2n)D.O(n2)

下面是一段Pascal程序: for h:=1 to n-1 do begin x:=A[h+1]; k:=h; while(k>=1)and(A[k]>x)do begin A[k+1]:=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1…n)是一组随机整数。下列答案中,最好地描述了最差情况下的程序执行时间(运行时间阶数)的是A.O(n log2n)B.O(n)C.O(log2n)D.O(n2)

对具有n个元素的有序序列进行二分查找时,(61)。A.元素位置越靠近序列前端,查找该元素所需的比较次数越少B.查找序列中任何一个元素所需要的比较次数不超过[log2(n+1)]C.查找元素所需的比较次数与元素的位置无关D.元素位置越靠近序列后端,查找该元素所需的比较次数越少

阅读以下说明和C语言函数,将应填入(n)处。[说明]函数int find_Max_Min(int a[],int n)的功能是:找出n个元素的数组a中的最大元素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较a[0]和a[n-1],若a[0]大,则交换a[0]和a[n-1]的值:再比较a[1]和a[n-2],若a[1]大,则交换a[1]和a[n-2]的值;以此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元素,在后半区从后往前找出大元素。[函数]int find_Max_Min(int a[],int n){/*找出n个元素的数组a的最大、最小元素并输出,返回查找过程元素中的比较次数*/int i,Count=0;int temp,Maxnum,Minnum;for(i=0; i<n/2; i++){Count=Count+1 /*元素比较次数计数*/if(a[i]>a[(1)]){/*数组元素交换代码略*/}}Maxnum=a[n-1]; Minnum=a[0];for(i=1;i<n/2+n%2;i++){Count=(2); /*元素比较次数计数*/Minnum=(3)? a[i]:Minnum; /*找最小元素*/Maxnum=(4)?(5):Maxnum; /*找最大元素*/}printf("Max=%d\n",Maxnum);printf("Min=%d\n",Minnum);return Count;}

在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)

类比二分搜索算法,设计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)

在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度(即x与元素的平均比较次数,假定查找每个元素的概率都相等)为(). AnBn/2C(n+1)/2D(n-1)/2

采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。 AnBn/2C(n-1)/2D(n+1)/2

假设有一维数组T[O...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m)中,即B[1]=T[0],B[2]=T[n],依此类推,那么放入B[k](1≤k≤n)的元素是(120)。A.T[(K-1)*m]B.T[K*n)C.T[(K-1)*n]D.T[K*m]

已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中O<=xl<x2<n,x2+k<n,请将下列语句补充完整。For(int i=x1+k-1;i>=x1;i--)a[______]=a[i];

采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为(36)。A.nB.n/2C.(n-1)/2D.(n+1)/2

对长度为n的有序单链表,若搜索每个元素的概率相等,则顺序搜索到表中任一元素的平均搜索长度为______。A.n/2B.(n+1)/2C.(n-1)/2D.n/4

●设有二维数组a[1..m,1..n](2mn),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元素以行为主序存放,每个元素占用k个存储单元(k1),则元素a[2,2]的存储位置相对于数组空间首地址的偏移量为(35)。A.(n+1)*kB.n*k+lC.(m+1)*kD.m*k+l

类比二分搜索算法,设计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)

以下子例行程序用于实现向一维数组下标为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的顺序表时,搜索成功的平均搜索长度为()。A.(n-1)/2B.(n+1)/2C.nD.n/2

若人群中某疾病发生的阳性人数X服从二项分布,从该人群中随机抽取n个人,则阳性人数X不小于k人的概率为()A、P(X≥k)B、P(X≥k+1)C、P(X≤k)D、P(X≤k-1)

在一个长度为n的顺序表中,删除值为x的元素需要比较和移动元素的平均次数为()A、n/2B、(n+1)/2C、nD、n+1

在一个长度为n的线性表中顺序查找值为x的元素时,查找时的平均查找长度(即x同元素的平均比较次数,假定查找每个元素的概率都相等)为()。A、nB、n/2C、(n+1)/2D、(n-1)/2

B-树是一种动态索引结构,它既适用于随机搜索,也适用于顺序搜索。

采用“顺序搜索法”从一个长度为N的随机分布数组中搜寻值为K的元素。以下对顺序搜索法分析正确的是()A、最佳情况、最差情况和平均情况下,顺序搜索法的渐进代价都相同B、最佳情况的渐进代价要好于最差情况和平均情况的渐进代价C、最佳情况和平均情况的渐进代价要好于最差情况的渐进代价D、最佳情况的渐进代价要好于平均情况的渐进代价,而平均情况的渐进代价要好于最差情况的渐进代价

从n个数中选取最大元素()。A、基本操作是数据元素间的交换B、算法的时间复杂度是O(n)C、算法的时间复杂度是O(n2)D、需要进行(n+1)次数据元素间的比较

采用顺序搜索方法查找长度为n的顺序表示,搜索成功的平均搜索长度为()。A、nB、n/2C、(n-1)/2D、(n+1)/2

设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。A、O(n)B、O(nlog2n)C、O(1)D、O(n2)

单选题在一个长度为n的线性表中顺序查找值为x的元素时,查找时的平均查找长度(即x同元素的平均比较次数,假定查找每个元素的概率都相等)为()。AnBn/2C(n+1)/2D(n-1)/2

单选题采用“顺序搜索法”从一个长度为N的随机分布数组中搜寻值为K的元素。以下对顺序搜索法分析正确的是()A最佳情况、最差情况和平均情况下,顺序搜索法的渐进代价都相同B最佳情况的渐进代价要好于最差情况和平均情况的渐进代价C最佳情况和平均情况的渐进代价要好于最差情况的渐进代价D最佳情况的渐进代价要好于平均情况的渐进代价,而平均情况的渐进代价要好于最差情况的渐进代价

单选题采用顺序搜索方法查找长度为n的顺序表示,搜索成功的平均搜索长度为()。AnBn/2C(n-1)/2D(n+1)/2