数据结构复习题

目录

绪论... 1

绪论2. 3

链表... 5

线性表顺序存储... 7

栈1. 8

栈2. 10

队列1. 12

队列2. 16

队列3. 21

树1. 26

树3 哈夫曼树... 31

树0基本概念... 36

树4、二叉树遍历... 38

图的基本感念... 43

图的存储... 49

图的遍历... 56

最小生成树... 59

冒泡排序... 61

选择排序... 64

插入排序... 65

快速排序... 69

希尔排序... 76

堆排序... 77

归并排序... 80

排序综合... 81

顺序查找... 87

折半查找... 91

二叉树查找... 96

哈希查找... 99

查找综合... 104

 

 

绪论

  1. 数据元素是数据的最小单位(B)
  1. 正确
  2. 错误

 

  1. 数据的逻辑结构和数据的存储结构是相同(B
  1. 正确
  2. 错误

 

3.程序和算法原则上没有区别,所以在讨论数据结构时可以通用(B

       A.正确

       B.错误

 

4.数据的逻辑结构时依赖于计算机的(B

       A.正确

       B.错误

 

5.数据的逻辑结构于数据元素本身内容和形式无关。(A

       A.正确

       B.错误

 

6.一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算构成的整体(A

       A.正确

       B.错误

 

7.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类(A

              A.正确

              B.错误

 

       8.数据的存储结构是数据逻辑结构的存储映像(A

              A.正确

              B.错误

 

       9.数据的物理结构是指数据在计算机内实际的存储形式。(A

              A.正确

              B.错误

 

       10.算法是对解题方法和步骤的描述(A

              A.正确

              B.错误

 

       11.数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为(C

              A.存储结构

              B.逻辑存储

              C.顺序存储结构

              D.链式存储结构

      

       12.非线性结构中的每一点(D

              A.无直接前趋结点

              B.无直接后继结点

              C.只有一个直接前趋结点和一个直接后继结点

              D.可能有多个直接前趋结点和多个后继结点

      

       13.链式存储的存储结构所占存储空间(A

              A.分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针

              B.只有一部分,存放结点的值

              C.只有一部分,存储表示结点关系的指针

              D.分两部分,一部分存放结点的值,另一部分存放结点所占单元素

 

       14 .算法的计算量大小称为算法的(C

  1. 现实性
  2. 难度
  3. 时间复杂性
  4. 效率

 

15.数据的基本单位是(B

       A.数据结构

       B.数据元素

       C.数据项

       D.文件

 

16. 每个结点只含有一个数据元素,所有存储结点相继存放在一个连续存储区里,这种存储结构称为(A)结构。

       A.顺序存储

       B.链式存储

       C.索引存储

       D.散列存储

 

17. 每一个存储结点不仅有一个元素,还包含一组指针,改存储方式是(B)存储方式

       A.顺序

       B.链式

       C.索引

       D.散列

 

18.一下任何两个结点之间都没有逻辑关系的是(D)。

       A.图形结构

       B.线性结构

       C.树形结构

       D.集合

 

19.在数据结构中,与所有的计算机无关的是(C

       A.物理结构

       B.存储结构

       C.逻辑结构

       D.逻辑和存储结构

 

20.下列四种基本逻辑机构中,数据元素之间关系最弱的是(A)

A.集合

B.线性结构

C.树形结构

D.图形结构

 

 

 

绪论2

 

  1. 与数据元素本身的形式,内容,相对位置,个数无关的是数据的(A)。
  1. 逻辑结构
  2. 存储结构
  3. 逻辑实现
  4. 存储实现

 

2. 每个存储结点只含一个数据元素,存储结点存放在连续储存空间,另外有一组指明结点位置的表,该存储方式是(C

       A.顺序

       B.链式

       C.索引

       D.散列

 

3 . 算法能正确的实现预定功能的特性称为算法的(A

  1. 正确性
  2. 易读性
  3. 健壮性
  4. 高效性

 

4.算法在发生非法操作时可以作出处理的特性称为算法的(C

A.正确性

B.易读性

C.健壮性

D.高效性

5.下列时间复杂中最坏的时(D

       A.O(1)

       B.O(n)

       C.O(log2n)

       D.O(n2)

 

 

6. 算法分析的两个主要方面时(A

       A.空间复杂性和时间复杂性

       B.正确性和简明性

       C.可读性和文档性

       D.数据复杂性和程序复杂性

 

7. 计算机算法必须具备输入,输出和(C

       A.计算方法

       B.排序方法

       C.解决问题的有限运算步骤

       D.程序设计方法

 

8. 数据结构是指()

       A.数据元素的组织形式

       B.数据类型

       C.数据存储结构

       D.数据定义

 

9.数据在计算存储器内表示时,物理地址与逻辑地址不相同的,称之为(C

A.存储结构

B.逻辑结构

C.链式存储结构

D.顺序存储结构

 

10.树形结构是元素之间存在一种(D

       A.一对一关系

       B.多对多关系

       C.多对一关系

       D.一对多关系

 

11.设语句x++的时间是单位时间,则以下语句的时间复杂度为(B )。for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;

       A.O(1)

       B.O(n^2)

       C.O(n)

       D. O(n^3)

 

12..数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要(B

              A.低

              B.高

              C.相同

              D.不说

 

13.数据结构只是研究数据的逻辑结构和物理结构,这种观点(B

              A.正确、

              B.错误

              C.前半句对,后半句错

              D.前半句错,后半句对

 

14.计算机内部数据处理的基本单位是(B

       A.数据

       B.数据元素

       C.数据项

       D.数据库

 

 

 

链表

 

1.单链表的存储密度(C

       A.大于1

       B.等于1

       C.小于1

       D.不能确定

 

2.线性链表的删除算法简单,因为当删除链中某个结点后,计算机自动地将后续的各个单元向前移动(B)。

       A.正确

  1. 错误

 

3.在线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻(A

  1. 正确
  2. 错误

4.两个指针P和Q,f分别指向单链表的两个元素,P所指元素是Q所指元素前驱的条件是(B

       A.P->next==Q->next

B.P->next== Q

C.Q->next== P

D.P== Q

5..用链表存储的线性表,其优点是(C

       A.便于随机存取

       B.花费的存储空间比顺序表少

       C.便于插入和删除

       D.数据元素的物理顺序与逻辑顺序相同

 

6.在单链表中,增加头结点的目的是(C

       A.使单链表至少有一个结点

       B.标志表中首结点的位置

       C.方便运算的实现

       D.说明该单链表是线性表的链式存储结构

 

7.链表不具备的特点是(A

       A.随机访问

       B.不必事先估计存储空间

       C.插入删除时不需要移动元素

       D.所需空间与线性表成正比

 

8.在一个单链表中,已知q结点是P结点的前趋结点,若在q和p之间插入s结点,ze须执行(B

       A.s->next=p->next;  p->next=s

B.q->next=s;  s->next=p

C.p->next=s->next;  s->next=p

D.p->next=s;  s->next=q

 

9.在一个具备有n个结点的有序单链表中插入一个新结点并保持该表有序时间复杂度是(B

       A.O(1)

       B.O(n)

       C.O(n2)

       D.O(log2n)

 

线性表顺序存储

 

1.已知一个顺序存储的线性表,设每个节点占m个存储单元,若第一个结点的地址为8,则第i个结点的地址为(A)。

       A.B+(i-1)*m

B.B+i*m

C.B-i*m

D.B+(i+1)*m

 

2.线性表的链式存储结构优于顺序存储(B

       A.正确

       B.错误

3.顺序存储方式的优点是存储密度大,插入,删除效率高(B

,    A.正确

       B.错误

 

4.顺序表的每一个结点只能是一个简单类型,而链表的每一个结点可以是一个复杂类型(B

       A.正确

       B.错误

 

5.L是线性表,已知LengthList(L)的值是5,经DelList(L,2)运算后,LengthList(L)的值是(  C  )。
 
      A.2
      B.3
      C.4
      D.5
6.等概率情况下,在有n个结点的顺序表上做插入结点运算,需平均移动结点的数目为(C
      A.n
      B.(n-1)/2
      C.n/2
      D.(n+1)/2
 
7.在顺序表中,只要知道(D)就可以出任一结点的存储地址
      A.基地址
      B.结点大小
      C、向量大小
      D.基地址和结点大小
 
8.在(B)的运算中,使用顺序表比链表好。
      A.插入
      B.根据序列号查找
      C.删除
      D、根据元素查找
 
9.线性表是(A
      A.一个有限序列,可以为空
      B.一个有限序列,不可以为空
      C.一个无限序列,可以为空
      D.一个无限序列,不可以为空

 

10.在一个长度 为n的序列表中删除第i个元素(0<=i<n)时,需要向前移动(A)元素

       A.n-i

       B.n-i+1

       C.n-i-1

       D.i

 

 

11.在等概率情况下,顺序表的插入操作要移动(B)结点

       A.全部

       B.一半

       C.三分之一

       D.四分之一

 

 

 

栈1

 

1.栈一定时顺序存储的线性结构(B

       A.正确

       B.错误

 

2.空栈就是所有元素都为0的栈(B

       A.正确

       B.错误

3.在C或C++语言中设顺序栈的长度为MAXLEN。则top=MAXLEN时表示队满(B

       A.正确

       B.错误

4.一个栈的输入序列为A、B、C、D、可以得到输出序列:C、A、B、D、(B

       A.正确

       B.错误

5.递归定义就是循环定义。(B

       A.正确

       B.错误

6.栈是运算受限制的线性表(A

       A.正确

       B.错误

7.在栈空的情况下,不能做出栈操作,否则产生下溢出(A

       A.正确

       B.错误

8.栈的特点是先进后出(A

       A.正确

       B.错误

9.链栈与顺序栈相比,其特点之一是通常不会出现栈满的情况。(A

       A.正确

       B.错误

10.将十进制转换为二进制数是栈的典型应用之一。(A

       A.正确

       B.错误

11.插入和删除只能在一端进行的线、

性表,称为(C

       A.队列

       B.循环队列

       C.栈

       D.循环栈

 

12.设有编号为1,2,3,4的四辆列车,顺序进入一个栈结构的站台,下列不可能的出战顺序为(D

       A.1234

       B.1243

       C.1324

       D.1423

 

13.如果以链表作为栈的存储结构,则出栈操作时(B

       A.必须判别栈是否满

       B.必须判别栈是否空

       C 必须判别栈元素类型

       D.队栈可不做任何判别

14.元素A、B、C、D、依次进栈以后,栈顶元素是(D

       A、A

       B.B

       C、C

       D.D

 

15、顺序栈存储空间的实现使用(B)存储栈元素

       A.链表

       B.数组

       C.循环链表

       D.变量

 

16、在C或C++语言中,一个顺序栈一旦声明,其占用空间的大小(A

       A.已固定

       B.不固定

       C.可以改变

       D.动态变化

 

 

栈2

  1. 四个元素按A、B、C、D顺序进S栈,执行两次POP(S,x)运算后,栈顶元素的值是(B
  1. A
  2. B
  3. C
  4. D

2.在一个栈顶指针为HS的链栈中,将一个S指针所指的结点入栈,应执行下列(B)命令

       A.HS->next=S

       B.S->next=HS->next,HS->next=S;

       C.S->next=Hs->next;HS=S

       D.S->next=HS;HS=HS->next;

 

3、在一个栈顶指针为top的链栈中删除一个结点时,用保存被删除的结点,应执行下列(D)命令。

       A.x=top;top=top->next;

B.top=top->next;x=top->data;

C.x=top->data;

D.x=top->data;top=top->next;

 

4、链栈与顺序栈相比,有一个比较明显的优点是(B

       A.插入操作更加方便

       B.通常不会出现栈满的情况

       C.不会出现的情况

       D.删除操作更加方便

 

5、元素A、B、C、D依次进栈以后,栈底元素是(A

       A、A

       B、B

       C、C

       D、D

 

6、经过下列栈的运算后,再执行ReadTop(S)的值是(A)。nitStack(S)(初始化栈),Push(S,a),Push(S,b);PoP(S)

       A.a

       B.b

       C.1

       D.0

 

7、经过下列栈的运算后,X的值是(B)。InitStack(s) (初始化栈);Push(s,a);Push(s,b); ReadTop(s);Pop(s,x);
        A、a
        B、b
        C、1
        D、0
 
8、经过下列栈的运算后,X的值是(B)InitStack(s) (初始化栈);Push(s,a);Pop(s,x);Push(s,b);Pop(s,x);
        A.a
        B、b
        C、1
        D、0
 

 

9、经过下列栈的运算后,SEmpty(s)的值()InitStack(s) (初始化栈);Push(s,a);Pop(s,x);Push(s,b);Pop(s,x);

              A、a

              B、b

              C、1

              D、0

10、向顺序栈中压入元素是(B)。

              A、先存入元素,后移动栈顶指针

              B、先移动栈顶指针,后存入元素

              C、谁先谁后无关紧要

              D、同时进行

 

11、初始化一个空间大小为5的顺序栈S后,S->top的值是(B

       A、0

       B、-1

       C、不改变

       D、动态变化

12、一个栈的入栈次序ABCDE,则栈的不可能的输出序列是 (C  )

       A.EDCBA

B.DECBA

C.DCEAB

D.ABCDE

13设有一个顺序栈S,元素A,B,C,D,E,F,依次进栈,如果六个元素出栈的顺序是B,D,C,F,E,A,则栈的容量至少应是­ ( A )。

       A.3

B.4

C.5

D.6

14设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列(C)

       A.A, B, C, D, E

B.B, C, D, E, A

C.E, A, B, C, D

D.E, D, C, B, A

 

15在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为(C

              A.top不变

B.top=0

C.top--

D.top++

 
16、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行___B___

A.hs->next=s;

B.s->next=hs;   hs=s;

C.s->next=hs->next;hs->next=s;

D.s->next=hs; hs=hs->next;

 

 

队列1

1

单选题 | 1 )

在链队列上做出队操作时,会改变front指针的值。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是p=h

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

在循环链队列中无溢出现象。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

栈和队列都是顺序存储的线性结构。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

5

单选题 | 1 )

在队列中允许删除的一端称为队尾。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

顺序队和循环队关于队满和队空的判断条件是一样的。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

队列是限制在两端进行操作的线性表。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

判断顺序队列为空的标准是头指针和尾指针都指向同一个结点。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

9

单选题 | 1 )

在循环队列中,若尾指针rear大于头指针front,其元素个数为rear- front

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

10

单选题 | 1 )

链队列在一定范围内不会出现队满的情况。

A.正确

B.错误

正确答案: A

 

你的答案: B

 

队列2

1

单选题 | 1 )

队列是限定在(  )进行操作的线性表。

A.中间

B.队首

C.队尾

D.端点

正确答案: D

 

你的答案: C

查看知识点 | 查看解析

2

单选题 | 1 )

队列中的元素个数是(  )。

A.不变的

B.可变的

C.任意的

D.0

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

3

单选题 | 1 )

同一队列内各元素的类型(  )。

A.必须一致

B.不能一致

C.可以不一致

D.不限制

正确答案: A

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

队列是一个(  )线性表结构。

A.不加限制的

B.推广了的

C.加了限制的

D.

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

当利用大小为n的数组顺序存储一个队列时,该队列的最后一个元素的下标为(  )。

A.n-2

B.n-1

C.n

D.n+1

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

一个循环队列一旦说明,其占用空间的大小(  )。

A.已固定

B.可以变动

C.不能固定

D.动态变化

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

循环队列占用的空间(  )。

A.必须连续

B.不必连续

C.不能连续

D.可以不连续

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

存放循环队列元素的数组data10个元素,则data数组的下标范围是(  )。

A.0..10

B.0..9

C.1..9

D.1..10

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

9

单选题 | 1 )

若进队的序列为:ABCD,则出队的序列是(  )。

A.BCDA

B.ACBD

C.ABCD

D.CBDA

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

10

单选题 | 1 )

四个元素按:ABCD顺序连续进队Q,则队尾元素是(  )。

A.A

B.B

C.C

D.D

正确答案: D

 

你的答案: D

 

队列3

1

单选题 | 1 )

四个元素按:ABCD顺序连续进队Q,执行一次OutQueue(Q)操作后,队头元素是(   )。

A.A

B.B

C.C

D.D

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

四个元素按:ABCD顺序连续进队Q,执行四次OutQueue(Q)操作后,再执行QEmpty(Q);后的值是(    )。

A.0

B.1

C.2

D.3

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

队列Q,经过下列运算后,x 的值是(   )。    InitQueue(Q)(初始化队列);InQueue(Q,a); InQueue(Q,b);OutQueue(Q,x); ReadFront (Q,x);

A.a

B.b

C.0

D.1

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

循环队列SQ队满的条件是(  )。

A.SQ->rear==SQ->front

B.(SQ->rear+1)% MAXLEN ==SQ->front

C.SQ->rear==0

D.SQ->front==0

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

设链栈中结点的结构:data为数据域,next为指针域,且top是栈顶指针。若想在链栈的栈顶插入一个由指针s所指的结点,则应执行下列(  )操作。

A.s->next=top->nexttop->next=s

B.top->next=s

C.s->next=toptop=top->next

D.s->next=toptop=s

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

6

单选题 | 1 )

队列Q,经过下列运算后,再执行QEmpty(Q) 的值是(    )。    InitQueue(Q) (初始化队列);InQueue(Q,a); InQueue(Q,b);OutQueue(Q,x); ReadQueue(Q,x);

A.a

B.b

C.0

D.1

正确答案: C

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

若用一个大小为6的数组来实现循环队列,且当前frontrear的值分别为30,当从队列中删除一个元素,再加入两个元素后,frontrear的值分别为(  )。

A.51

B.42

C.24

D.15

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

8

单选题 | 1 )

在具有n个单元的顺序存储的循环队列中,假定frontrear分别为队头指针和队尾指针,则判断队满的条件为________

A.rearn= = front

B.front+l)%n= = rear

C.rearn -1= = front

D.(rear+l)n= = front

正确答案: D

 

你的答案: C

查看知识点 | 查看解析

9

单选题 | 1 )

在具有n个单元的顺序存储的循环队列中,假定frontrear分别为队头指针和队尾指针,则判断队空的条件为________

A.rearn= = front

B.front+l= rear

C.rear= = front

D.(rear+l)n= front

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

10

单选题 | 1 )

在一个链队列中,假定frontrear分别为队首和队尾指针,则删除一个结点的操作为________

A.front=front->next    

B.rear=rear->next

C.rear=front->next      

D.front=rear->next

正确答案: A

 

你的答案: D

查看知识点 | 查看解析

 

 

树1

1

单选题 | 1 )

根据二叉树的定义,具有3个结点的二叉树有(  )种树型。

A.3

B.4

C.5

D.6

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

2

单选题 | 1 )

具有64个结点的完全二叉树的深度为(  

A.5

B.6

C.7

D.8

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

具有nn>1)个结点的完全二叉树中,结点i2i>n)的左孩子结点是(    )。

A.2i

B.2i+1

C.2i-1

D.不存在(若2i<=n,则答案为A

正确答案: D

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号为49的结点的右孩子编号为(  )。

A.98

B.99

C.50

D.100

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

二叉树的叶结点个数比度为2的结点的个数(  )。

A.无关

B.相等

C.多一个

D.少一个

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

6

单选题 | 1 )

在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为(  )个。

A.4

B.5

C.6

D.7

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

7

单选题 | 1 )

假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为(  )个。

A.15

B.16

C.17

D.47

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

假定一棵三叉树的结点数为50,则它的最小高度为(  )。

A.3

B.4

C.5

D.6

正确答案: C

 

你的答案: D

查看知识点 | 查看解析

9

单选题 | 1 )

已知一棵完全二叉树的结点总数为9个,则最后一层的结点数为(  )。

A.1

B.2

C.3

D.4

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

 

 

树3 哈夫曼树

1

单选题 | 1 )

根据二叉树的定义,具有3个结点的二叉树有(  )种树型。

A.3

B.4

C.5

D.6

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

2

单选题 | 1 )

具有64个结点的完全二叉树的深度为(  

A.5

B.6

C.7

D.8

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

具有nn>1)个结点的完全二叉树中,结点i2i>n)的左孩子结点是(    )。

A.2i

B.2i+1

C.2i-1

D.不存在(若2i<=n,则答案为A

正确答案: D

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号为49的结点的右孩子编号为(  )。

A.98

B.99

C.50

D.100

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

二叉树的叶结点个数比度为2的结点的个数(  )。

A.无关

B.相等

C.多一个

D.少一个

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

6

单选题 | 1 )

在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为(  )个。

A.4

B.5

C.6

D.7

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

7

单选题 | 1 )

假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为(  )个。

A.15

B.16

C.17

D.47

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

假定一棵三叉树的结点数为50,则它的最小高度为(  )。

A.3

B.4

C.5

D.6

正确答案: C

 

你的答案: D

查看知识点 | 查看解析

9

单选题 | 1 )

已知一棵完全二叉树的结点总数为9个,则最后一层的结点数为(  )。

A.1

B.2

C.3

D.4

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

 

 

树0基本概念

1

单选题 | 1 )

树结构中每个结点最多只有一个直接前驱。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

树最适合用来表示(  )。

A.有序数据元素

B.无序数据元素

C.元素之间无联系的数据

D.元素之间有分支的层次关系

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

3

单选题 | 1 )

根据二叉树的定义,具有3个结点的二叉树有(  )种树型。

A.3

B.4

C.5

D.6

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

在一棵具有五层的满二叉树中,结点的总数为(  

A.16

B.31

C.32

D.33

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

5

单选题 | 1 )

在树结构中,若结点B4个兄弟,AB的父亲结点,则A的度为为(  )。

A.3

B.4

C.5

D.6

正确答案: C

 

你的答案: A

查看知识点 | 查看解析

 

树4、二叉树遍历

1

单选题 | 1 )

一棵二叉树中序遍历序列的最后一个结点,必定是该二叉树前序遍历的最后一个结点。

A.正确

B.错误

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

二叉树的前序遍历中,任意一个结点均处于其子女结点的前面。

A.正确

B.错误

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

3

单选题 | 1 )

由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

4

单选题 | 1 )

前序为ABC的二叉树共有(  )种。

A.2

B.3

C.4

D.5

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

5

单选题 | 1 )

任何一棵二叉树的叶结点在前序、中序、后序遍历序列中的相对次序(  )。

A.不发生改变

B.发生改变

C.不能确定

D.以上都不对

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

6

单选题 | 1 )

AB为一棵二叉树上的两个结点,在中序遍历时,AB前的条件是(  )。

A.AB右方

B.AB祖先

C.AB左方

D.AB子孙

正确答案: C

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

某二叉树的后序遍历序列为:DABEC,中序遍历序列为: DEBAC,则前序遍历序列为(  )。

A.ACBED

B.DECAB

C.DEABC

D.CEDBA

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

8

单选题 | 1 )

二叉树按某种顺序线索化后,任一结点均有指向其前驱和后继的线索,这种说法(  )。

A.正确

B.错误

C.不确定

D.都有可能

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

9

单选题 | 1 )

n , m 为一棵二叉树上的两个结点,在中序遍历序列中nm前的条件是( )。

A.nm右方

B.nm 左方

C.nm的祖先

D.nm的子孙

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

10

单选题 | 1 )

如果F是由有序树T转换而来的二叉树,那么T中结点的前序就是F中结点的(  )。

A.中序

B.前序

C.后序

D.层次序

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

11

单选题 | 1 )

任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序(  )。

A.不发生改变

B.发生改变

C.不能确定

D.以上都不对

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

图的基本感念

1

单选题 | 1 )

图可以没有边,但不能没有顶点。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

在一个图中,所有顶点的度数之和等于图的边数的(  )倍。

A.43102

B.1

C.2

D.4

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的(  )倍。

A.43102

B.1

C.2

D.4

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

对于一个具有n个顶点的有向图的边数最多有(  )。

A.n

B.n(n-1)

C.n(n-1)/2

D.2n

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

5

单选题 | 1 )

在一个具有n个顶点的无向图中,要连通全部顶点至少需要(  )条边。

A.n

B.n+1

C.n-1

D.n/2

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

6

单选题 | 1 )

8个结点的有向完全图有(  )条边。

A.14

B.28

C.56

D.112

正确答案: C

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

无向图顶点v的度是关联于该顶点(  )的数目。

A.顶点

B.

C.序号

D.下标

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

在一个具有n个顶点e条边的图中,所有顶点的度数之和等于(  )。

A.n

B.e

C.2n

D.2e

正确答案: C

 

你的答案: D

查看知识点 | 查看解析

9

单选题 | 1 )

在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的入度数之和为(    )

A.s

B.s-1

C.s+1

D.n

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

10

单选题 | 1 )

在一个具有n个顶点的无向图中,若具有e条边,则所有顶点的度数之和为(   )

A.n

B.e

C.n+e

D.2e

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

11

单选题 | 1 )

在一个具有n个顶点的无向完全图中,所含的边数为( )

A.n

B.n(n-1)

C.n(n-1)/2

D.n(n+1)/2

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

12

单选题 | 1 )

对于一个无向图,下面(  )种说法是正确的。

A.每个顶点的入度等于出度

B.每个顶点的度等于其入度与出度之和

C.每个顶点的入度为0

D.每个顶点的出度为0

正确答案: A

 

你的答案: B

 

 

    图的存储

1

单选题 | 1 )

邻接表只能用于有向图的存储。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

用邻接矩阵法存储一个图时,所占用的存储空间大小与图中顶点个数无关,而只与图的边数有关。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

用邻接表法存储图时,占用的存储空间大小只与图中的边数有关,而与结点的个数无关。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

一个图的邻接矩阵表示是唯一的。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

5

单选题 | 1 )

存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的上三角(或下三角)部分就可以了。

A.正确

B.错误

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

n个顶点的无向图的邻接矩阵是用(  )数组存储。

A.一维

B.nn

C.任意行n

D.n行任意列

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

7

单选题 | 1 )

对于一个具有n个顶点和e条边的无向图,采用邻接表表示,则表头向量大小为(  )。

A.n-1

B.n+1

C.n

D.n+e

正确答案: C

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

在图的表示法中,表示形式唯一的是(  )。

A.邻接矩阵表示法

B.邻接表表示法

C.逆邻接表表示法

D.邻接表和逆邻接表表示法

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

9

单选题 | 1 )

下面关于图的存储结构的叙述中正确的是(  )。

A.用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关

B.用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关

C.用邻接表存储图,占用空间大小只与图中顶点数有关,而与边数无关

D.用邻接表存储图,占用空间大小只与图中边数有关,而与顶点数无关

正确答案: A

 

你的答案: D

查看知识点 | 查看解析

10

单选题 | 1 )

在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为(    )

A.n

B.n´e

C.e

D.2´e

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

11

单选题 | 1 )

在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素个数为(     )

A.n

B.n´e

C.e

D.2´e

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

12

单选题 | 1 )

在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为(  )

A.n

B.n´e

C.e

D.2´e

正确答案: D

 

你的答案: B

查看知识点 | 查看解析

13

单选题 | 1 )

在一个具有n个顶点和e条边的有向图的邻接表中,保存顶点单链表的表头指针向量的大小至少为(  )

A.n

B.2n

C.e

D.2e

正确答案: A

 

你的答案: D

查看知识点 | 查看解析

14

单选题 | 1 )

在一个无权图的邻接表表示中,每个边结点至少包含(  )域。

A.1

B.2

C.3

D.4

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

15

单选题 | 1 )

对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为(   )

A.k1

B.k2

C.k1-k2

D.k1+k2

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

16

单选题 | 1 )

在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的(   )

A.出边数

B.入边数

C.度数

D.度数减1

正确答案: A

 

你的答案: A

 

        图的遍历

                                                                            

1

单选题 | 1 )

有向图不能进行广度优先遍历。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

若一个无向图的以顶点V1为起点进行深度优先遍历,所得的遍历序列唯一,则可以唯一确定该图。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

若一个无向图中任一顶点出发,进行一次深度优先遍历,就可以访问图中所有的顶点,则该图一定是连通的。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

4

单选题 | 1 )

深度优先遍历类似于二叉树的(  )。

A.先序遍历

B.中序遍历

C.后序遍历

D.层次遍历

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

5

单选题 | 1 )

广度优先遍历类似于二叉树的(  )。

A.先序遍历

B.中序遍历

C.后序遍历

D.层次遍历

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

6

单选题 | 1 )

若一个图中包含有k个连通分量,若要按照深度优先搜索的方法访问所有顶点,则必须调用(    )次深度优先搜索遍历的算法。

A.k

B.1

C.k-1

D.k+1

正确答案: A

 

你的答案: A

 

 

    最小生成树

 

1

单选题 | 1 )

