更多"对于具有n个元素的数据序列,若采用二分查找法,当n的值较大时其平均查找"的相关试题:
[单项选择]
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用 (47) ,使用分治(Divide and Conquer)策略的是 (48) 算法。
(47)处填()。
A. 希尔排序
B. 直接插入排序
C. 快速排序
D. 堆排序
[单项选择]
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用 (62) ,使用分治(Divide and conquer)策略的是 (63) 算法。
(62)处填()。
A. 希尔排序
B. 直接插入排序
C. 快速排序
D. 堆排序
[单项选择]对具有n个元素的有序序列进行二分查找时,______。
A. 查找元素所需的比较次数与元素的位置无关
B. 查找序列中任何一个元素所需要的比较次数不超过[log2(n+1)]
C. 元素位置越靠近序列后端,查找该元素所需的比较次数越少
D. 元素位置越靠近序列前端,查找该元素所需的比较次数越少
[单项选择]
对长度为N的线性表进行查找,若采用顺序查找法,那么在最坏情况下所需要的比较次数为();若采用折半查找法,那么在最坏隋况下所需比较的次数为()。
若采用折半查找法,那么在最坏隋况下所需比较的次数为()。
A. N
B. N+1
C. N/2
D. (N+1)/2
[填空题]已知具有n个元素的一维数组采用顺序存储结构,假设每个元素占k个存储单元,若第一个元素的地址为LOC(a1),那么第1今元素地址LOC(ai)= ______。
[填空题]给定一个具有n个元素的向量,建立一个有序单链表的时间复杂度是()。
[填空题]下面程序的功能是显示具有n个元素的数组s中的最大元素。请填空。
#define N 20
main( )
int i,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("%d/n", (14) );
fmax(int s[],int n)
int k,p;
for(p=0,k=p;p<n;p++)
if(s[p]>s[k]) (15) ;
return(k);
[简答题]请编写一个函数int Count(double a[],int n),统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回这个值。注意:请使用for循环实现该函数。
注意:部分源程序已存在文件test12_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数Count的花括号中填写若干语句。
文件test12_2的内容如下:
#include<iostream.h>
int Count(double a[], int n)
{
}
void main( )
{
double a[5];
cout<<"请输入5个double型的数字"<<endl;
for(int i=0;i<5;i++)
{
cin>>a[i];
}
int result=Count(a,5);
cout<<"大于等于所有元素平均值的元素个数:"<<result<<endl;
}
[填空题]假定动态分配一个类型为Worker的具有n个元素的数组,并由P指向这个动态数组,如果要释放这个数组,则使用的语句为 【13】 。
[填空题]假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句是 【9】 。
[填空题]假定要动态分配一个类型为worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句是______。