单选
5分/题,共30题
1、在长度为n的顺序表的第i个位置上插入一个元素,i的合理取值范围是( )。
-
A.1≤i≤n
-
B.任意正整数
-
C.i≥0
-
D.1≤i≤n+1
正确答案:D
2、已知L是带表头结点单链表的头指针,摘除首元结点的语句是( )。
-
A.L->next=L;
-
B.L=L->next;
-
C.L=L->next->next;
-
D.L->next=L->next->next;
正确答案:D
3、若n阶三对角矩阵A按照行序为主序方式,将所有非零元素依次存放在一个一维数组B中,则该三对角矩阵在B中至少占用了( )个单元。
-
A.3n
-
B.3n+2
-
C.
-
D. 3n-2
正确答案:D
4、长度为N的数组空间中,存放着一个循环队列,该队列的队头和队尾指示器分别为front和rear,则该队列中的元素个数为( )。
-
A.(rear-front)%N
-
B.rear-front
-
C.(rear-front+N)%N
-
D.(rear-front+1)%N
正确答案:C
5、向一个栈顶指针为top的带头结点的链栈中插入一个S所指的结点,应执行( )。
-
A.S->next=top->next; top->next=S;
-
B.S->next=top; top=S;
-
C.top->next=S;
-
D.S->next=top; top=top->next;
正确答案:A
6、以下哪一个不是队列的基本运算( )。
-
A.从队列中删除第i个元素
-
B.读取队头元素的值
-
C.判断一个队列是否为空
-
D.在队尾插入一个新元素
正确答案:A
7、广义表A=( a, ( b ), ( ( c ) ) ) ,那么Head(Tail(Tail(A)))是( )。
-
A.( ( b ), ( ( c ) ) )
-
B.( ( ( c ) ) )
-
C.( ( c ) )
-
D.( c )
正确答案:C
8、一棵有n个结点的树,所有结点的度之和为( )。
-
A.n+1
-
B.n
-
C.n-1
-
D.2n
正确答案:C
9、用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:
20,15,21,25,47,27,68,35,84
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84
则所采用的排序方法是( )。
-
A.选择排序
-
B.归并排序
-
C.快速排序
-
D.希尔排序
正确答案:C
10、设某有向图中有n个顶点,则该有向图对应的邻接表中有( )个表头结点。
-
A.n
-
B.n-1
-
C.2n-1
-
D.n+1
正确答案:A
11、100个结点的完全二叉树,其高度为( )。
-
A.7
-
B.8
-
C.5
-
D.6
正确答案:A
12、100个结点的完全二叉树采用顺序存储,从1开始按层次编号,则编号最小的叶子结点的编号应该是( )。
-
A.49
-
B.51
-
C.50
-
D.100
正确答案:B
13、【本题有争议,部分同学认为是选D,但MOOC的答案给的B】
己知有序表为(13,19,24,35,47,50,62),当用二分法查找19时,需( )次比较查找成功。
-
A.1
-
B.3
-
C.4
-
D.2
正确答案:B
14、设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列( )方法可以达到此目的。
-
A.归并排序
-
B.堆排序
-
C.基数排序
-
D.快速排序
正确答案:B
15、排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置。这是( )排序方法的基本思想。
-
A.堆排序
-
B.冒泡排序
-
C.快速排序
-
D.直接插入排序
正确答案:B
16、已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的弧,应该( )。
-
A.将邻接矩阵的第i行元素全部置为0
-
B.将邻接矩阵的第i列删除
-
C.将邻接矩阵的第i列元素全部置为0
-
D.将邻接矩阵的第i行删除
正确答案:A
17、设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为( )。
-
A.q=p->next;p->data=q->data;free(q);
-
B.q=p->next;p->next=q->next;free(q);
-
C.q=p->next; p->next=q->next;
-
D.p->next=p-> next->next;
正确答案:B
18、在括号匹配算法中,当正扫描的符号是右括号,此时的栈是空栈,则()。
-
A.右括号进栈;
-
B.此时出现右括号多了的不匹配现象。
-
C.继续向下扫描;
-
D.取出栈顶元素做匹配检查;
正确答案:B
19、已知循环队列Q-> element[MAXSIZE],队头指示器为Q->front,队尾指示器为Q->rear(指向真实队尾的下一个位置),则该队列为满队列的条件为( )(采用少用一个空间的方法)
-
A.Q->rear= =Q->front
-
B.(Q->rear+1)% MAXSIZE = =Q->front
-
C.Q->rear+1= =Q->front
-
D.Q->rear-1)% MAXSIZE = =Q->front
正确答案:B
20、若将n阶上三角矩阵A[n][n]按列优先压缩存放在一维数组B中,第一个非零元素A[1][1]存放在B[1]中,则非零元素aij存放在B[k]中,则k=( )。
-
A.i(i-1)/2+j-1
-
B.i(i+1)/2+j
-
C.j(j-1)/2+i-1
-
D.j(j-1)/2+i
正确答案:D
21、若一棵二叉树有11个度为2的结点,5个度为1的结点,则度为0的结点有( )个。
-
A.10
-
B. 9
-
C.15
-
D.12
正确答案:D
22、具有n个顶点的有向图至少应有 弧才能确保是一个强连通图。
-
A.n(n-1)/2
-
B.n(n-1)
-
C.n
-
D.n-1
正确答案:C
23、假设有k个关键字互为同义词,若用线性探测再散列法将这k个关键字存入哈希表中,至少要进行 次定址。
-
A.k
-
B.k-1
-
C.k+1
-
D.k(k+1)/2
正确答案:D
24、高度为h的二叉树中只存在度为0和度为2的结点,则该二叉树中至少有( )结点。
-
A.
-
B.2h-1
-
C.2h+1
-
D.h
正确答案:B
25、某二叉树的先序遍历序列是ABDCEF,中序遍历序列是BDAEFC,则该二叉树的后序遍历序列是( )。
-
A.BDEFCA
-
B.DBFECA
-
C.DBEFCA
-
D.BDFECA
正确答案:B
26、设有一组关键字(19,20,84,27,68,80),采用的哈希函数是H(key)= key % p(p为小于等于表长的最大素数),采用线性探测再散列处理冲突。构造装填因子为0.75的哈希表,那么其查找成功ASLuss和不成功ASLunsucc的平均查找长度分别为( )。
-
A.ASLsucc=11/7 ALSunsucc=20/6
-
B.ASLsucc=11/6 ALSunsucc=24/7
-
C.ASLsucc=11/6 ALSunsucc=20/7
-
D.ASLsucc=11/7 ALSunsucc=24/6
正确答案:C
27、设无向图G的顶点数组和邻接矩阵如下所示:
利用prim算法,从顶点V1出发,求图G的最小生成树。依次加入的边为( )。
-
A.(V1,V3) (V3,V5) (V3,V4) (V1,V2 )
-
B.(V1,V3) (V3,V4) (V1,V2 ) (V3,V5)
-
C.(V1,V3) (V1,V2 ) (V3,V5) (V3,V4)
-
D.(V1,V3) (V3,V4) (V3,V5) (V1,V2 )
正确答案:C
28、对关键字序列(72, 87, 61, 23, 94, 16, 05, 58)进行堆排序,使之按关键字递增次序排列。则建成的初堆为( )。
-
A.94,87,61,58,72,16,5,23
-
B.5,16,23,58,61,72,87,94
-
C.5,23,61,58,94,16,72,82
-
D.94,87,72,61,58,23,16,5
正确答案:A
29、某二叉树按照二叉链表方式存储,欲将其每个结点的左右子树交换,则以下不可以完成该任务的算
A
void exchange(BiTree bt){
if(bt) {
tmp=bt->LChild;
bt->LChild=bt->RChild;
bt->RChild=tmp;
exchange(bt->LChild);
exchange(bt->RChild);
}
}
B
void exchange(BiTree bt){
if(bt) {
exchange(bt->LChild);
exchange(bt->RChild);
tmp=bt->LChild;
bt->LChild=bt->RChild;
bt->RChild=tmp;
}
}
C.本题选C
void exchange(BiTree bt){
if(bt) {
exchange(bt->LChild);
tmp=bt->LChild;
bt->LChild=bt->RChild;
bt->RChild=tmp;
exchange(bt->RChild);
}
}
D
void exchange(BiTree bt){
if(bt) {
exchange(bt->LChild);
tmp=bt->LChild;
bt->LChild=bt->RChild;
bt->RChild=tmp;
exchange(bt->LChild);
}
}
正确答案:C
30、依次输入25,37,2,56,98,21,构建一棵二叉排序树。该二叉排序树的高度为( )。
-
A.1
-
B.4
-
C.3
-
D.不能唯一确定
正确答案:B