任何一个无向连通图的最小生成树(  )。

A.只有一棵

B.一棵或多棵

C.一定有多棵

D.可能不存在

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

最小生成树的构造可使用(  )算法。

A.prim算法

B.卡尔算法

C.哈夫曼算法

D.迪杰斯特拉算法

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

由一个具有n个顶点的连通图生成的最小生成树中,具有(   )条边。

A.n

B.n-1

C.n+1

D.2´n

正确答案: B

 

你的答案: B

 

冒泡排序

1

单选题 | 1 )

冒泡排序是不稳定的排序。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

冒泡排序的时间复杂度是On^2

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

冒泡排序的方法对n个数据进行排序,第一趟排序共需要比较(  )次。

A.1

B.2

C.n-1

D.n

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

对n个不同的排序码进行冒泡(递增)排序,在下列(    )情况比较的次数最多。

A.从小到大排列好的

B.从大到小排列好的

C.元素无序

D.元素基本有序

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

在对n个元素进行冒泡排序的过程中,第一趟排序至多需要进行(  )对相邻元素之间的交换。

A.n

B.n-1

C.n+1

D.n/2

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

在对n个元素进行冒泡排序的过程中,最好情况下的时间复杂度为(  )。

A.O(1)

B.O(log2n)

C.O(n2)

