适用于
单选
5分/题,共33题
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
设s='abcd',则执行语句StrDelete( s,2,2)后,s=
-
A.'abc'
-
B.'a'
-
C.'abcd'
-
D.'ad'
正确答案:D
21
若将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
22
若一棵二叉树有11个度为2的结点,5个度为1的结点,则度为0的结点有( )个。
-
A.10
-
B. 9
-
C.15
-
D.12
正确答案:D
23
具有n个顶点的有向图至少应有 弧才能确保是一个强连通图。
-
A.n(n-1)/2
-
B.n(n-1)
-
C.n
-
D.n-1
正确答案:C
24
假设有k个关键字互为同义词,若用线性探测再散列法将这k个关键字存入哈希表中,至少要进行 次定址。
-
A.k
-
B.k-1
-
C.k+1
-
D.k(k+1)/2
正确答案:D
25
高度为h的二叉树中只存在度为0和度为2的结点,则该二叉树中至少有( )结点。
-
A.
-
B.2h-1
-
C.2h+1
-
D.h
正确答案:B
26
用希尔排序对{Q,H,C,Y,Q,A,M,S,R,D,F,X},进行排序,第一趟的增量是4,则第一趟排序后的结果是( )。
-
A.{H,Q, C,Y,Q,A,M,S,R,D,F,X}
-
B.{Q,A,C,S,Q,D,F,X,R,H,M,Y}
-
C.{ A,H,C,Y,Q,Q,M,S,R,D,F,X}
-
D.{H,C,Q,Q,A,M,S,R,D,F,X,Y}
正确答案:B
27
某二叉树的先序遍历序列是ABDCEF,中序遍历序列是BDAEFC,则该二叉树的后序遍历序列是( )。
-
A.BDEFCA
-
B.DBFECA
-
C.DBEFCA
-
D.BDFECA
正确答案:B
28
某报文长度由6个字符组成,其中每个字符出现的次数分别为{2,4,5,7,10,12}。为这些字符设计哈夫曼编码,编码后的报文总长度为( )。
-
A.97
-
B.101
-
C.99
-
D.103
正确答案:A
29
设有一组关键字(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
30
设无向图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
31
对关键字序列(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
32
某二叉树按照二叉链表方式存储,欲将其每个结点的左右子树交换,则以下不可以完成该任务的算
-
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
33
依次输入25,37,2,56,98,21,构建一棵二叉排序树。该二叉排序树的高度为( )。
-
A.1
-
B.4
-
C.3
-
D.不能唯一确定
正确答案:B
判断
5分/题,共14题
34
如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词。( √ )
35
设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlogn)。(以2为底)( ×)
36
二维数组和多维数组均不是特殊的线性结构。( ×)
37
如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。( √ )
38
二叉树就是结点度不大于2的树。(×)
39
不存在这样的二叉树:它有n个度为0的结点,n-1个度为1的结点,n-2个度为2的结点。( √)
40
已知二叉树的先序和后序遍历序列可以唯一确定该二叉树。( ×)
41
在哈夫曼树中,权值相同的叶子点一定在同一层上。( ×)
42
在哈夫曼编码中,当两个字符出现的频率相等时,则两个字符的哈夫曼编码也相同。( ×)
43
任何有向无环图的顶点都可以排成拓扑排序序列,且拓扑排序序列唯一(× )
44
所谓的下三角矩阵An╳n,是指当i<j时(i为元素的行标,j 为元素的列标)元素aij为0或常数C .( √)
45
所谓的n阶(n>3)三对角矩阵(带状矩阵)是指非零元素只出现在矩阵的两条对角线上。( ×)
46
任意一个广义表都可以表示为由表头和表尾构成( ×)。
47
非空的广义表的表尾可能是单个元素也可能是表元素( ×)。