1-1
分数 1
作者 DS课程组单位 浙江大学
在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。
T
F
事实上,访问和增加节点应该分别是O(N)和O(1)。
分数 2
作者 DS课程组单位 浙江大学
将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。
T
F
二分查找不适用于链表。
分数 1
作者 李廷元单位 中国民用航空飞行学院
在具有头结点的链式存储结构中,头指针指向链表中的第一个元素结点。
T
F
头指针是指链表指向第一个结点的指针,如果链表有头结点,那么头指针是指向头结点的指针;头节点在第一个元素的结点前面。
分数 1
作者 ZXM单位 西南石油大学
线性表L如果需要频繁地进行不同下标元素的插入、删除操作,此时选择顺序存储结构更好。
T
F
顺序储存每次插入和删除需要让后面所有元素移动,而链式储存只需要链表重组。
分数 1
作者 朱晓龙单位 西安邮电大学
对单链表来说,只有从头结点开始才能访问到表中所有结点。
T
F
2-1
分数 2
作者 严冰单位 浙大城市学院
下面的程序段违反了算法的()原则。
void sam()
{ int n=2;
while (n%2==0) n+=2;
printf(“%d”,n);
}
A.有穷性
B.确定性
C.可行性
D.健壮性
分数 2
作者 周治国单位 东北师范大学
算法的时间复杂度取决于( )。
A.问题的规模
B.待处理数据的初态
C.计算机的配置
D.A和B
分数 2
作者 李廷元单位 中国民用航空飞行学院
一个完整的算法应该具有( )等特性。
A.可执行性、可修改性和可维护性
B.可行性、确定性和有穷性
C.确定性、有穷性和可靠性
D.正确性、可读性和有效性
分数 2
作者 DS课程组单位 浙江大学
给定N×N×N的三维数组A,则在不改变数组的前提下,查找最小元素的时间复杂度是:
A.O(N2)
B.O(NlogN)
C.O(N2logN)
D.O(N3)
分数 3
作者 DS课程组单位 浙江大学
For the following piece of code
for(i=0; i<n; i++)
for(j=i; j>0; j/=2)
printf(“%d\n”, j);
the time complexity is:
A.O(N×i)
B.O(N)
C.O(N2)
D.O(NlogN)
分数 2
作者 往年试卷单位 浙江大学
若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, ____是正确的。
A.p2=p1
B.p2=**p1
C.p2=&p1
D.p2=*p1
分数 2
作者 李廷元单位 中国民用航空飞行学院
一个递归算法必须包括( )。
A.递归部分
B.终止条件和递归部分
C.迭代部分
D.终止条件和迭代部分
分数 2
作者 张泳单位 浙大城市学院
若有以下说明,且0<=i<10,则对数组元素的错误引用是()。
int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a, i;
A.*(a+i)
B.a[p-a+i]
C.p+i
D.*(&a[i])
指针变量p指向数组a的首地址,加上i后,结果仍是地址值,表示数组a中的第i个元素的地址,而地址不是对数组元素的引用。
分数 1
作者 张高燕单位 浙大城市学院
执行下面程序,正确的输出是()。
int x = 5, y = 7;
void swap ( )
{
int z ;
z = x ; x = y ; y = z ;
}
int main(void)
{
int x = 3, y = 8;
swap ( ) ;
printf ("%d,%d \n", x , y ) ;
return 0 ;
}
A.3,8
B.8,3
C.5,7
D.7,5
题中的swap函数虽然交换了x和y,但是没有return是交换的函数回归主函数。
分数 2
作者 颜晖单位 浙江大学
有以下定义:char x[ ]="abcdefg"; char y[ ]={'a', 'b', 'c', 'd', 'e', 'f', 'g'}; 则正确的叙述为()。
A.数组x和数组y等价
B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度
D.数组x的长度小于数组y的长度
char x[]="abcdefg"等于char x[]={'a','b','c','d','e','f','g','\0'}。
分数 2
作者 李廷元单位 中国民用航空飞行学院
单链表又称为线性链表,在单链表上实施插入和删除操作( )。
A.不需移动结点,不需改变结点指针
B.不需移动结点,只需改变结点指针
C.只需移动结点,不需改变结点指针
D.既需移动结点,又需改变结点指针
分数 2
作者 DS课程组单位 浙江大学
下列哪个函数是O(N)的?
A.(logN)2
B.(NlogN)/1000
C.N(logN)2
D.N2/1000
分数 2
作者 DS课程组单位 浙江大学
下列函数中,哪个函数具有最快的增长速度?
A.N2logN
B.N(logN)4
C.N3
D.NlogN2
分数 2
作者 颜晖单位 浙大城市学院
有一函数
,以下程序段中错误的是()。
A. if(x > 0) y = 1;
else if(x == 0) y = 0;
else y = -1;
B. y = 0;
if(x > 0) y = 1;
else if(x < 0) y = -1;
C. y = 0;
if(x >= 0);
if(x > 0) y = 1;
else y = -1;
D. if(x >= 0)
if(x > 0) y = 1;
else y = 0;
else y = -1;
分数 2
作者 李廷元单位 中国民用航空飞行学院
链表不具有的特点是()。
A.插入、删除不需要移动元素。
B.可随机访问任一元素。
C.不必事先估计存储空间。
D.所需空间与线性表长度成正比。
分数 2
作者 DS课程组单位 浙江大学
在具有N个结点的单链表中,实现下列哪个操作,其算法的时间复杂度是O(N)?
A.在地址为p的结点之后插入一个结点
B.删除开始结点
C.遍历链表和求链表的第i个结点
D.删除地址为p的结点的后继结点
分数 2
作者 DS课程组单位 浙江大学
对于一个具有N个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为
A.O(1)
B.O(N/2)
C.O(N)
D.O(N2)
分数 2
作者 DS课程组单位 浙江大学
设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:
A.h=t; t->next=h->next;
B.t->next=h->next; h=t;
C.h=t; t->next=h;
D.t->next=h; h=t;
分数 2
作者 DS课程组单位 浙江大学
在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行
A.s->next=p; p->next=s;
B.s->next=p->next; p=s;
C.s->next=p->next; p->next=s;
D.p->next=s; s->next=p;
分数 2
作者 DS课程组单位 浙江大学
已知表头元素为c的单链表在内存中的存储状态如下表所示:
现将f存放于1014H处,并插入到单链表中,若f在逻辑上位于a和e之间,则a、e、f的“链接地址”依次
是:
A.1010H, 1014H, 1004H
B.1010H, 1004H, 1014H
C.1014H, 1010H, 1004H
D.1014H, 1004H, 1010H
分数 1
作者 黄龙军单位 绍兴文理学院
假设某个带头结点的单链表的头指针为head,则判定该表为空表的条件是( )
A.head==NULL
B.head->next==NULL
C.head!=NULL
D.head->next==head