D.O(n)

正确答案: D

 

你的答案: C

查看知识点 | 查看解析

7

单选题 | 1 )

在对n个元素进行冒泡排序的过程中,至少需要(  )趟完成。

A.1

B.n

C.n-1

D.n/2

正确答案: A

 

你的答案: C

 

 

选择排序

1

单选题 | 1 )

在对n个元素进行简单选择排序的过程中,需要进行(   )趟选择和交换。

A.n

B.n+1

C.n-1

D.n/2

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

2

单选题 | 1 )

排序方法中,从无序序列中选择关键字最小的记录,将其与无序区(初始为空)的第一个记录交换的排序方法,称为 (    )

A.希尔排序

B.归并排序

C.插入排序

D.选择排序

正确答案: D

 

你的答案: B

 

 

插入排序

1

单选题 | 1 )

直接插入排序的方法是(  )的排序方法。

A.不稳定

B.稳定

C.外部

D.选择

正确答案: B

 

你的答案: D

查看知识点 | 查看解析

2

单选题 | 1 )

直接插入排序的方法要求被排序的数据(  )存储。

A.必须链表

B.必须顺序

C.顺序或链表

D.可以任意

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

直接插入排序的方法是从第(  )个元素开始,插入到前边适当位置的排序方法。

A.1

