数据结构复习题可编辑范本.docx

上传人:b****2 文档编号:1864508 上传时间:2022-10-24 格式:DOCX 页数:18 大小:123.57KB
下载 相关 举报
数据结构复习题可编辑范本.docx_第1页
第1页 / 共18页
数据结构复习题可编辑范本.docx_第2页
第2页 / 共18页
数据结构复习题可编辑范本.docx_第3页
第3页 / 共18页
数据结构复习题可编辑范本.docx_第4页
第4页 / 共18页
数据结构复习题可编辑范本.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据结构复习题可编辑范本.docx

《数据结构复习题可编辑范本.docx》由会员分享,可在线阅读,更多相关《数据结构复习题可编辑范本.docx(18页珍藏版)》请在冰豆网上搜索。

数据结构复习题可编辑范本.docx

数据结构复习题可编辑范本

2017 ~2018学年度第2学期

《数据结构》复习提纲

一、单项选择题

题号

1

2

3

4

5

6

7

10

答案

C

A

D

B

C

D

题号

11

12

13

14

15

16

17

18

19

20

答案

A

A

D

A

A

D

C

B

1.在数据结构中,从逻辑上可以把数据结构分为_________两类。

A.动态结构和静态结构B.紧凑结构和非紧凑结构

C.线性结构和非线性结构D.内部结构和外部结构

2.链表不具有的特点是_________。

A.可随机访问任一元素B.插入、删除不需要移动的元素

C.不必事先估计存储空间D.所需空间与线性表长度成正比

3.若线性表最常用的运算是存取第i个元素及其前驱元素,则采用_________存储方式节省时间。

A.单链表B.双链表C.循环单链表D.顺序表

4.算法分析的目的是_________。

A.找出数据结构的合理性B.研究算法中的输入和输出关系

C.分析算法的效率以求改进D.分析算法的易读性和文档性

5.若一个栈用数组data[1。

.n]存储,初始栈顶指针top为0,则以下元素x进栈的操作正确的是_________。

A.top++; data[top]=x;B.data[top]=x; top++;

C.top——; data[top]=x;D.data[top]=x;top——;

6.表达式a*(b+c)-d的后缀表达式是_________.

A.abcd*+-B.abc+*d—C.abc*+d-D.—+*abcd

7.递归函数f

(1)=1,f(n)=f(n-1)+n(n>1)的递归出口是_________。

A.f

(1)=1B.f

(1)=0C.f(0)=0D.f(n)=n

8.将递归算法转换成对应的非递归算法时,通常需要使用_________保存中间结果。

A.队列B.栈C.链表D.树

9.对稀疏矩阵采用压缩存储,其缺点之一是_________。

A.无法判断矩阵有多少行、多少列

B.无法根据行、列号查找某个矩阵元素

C.无法根据行、列号直接计算矩阵元素的存储地址

D.使矩阵元素之间的逻辑关系更加复杂

10.一个n阶上三角矩阵a按行优先顺序压缩存放在一维数组b中,则b中的元素个数是_________。

A.nB.n2C.n(n+1)/2D.n(n+1)/2+1

11.度为4,高度为h的树_________。

A.至少有h+3个结点B.最多有4h-1个结点

C.最多有4h个结点D.至少有h+4个结点

12.用双亲存储结构表示树,其优点之一是比较方便_________。

A.找指定结点的双亲结点B.找指定结点的孩子结点

C.找指定结点的兄弟结点D.判断某结点是不是叶子结点

13.设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有_________个结点。

A.13B.12ﻩC.26D.25

14.无向图的邻接矩阵是一个_________。

A.对称矩阵ﻩB.零矩阵ﻩC.上三角矩阵ﻩD.对角矩阵

15.在图的广度优先遍历算法中用到一个队列,每个顶点最多进队_________次。

A.1ﻩB.2C.3D.不确定

16.在用Prim和Kruskal算法构造最小生成树时,前者更适合于_________。

A.有向图B.无向图ﻩC.稀疏图D.稠密图

17.有一个有序表R[1。

.13]={1, 3,9,12,32, 41, 45,62,75,77,82,95, 100},当用二分查找法查找值为82的节点时,经过_________次比较后查找成功。

A.1B.2C.4ﻩD.8

18.在采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块,则每块分为_________个结点最佳。

A.9B.25C.6ﻩD.625

19.若R中有10000个元素,如果仅要求求出其中最大的10个元素,则采用_________方法最节省时间。

A.堆排序ﻩB.希尔排序ﻩC.快速排序D.基数排序

20.有一组序列(48,36,68,99,75,24,28,52)进行快速排序,要求结果从小到大排序,则进行一次划分之后的结果为_________。

A.[24 2836]48[52687599]ﻩB.[283624]48[75996852]

C.[366899] 48 [752428 52]D.[2836 24] 48[997568 52]

二、填空题

题号

答案

题号

答案

题号

答案

1

问题规模

O(n)

3

假溢出

285

5

4

6

2h—1

7

关键活动

8

无环图

9

RL

10

基数排序

1.在分析算法的时间复杂度时,通常认为算法的执行时间是_________的函数.

2.求一个双链表长度的算法的时间复杂度为_________.

3.在实现顺序队的时候,通常将数组看成是一个首尾相连的环,这样做的目的是为了避免产生_____现象。

