当前位置:IT认证>计算机二级

问题:

[单选] 下列叙述中正确的是(  )。   

A . 对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B . 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C . 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D . 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)

 有以下程序#include<stdio.h>main(){ int a=1,b=2,c=3,x;x=(a^b)&C;printf("%d",x);}程序的运行结果是( )。 0 。 1。 2 。 3。  若程序中有宏定义行:#define N 100则以下叙述中正确的是( )。 宏定义行中定义了标识符N的值为整数100。 在编译程序对C源程序进行预处理时用100替换标识符N。 对C源程序进行编译时用100替换标识符N。 在运行时用100替换标识符N。 数据库设计中,用E—R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的(  )。 需求分析阶段   。 逻辑设计阶段。 概念设计阶段   。 物理设计阶段 。 若有定义语句:"int a[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是(  )。 p=a   。 q[i]=a[i]。 p=a[l]。 P=&a[2][1]。 以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致 不能实现预定功能。 #define MIN-2147483647int findmax(int x[],int n){int i,max;  for(i=0;i<n;i++) {max=MIN;   if(max<x[i])max=x[i];) return max; }造成错误的原因是(  )。 定义语句“int i,max;”中max未赋初值。 赋值语句“max=MIN;”中,不应给max赋MIN值。 语句“if(max<x[i])max=x[i];”中判断条件设置错误。 赋值语句“max—MIN;”放错了位置 。 下列叙述中正确的是(  )。   
参考答案:

  参考解析

分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。

在线 客服