B.2

C.3

D.n

正确答案: B

 

你的答案: D

查看知识点 | 查看解析

4

单选题 | 1 )

用直接插入排序法对下面的四个序列进行由小到大的排序,元素比较次数最少的是(  )。

A.9432409080462169

B.2132464080699094

C.3240214669949080

D.9069804621329440

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

若对n个元素进行直接插入排序,在进行第i趟排序时,假定元素r[i+1]的插入位置为r[j],则需要移动元素的次数为(   )。

A.j-i

B.i-j-1

C.i-j

D.i-j+1

正确答案: D

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

若对n个元素进行直接插入排序,则进行任一趟排序的过程中,为寻找插入位置而需要的时间复杂度为( )。

A.O(1)

B.O(n)

C.O(n2)

D.O(log2n)

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

7

单选题 | 1 )

在对n个元素进行直接插入排序的过程中,共需要进行( )趟。

A.n

B.n+1

C.n-1

D.2n

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

8

单选题 | 1 )

n个元素进行直接插入排序时间复杂度为(  )。

A.O(1)

B.O(n)

C.O(n2)

D.O(log2n)

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

9

单选题 | 1 )

在对n个元素进行直接插入排序的过程中,算法的空间复杂度为(  )。

A.O(1)

B.O(log2n)