4.有如下递归过程:

void reverse(intm)

{ printf(”%d",n%10);

if(n/10!

=0 )

  reverse(n/10);

}

调用语句reverse(582)的结果是_________。

5.广义表(((a,b,(),c),d),e,((f),g))的深度是_________。

6.在高度为h(h≥0)的二叉树中最多有_________个结点.

7.AOE网中从源点到汇点长度最长的路径称为关键路径,该路径上的活动称为_________。

8.可以进行拓扑排序的有向图一定是_________。

9.输入序列为(20,35, 30,……),构造一棵平衡二叉树,其中的第一次调整为_________型调整。

10.在排序过程中,任何情况下都不比较关键字大小的排序方法是_________.

三、判断题

题号

1

2

3

4

5

6

8

9

10

答案

T

F

F

F

T

F

T

F

F

1.如果数据元素值发生改变,则数据的逻辑结构也随之改变。

()

2.在循环单链表中没有为空的指针域.()

3.顺序栈中元素值的大小是有序的。

( )

4.任何递归算法都是尾递归.(  )

5.稀疏矩阵的特点是矩阵中元素较少.()

6.哈夫曼树中不存在度为1的结点。

( )

7.完全二叉树中的每个结点或者没有孩子或者有两个孩子。

(  )

8.强连通分量是有向图中的极大强连通子图。

( )

9.哈希冲突是指同一个关键字的记录对应多个不同的哈希地址。

( )

10.任何情况下折半插入排序都优于直接插入排序。

(   )

四、问答题

ﻩ1.设计一个算法,删除一个单链表L中元素值最大的结点(假设这样的结点唯一)。

voiddelmaxnode(LinkList*&L)

{ LinkList *p,*pre,*maxp,*maxpre; 

p=L->next;pre=L;

maxp=p;maxpre=pre;

while (p!

=NULL)

 {

if(maxp—〉datadata)

 {

maxp=p;

maxpre=pre;

  }

pre=p;

  p=p—>next;

  }

maxpre—〉next=maxp—〉next;

free(maxp);

}

2.已知一棵完全二叉树的第6层(设根为第1层)有8个叶子结点,则该完全二叉树的结点个数最多是多少.

完全二叉树的叶子结点只能在最下两层,对于本题,结点最多的情况是第6层为倒数第二层,即1~6层构成一个满二叉树,其结点总数为26—1=63.第6层有25=32个结点,其中含8个叶子结点,另外有32-8=24个非叶子结点,它们中的每个结点都有两个孩子结点(均为第7层的叶子结点),计48个叶子结点,这样最多的结点个数=63+48=111。

3.一个有向图G的邻接表存储如下图所示,要求:

(1)给出该图的邻接矩阵存储结构;

(2)给出该图的所有强连通分量。

4.什么是平衡二叉树?

输入关键字序列(16,3,7,11),给出构造一棵平衡二叉树的过程。

若一棵二叉排序树中每个结点的左右子树的高度最多相差1,则称此二叉树为平衡二叉树。

 

5.线性表有顺序表和链表两种存储方式,不同的排序方法适合不同的存储结构。

对于常见的内部排序方法,说明哪些更适合于顺序表,哪些更适合于链表?

哪些两者都适合?

更适合于顺序表的排序方法有希尔排序、折半插入排序、快速排序、堆排序和归并排序。

更适合于链表的排序方法是基数排序

两者都适合的排序方法有直接插入排序、冒泡排序和简单排序。

五、算法设计题

用Floyd算法计算图中任意两个顶点之间的最短路径。

void Floyd(MGraphg)

int A[MAXV][MAXV],path[MAXV][MAXV];

inti,j,k;

for(i=0;i

  for (j=0;j<g。

n; j++)

  {

       A[i][j]=g.edges[i][j];

path[i][j]=—1;

 }

 for(k=0; k〈g.n;k++)

     for(i=0;i

    for (j=0;j〈g。

n; j++)

if (A[i][j]>A[i][k]+A[k][j])

  {

     A[i][j]=A[i][k]+A[k][j];

     path[i][j]=k;ﻩ//修改最短路径

   }

 }

Dispath(A,path,g.n);//输出最短路径

}

一、选择题

1.研究数据结构就是研究( )。

A 数据的逻辑结构

B数据的存储结构

C数据的逻辑和存储结构

D 数据逻辑结构、存储结构及其数据在运算上的实现

2.链表不具有的特点是( )。

A 可随机访问任一元素

B插入删除不需要移动元素

C 不必事先估计存储空间

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

3.设一个栈的输入序列为1,2,3,4,则借助一个栈所得到的输出序列不可能是().

A1,2,3,4

B2,4,3,1

C 3,1,4,2

D 3,2,4,1

4.设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。

A线性表的顺序存储结构

B 栈

C线性表的链式存储结构

D 队列

5.表达式a*(b+c)—d的后缀表达式是( ).

Aabcd*+—

B abc+*d—

Cabc*+d-

D-+*abcd

6.队列的操作原则是(   )。

A先进先出

B只能进行插入

C 后进先出

D 只能进行删除

7.判断带头结点的单链表llist为空的条件是()。

A  llist-〉link==llist

B llist==NULL

Cllist—>link==NULL

D llist!

=NULL

8.一个具有20个结点的完全二叉树,其

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1