题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-10-18 11:22:36

[单项选择]下列选项中,不能构成折半查找中关键字比较序列的是()。
A. 500,200,450,180 
B. 500,450,200,180 
C. 180,500,200,450 
D. 180,200,500,450

更多"下列选项中,不能构成折半查找中关键字比较序列的是()。"的相关试题:

[单项选择]实现二分查找(折半查找)时,要求查找表()
A. 顺序存储,关键码无序排列
B. 顺序存储,关键码有序排列
C. 双向链表存储,关键码无序排列
D. 双向链表存储,关键码有序排列
[单项选择]对于下列关键序列,不能构成某二叉树排序中的一条查找路径的序列是______。
A. 95,22,91,24,94,71
B. 92,20,91,34,88,35
C. 21,89,77,29,36,38
D. 12,25,71,68,33,34
[单项选择]对长度为10的有序表进行折半查找,设在等概率时查找成功的平均查找长度是()
A. 2.9
B. 3.1
C. 3.4
D. 2.6
[填空题]N个有序整数数列已放在一维数组中,给定下列程序中,函数fun( )的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值:反之,则返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中。直到low>high,查找结束。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#define N 10
/*************found*********************/
void fun(int a[],int m)
int low--0,high=N-l,mid;
while (low<=high)
mid=(low+high)/2;
if(m<a[mid])
high=mid-1;
/*************found*********************/
else if(m>=a [mid])
low=mid+1;
else return(mid);

return(-1);

main ( )
int i,a[N]=-3,4,7,9,13,24,67,89,100,180,k,m;
printf ("a数组中的数据如下: ");
for(i=0;i<N;i++) printf("%d",a[i]);
printf ("Enter m: "); scanf ("%d", &m);
k=fun (a,m);
if (k>=0) printf ("m=%d, index=%d/n",m, k);

[简答题]由N个有序整数组成的数列已放在一维数组中,下列给定程序中,函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low(high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>hjgh,查找结束。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 10
/********found********/
void fun(int all,int m)

int low=0,high=N-1,mid;
while(low<=high)

mid=(low+high)/2;
if(m<a[mid])
high=mid-1;
/********found********/
else If(m>a[mid])
low=mid+1;
else return(mid);

return(-1);

main( )

int i,a[N]=(-3,4,7,9,13,45,67,89,100,180],k,m;
printf("a数组中的数据如下:");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("Enter m:");
scanf("%d",&m);
k=fun(a,m);
if(k>=0)
printf("m=%d,index=%d/n",m,k);
else printf("Not be found!/n");

[单项选择]对于长度为11的顺序存储的有序表,若采用折半查找(向下取整),则找到第5个元素需要与表中的______个元素进行比较操作(包括与第5个元素的比较)。
A. 5
B. 4
C. 3
D. 2
[单项选择]对n个元素的有序表A[1..n]进行二分(折半)查找,则成功查找到表中的任意一个元素时,最多与A中的______个元素进行比较。
A. n-1
B. n/2
C. (log2n)-1
D. (log2n)+1
[单项选择]用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为()
A. n
B. n/2
C. log2n
D. log2(n+1)
[单项选择]利用二分法查找序列的前提条件是
A. 序列不能过大
B. 要查找的数必须在序列中存在
C. 序列必须按顺序排好
D. 序列的个数必须为奇数个
[单项选择]反转恢复脉冲序列的序列构成顺序是()
A. 180°激发脉冲、90°反转脉冲、180°复相脉冲
B. 180°激发脉冲、90°复相脉冲、180°反转脉冲
C. 180°反转脉冲、90°复相脉冲、180°激发脉冲
D. 180°反转脉冲、90°激发脉冲、180°复相脉冲
E. 180°反转脉冲、90°激发脉冲、180°反转脉冲
[单项选择]下列选项中不是C++关键字的是()。
A. bool
B. int
C. float
D. var
[单项选择]有关Internet邮件使用的常用关键字说明,选项 (40) 是错误的。
A. From 是指发送方地址
B. To是指接收方地址
C. Subject是指信息主题
D. Cc是指回复地址
[填空题]str为一个字符序列,序列由字符0和1组成。请补充函数 fun( ),该函数的功能是:查找该字符序列中0字符连续出现的最长长度(即0字符的个数),如果有几个0字符串长度相同,只记录最后一个0字符串的相关信息。通过m和k返回最长0字符串的长度和最后0字符的下标。例如,如果输入“01001000”,结果为:0字符串最长长度为3,起始和结尾下标依次为5、7。
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define N 80
void fun ( 【1】 )

int i, j=0;
int bb[N];
char *p=str;
*m=0;
*k=0;
for(i=0;i<N;i++)
bb[i]=0;
i=0;
while(*(p+i))

if(*(p+i)=’0’)

【2】
i++;

else

j++;
i++;

if ( 【3】 )

*m=bb[j];
*k=i-1;


main( ) char str[N];
int m,n,k;
clrscr( );
printf("***input the original string
***/n");
gets(str);
printf("***The Original string ***/n");
puts(str);
fun(str,&m,&k);
printf("/nThe length o
[单项选择]设二叉排序树中关键字由1~1000的整数构成,现要查找关键字为363的结点,下列关键字序列不可能是在二叉排序树上查找到的序列是______。
A. 2,252,401,398,330,344,397,363
B. 924,220,911,244,898,258,362,363
C. 925,202,911,240,912,245,363
D. 2,399,387,219,266,382,381,278,363
[简答题]简述时间序列的概念及其构成。

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码