C.O(n2)

D.O(nlog2n)

正确答案: A

 

你的答案: B

 

 

快速排序

1

单选题 | 1 )

快速排序在任何情况下都比其它排序方法速度快。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

n个记录的进行快速排序,所需要的平均时间是O(nlog2n)

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

对快速排序来说,初始序列为正序或反序都是最坏情况。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

4

单选题 | 1 )

快速排序算法在每一趟排序中都能找到一个元素放在其最终位置上。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

5

单选题 | 1 )

快速排序在(  )情况下最易发挥其长处。

A.待排序的数据中含有多个相同的关键字

B.待排序的数据已基本有序

C.待排序的数据完全无序

D.待排序的数据中最大值与最小值相差悬殊

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

快速排序的方法是(  )的排序方法。

A.不稳定

B.稳定

C.外部

D.选择

正确答案: A

 

你的答案: C

查看知识点 | 查看解析

7

单选题 | 1 )

对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是(  )。

A.O(n)

B.O(n2)

C.O(nlog2n)

D.O(n3)

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

8

单选题 | 1 )

一个数据序列的关键字为:(467956384084),采用快速排序,并以第一个数为基准得到第一次划分的结果为:(      

A.384046567984

B.403846795684

C.403846567984

D.403846795684

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

9

单选题 | 1 )

