安庆师范大学之计科-数据结构MOOC期末考试

 单选

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.n^2

  • 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.2^{h-1}

  • 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

猜你喜欢

转载自blog.csdn.net/qq_42680327/article/details/131253082