在对n个元素进行快速排序的过程中,若每次划分得到的左、右两个子区间中元素的个数相等或只差一个,则整个排序过程得到的含两个或两个元素的区间个数大致为(    )。

A.n

B.n/2

C.log2n

D.2n

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

10

单选题 | 1 )

在对n个元素进行快速排序的过程中,第一次划分最多需要移动(  )次元素,包括开始把支点元素移动到临时变量的一次在内。

A.n/2

B.n-1

C.n

D.n+1

正确答案: D

 

你的答案: A

查看知识点 | 查看解析

11

单选题 | 1 )

在对n个元素进行快速排序的过程中,最好情况下需要进行(  )躺。

A.n

B.n/2

C.log2n

D.2n

正确答案: C

 

你的答案: B

查看知识点 | 查看解析

12

单选题 | 1 )

在对n个元素进行快速排序的过程中,最坏情况下需要进行( )躺。

A.n

B.n-1

C.n/2

D.log2n

正确答案: B

 

你的答案: D

查看知识点 | 查看解析

13

单选题 | 1 )

在对n个元素进行快速排序的过程中,平均情况下的时间复杂度为(  )。

A.O(1)

B.O(log2n)

C.O(n2)

D.O(nlog2n)

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

14

单选题 | 1 )

对下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该次划分过程中需要移动元素次数最多的序列为( )。

A.1, 3, 5, 7, 9

B.9, 7, 5, 3, 1

C.5, 3, 1, 7, 9

D.5, 7, 9, 1, 3

正确答案: D

 

你的答案: B

查看知识点 | 查看解析

15

单选题 | 1 )

假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为( )。

A.2

B.3

C.4

D.5

正确答案: B

 

你的答案: B

 

希尔排序

1

单选题 | 1 )

希尔排序是不稳定的排序。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

采用希尔方法排序时,若关键字的排列杂乱无序,则效率最高。

A.正确

B.错误

正确答案: A

 

你的答案: A

 

堆排序

1

单选题 | 1 )

堆排序所需的时间与待排序的记录个数无关。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

堆的形状是一棵(  )。

A.二叉排序树

B.满二叉树

C.完全二叉树

D.平衡二叉树

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

在对n个元素进行堆排序的过程中,时间复杂度为(   )。

A.O(1)

B.O(log2n)

C.O(n2)

D.O(nlog2n)

正确答案: D

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

在对n个元素进行堆排序的过程中,空间复杂度为()。

A.O(1)

B.O(log2n)

C.O(n2)

D.O(nlog2n)

正确答案: A

 

你的答案: C

查看知识点 | 查看解析

5

单选题 | 1 )

假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为( )。

A.1, 3, 5, 7, 9, 12

B.1, 3, 5, 9, 7, 12

C.1, 5, 3, 7, 9, 12

D.1, 5, 3, 9, 12, 7

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

6

单选题 | 1 )

假定一个初始堆为(1, 5, 3, 9, 12, 7, 15, 10),则进行第一趟堆排序后得到的结果为( )。

A.3, 5, 7, 9, 12, 10, 15, 1

B.3, 5, 9, 7, 12, 10, 15, 1

C.3, 7, 5, 9, 12, 10, 15, 1

D.3, 5, 7, 12, 9, 10, 15, 1

正确答案: A

 

你的答案: A

 

 

归并排序

1

单选题 | 1 )

采用归并排序可以实现外排序。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

一组记录的排序码为(2548163579822340),其中含有4个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为:(    )。

A.16 25 35 48 23 40 79 82 36 72

B.16 25 35 48 79 82 23 36 40 72

C.16 25 48 35 79 82 23 36 40 72

D.16 25 35 48 79 23 36 40 72 82

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

3

单选题 | 1 )

若对n个元素进行归并排序,则进行归并的趟数为( )。

A.n

B.n-1

C.n/2

D.nlog2n

正确答案: D

 

你的答案: B

 

 

排序综合

1

单选题 | 1 )

如果某种排序算法不稳定,则该排序方法就没有实用价值。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

评价排序算法好坏的标准主要是(  )。

A.执行时间

B.辅助空间

C.算法本身的复杂度

D.执行时间和所需的辅助空间

正确答案: D

 

你的答案: C

查看知识点 | 查看解析

3

单选题 | 1 )

排序方法中,从无序序列中选择关键字最小的记录,将其与无序区(初始为空)的第一个记录交换的排序方法,称为 (    )

A.希尔排序

B.归并排序

C.插入排序

D.选择排序

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

4

单选题 | 1 )

每次把待排序方的区间划分为左、右两个区间,其中左区间中元素的值不大于基准元素的值,右区间中元素的值不小于基准元素的值,此种排序方法叫做(  )。

A.冒泡排序

B.堆排序

C.快速排序

D.归并排序

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

5

单选题 | 1 )

下述几种排序方法中,要求内存量最大的是:(  )。

A.插入排序

B.选择排序

C.快速排序

D.归并排序

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

6

单选题 | 1 )

内排序是指在排序的整个过程中,全部数据都在计算机的(  )中完成的排序。

A.内存

B.外存

C.内存和外存

D.寄存器

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

下列排序方法中,关键字比较次数与记录的初始排列次序无关的是(  )。

A.选择排序

B.希尔排序

C.插入排序

D.冒泡排序

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

8

单选题 | 1 )

下述几种排序方法中,平均时间复杂度最小的是(  )。

A.希尔排序

B.插入排序

C.冒泡排序

D.选择排序

正确答案: A

 

你的答案: D

查看知识点 | 查看解析

9

单选题 | 1 )

若一个元素序列基本有序,则选用(   )方法较快。

A.直接插入排序

B.简单选择排序

C.堆排序

D.快速排序

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

10

单选题 | 1 )

若要从1000个元素中得到10个最小值元素,最好采用(  )方法。

A.直接插入排序

B.简单选择排序

C.堆排序

D.快速排序

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

11

单选题 | 1 )

若要对1000个元素排序,要求既快又稳定,则最好采用( )方法。

A.直接插入排序

B.归并排序

C.堆排序

D.快速排序

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

12

单选题 | 1 )

若要对1000个元素排序,要求既快又节省存储空间,则最好采用(   )方法。

A.直接插入排序

B.归并排序

C.堆排序

D.快速排序

正确答案: C

 

你的答案: D

查看知识点 | 查看解析

13

单选题 | 1 )

在平均情况下速度最快的排序方法为(  )。

A.简单选择排序

B.归并排序

C.堆排序

D.快速排序

正确答案: D

 

你的答案: D

 

 

顺序查找

1

单选题 | 1 )

对有序表而言采用二分查找总比采用顺序查找法速度快。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

在有序的顺序表和有序的链表上,均可以采用二分查找来提高查找速度。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

顺序查找法适合于存储结构为(  )的线性表。

A.散列存储

B.顺序存储或链接存储

C.压缩存储

D.索引存储

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

采用分块查找时,若线性表共有625个元素,查找每个元素的概率相等,假设采用顺序查找来确定结点所在的块时,每块分(  )个结点最佳。

A.6

B.10

C.25

D.625

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

5

单选题 | 1 )

若查找每个元素的概率相等,则在长度为n的顺序表上查找任一元素的平均查找长度为( )

A.n

B.n+1

C.(n-1)/2

D.(n+1)/2

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

6

单选题 | 1 )

对于长度为9的顺序存储的有序表,若采用折半查找,在等概率情况下的平均查找长度为(  )9分之一。

A.20

B.18

C.25

D.22

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

7

单选题 | 1 )

对于长度为18的顺序存储的有序表,若采用折半查找,则查找第15个元素的比较次数为(  )

A.3

B.4

C.5

D.6

正确答案: B

 

你的答案: B

 

 

折半查找

1

单选题 | 1 )

对于长度为9的顺序存储的有序表,若采用折半查找,在等概率情况下的平均查找长度为(  )9分之一。

A.20

B.18

C.25

D.22

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

对于长度为18的顺序存储的有序表,若采用折半查找,则查找第15个元素的比较次数为(  )

A.3

B.4

C.5

D.6

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

3

单选题 | 1 )

对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用折半查找,则查找元素26的比较次数为(   )

A.2

B.3

C.4

D.5

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

对具有n个元素的有序表采用折半查找,则算法的时间复杂度为( )

A.O(n)

B.O(n2)

C.O(1)

D.O(log2n)

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

5

单选题 | 1 )

对有序表而言采用二分查找总比采用顺序查找法速度快。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

6

单选题 | 1 )

在有序的顺序表和有序的链表上,均可以采用二分查找来提高查找速度。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

7

单选题 | 1 )

二分查找法要求待查表的关键字值必须有序。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

对线性表进行二分查找时,要求线性表必须  )。

A.以顺序方式存储

B.以链接方式存储,且结点按关键字有序排序

C.以链接方式存储

D.以顺序方式存储,且结点按关键字有序排序

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

9

单选题 | 1 )

一个有序表为{139123241456275778295100},当二分查找值为82的结点时,(  )次比较后查找成功。

A.2

B.3

C.4

D.5

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

10

单选题 | 1 )

二分查找有序表{4610122030507088100},若查找表中元素58,则它将依次与表中(  )比较大小,查找结果是失败。

A.30887050

B.20703050

C.2050

D.308850

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

11

单选题 | 1 )

对有14个元素的有序表A[1..14]作二分查找,查找元素A[4]时的被比较元素依次为(  )。

A.A[1]A[2]A[3]A[4]

B.A[1]A[14]A[7]A[4]

C.A[7]A[3]A[5]A[4]

D.A[7]A[5]A[3]A[4]

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

12

单选题 | 1 )

有一个长度为12的有序表,按二分查找法对其进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为(  )。

A.35/12

B.37/12

C.29/12

D.26/12

正确答案: B

 

你的答案: B

 

 

二叉树查找

1

单选题 | 1 )

在二叉排序树中,根结点的值都小于孩子结点的值。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

在二叉排序树上删除一个结点时,不必移动其它结点,只要将该结点的父结点的相应的指针域置空即可。

A.正确

B.错误

正确答案: B

 

你的答案: A

查看知识点 | 查看解析

3

单选题 | 1 )

已知8个元素为{3476451826549265},按照依次插入结点的方法生成一棵二叉树,最后两层上结点的总数为(  )。

A.1

B.2

C.3

D.4

正确答案: B

 

你的答案: D

查看知识点 | 查看解析

4

单选题 | 1 )

从具有n个结点的二叉排序树中查找一个元素时,在平均情况下的时间复杂度大致为( )

A.O(n)

B.O(1)

C.O(log2n)

D.O(n2)

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

5

单选题 | 1 )

从具有n个结点的二叉排序树中查找一个元素时,在最坏情况下的时间复杂度为(   )

A.O(n)

B.O(1)

C.O(log2n)

D.O(n2)

正确答案: A

 

你的答案: C

查看知识点 | 查看解析

6

单选题 | 1 )

在一棵平衡二叉排序树中,每个结点的平衡因子的取值范围是(   )

A.-1~1

B.-2~2

C.1~2

D.0~1

正确答案: A

 

你的答案: C

 

 

哈希查找

1

单选题 | 1 )

选择好的哈希函数就可以避免冲突的发生。

A.正确

B.错误

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

哈希表是一种将关键字转换为存储地址的存储方法。

A.正确

B.错误

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

3

单选题 | 1 )

哈希法的查找效率主要取决于哈希表构造时选取的哈希函数和处理冲突的方法。

A.正确

B.错误

正确答案: A

 

你的答案: B

查看知识点 | 查看解析

4

单选题 | 1 )

设哈希表长m=14,哈希函数Hkey=key11。表中已有4个结点:         addr(15)=4         addr(38)=5         addr(61)=6         addr(84)=7   其余地址为空。如用二次探测再散列处理冲突,关键字为49的结点的地址是(    )。

A.8

B.3

C.5

D.9

正确答案: D

 

你的答案: B

查看知识点 | 查看解析

5

单选题 | 1 )

若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(K)=K%13计算哈希地址,则元素64的哈希地址为(  )

A.4

B.8

C.12

D.13

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

6

单选题 | 1 )

若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(K)=K%7计算哈希地址,则哈希地址等于3的元素个数(     )

A.1

B.2

C.3

D.4

正确答案: B

 

你的答案: C

查看知识点 | 查看解析

7

单选题 | 1 )

若根据查找表建立长度为m的哈希表,采用线性探测法处理冲突,假定对一个元素第一次计算的哈希地址为d,则下一次的哈希地址为( )

A.d

B.d+1

C.(d+1)/m

D.(d+1)%m

正确答案: D

 

你的答案: D

查看知识点 | 查看解析

8

单选题 | 1 )

散列存储法的基本思想是由关键字的值决定数据的存储地址。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

9

单选题 | 1 )

对包含n个元素的散列表进行查找,平均查找长度为(  )。

A.O(n2)

B.O(log2n)

C.O(n)

D.不直接依赖于n

正确答案: D

 

你的答案: B

 

 

分块查找

1

单选题 | 1 )

采用分块查找,既能实现线性表所希望的查找速度,又能适应动态变化的需要。

A.正确

B.错误

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

2

单选题 | 1 )

采用分块查找时,若线性表共有625个元素,查找每个元素的概率相等,假设采用顺序查找来确定结点所在的块时,每块分(  )个结点最佳。

A.6

B.10

C.25

D.625

正确答案: C

 

你的答案: C

 

 

查找综合

1

单选题 | 1 )

在表长为n的链表中进行线性查找,它的平均查找长度为(  )。

A.ASL=n;

B.ASL(n+1)/;

C.ASL sqrt(n)+1

D.ASL≈log2

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

2

单选题 | 1 )

衡量查找算法效率的主要标准是(  )。

A.元素个数

B.平均查找长度

C.所需的存储量

D.算法难易程度

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

3

单选题 | 1 )

如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用(  )查找方法。

A.分块

B.顺序

C.二分

D.散列

正确答案: A

 

你的答案: C

查看知识点 | 查看解析

4

单选题 | 1 )

链表适用于(  )查找。

A.顺序

B.二分

C.随机

D.顺序或二分

正确答案: A

 

你的答案: D

查看知识点 | 查看解析

5

单选题 | 1 )

下列(  )不是利用查找表中数据元素的关系进行查找的方法。

A.平衡二叉树

B.有序表的查找

C.散列查找

D.二叉排序树的查找

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

6

单选题 | 1 )

冲突指的是(  )。

A.两个元素具有相同序号

B.两个元素的键值不同

C.不同键值对应相同的存储地址

D.两个元素的键值相同

正确答案: C

 

你的答案: C

查看知识点 | 查看解析

7

单选题 | 1 )

在查找过程中,不做增加、删除或修改的查找称为(  )。

A.静态查找

B.内创造

C.动态查找

D.外查找

正确答案: A

 

你的答案: A

查看知识点 | 查看解析

8

单选题 | 1 )

动态查找包括(  )查找。

A.顺序表

B.二叉排序树

C.有序表

D.索引顺序表

正确答案: B

 

你的答案: B

查看知识点 | 查看解析

9

单选题 | 1 )

在索引查找中,若用于保存数据元素的主表的长度为144,它被均分为12子表,每个子表的长度均为12,则索引查找的平均查找长度为( )

A.13

B.24

C.12

D.79

正确答案: A

 

你的答案: A

 

  • 32
    点赞
  • 254
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值