第一章 绪论

第1章单元测试题

1、单选题:
‌ 数据结构中,与所使用的计算机无关的是数据的        结构‍‌‍
选项:
A: 存储
B: 物理
C: 逻辑
D: 物理和存储
答案: 【 逻辑

2、单选题:
​ 算法分析的目的是:‏‏​‏
选项:
A: 找出数据结构的合理性
B: 研究算法中的输入和输出的关系
C: 分析算法的效率以求改进
D: 分析算法的易懂性和文档性
答案: 【 分析算法的效率以求改进

3、单选题:
‍算法分析的两个主要方面是:‎‎
选项:
A: 空间复杂性和时间复杂性
B: 正确性和简明性
C: 可读性和文档性
D: 数据复杂性和程序复杂性
答案: 【 空间复杂性和时间复杂性

4、单选题:
‌ 计算机算法指的是:‏‏‌‏
选项:
A: 计算方法
B: 排序方法
C: 解决问题的有限运算序列
D: 调度方法
答案: 【 解决问题的有限运算序列

5、单选题:
‌计算机算法必须具备输入、输出和       等5个特性。‏‏
选项:
A: 可行性、可移植性和可扩充性
B: 可行性、确定性和有穷性
C: 确定性、有穷性和稳定性
D: 易读性、稳定性和安全性
答案: 【 可行性、确定性和有穷性

6、单选题:
‌下面关于算法说法错误的是(    )【提高题】‌‌‌‌
选项:
A: 算法最终必须由计算机程序实现
B: 为解决某问题的算法同为该问题编写的程序含义是相同的
C: 算法的可行性是指指令不能有二义性
D: 其它几个都是错误的
答案: 【 其它几个都是错误的

7、单选题:
​在下面的程序段中,对x的赋值语句的频度为(    )[提高题]‌for( i=1;i< nispan>‌  for( j=1;j< njspan>‌      x:=x+1;‌‌​‌
选项:
A: O(2n)
B: O(n)
C: O(n2)
D: O(log2n)
答案: 【 O(n2)

8、单选题:
​程序段【提高题】‌​for(i=n-1;i>=1;i--)‌​for(j=1;j>=i;j--)‌   if( A[j]>A[j+1])‌           A[j]与A[j+1]对换;‌其中 n为正整数,则最后一行的语句频度在最坏情况下是(   )‌​‌
选项:
A: O(n)
B: O(nlogn)
C: O(n3)
D: O(n2)  
答案: 【  O(n2)  

9、单选题:
‍连续存储设计时,存储单元的地址(    )。【提高题】​​
选项:
A: 一定连续
B: 一定不连续
C: 不一定连续
D: 部分连续,部分不连续
答案: 【 一定连续

10、单选题:
‍计算机算法指的是(1)。【提高题】‎‎
选项:
A: 计算方法
B: 排序方法  
C: 解决问题的步骤序列
D: 调度方法
答案: 【 解决问题的步骤序列

11、判断题:
‎数据的逻辑结构是指数据的各数据项之间的逻辑关系;‌‎‌
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
‌算法的优劣与算法描述语言无关,但与所用计算机有关。(    )​‌​
选项:
A: 正确
B: 错误
答案: 【 错误

13、判断题:
‌健壮的算法不会因非法的输入数据而出现莫名其妙的状态。(    )‌‌‌
选项:
A: 正确
B: 错误
答案: 【 正确

14、判断题:
‌数据结构的抽象操作的定义与具体实现有关。(    )‍‌‍
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
‏数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. (    )‎
选项:
A: 正确
B: 错误
答案: 【 错误

16、填空题:
‌ 数据结构是一门研究非数值计算的程序设计问题中计算机的          以及它们之间的          和运算等的学科。‌‌‌
答案: 【 操作对象 关系

17、填空题:
​数据结构被形式地定义为(D, R),其中D是         的有限集合,R是D上的         有限集合。‌​‌
答案: 【 数据元素 关系

18、填空题:
‏数据结构包括数据的       、数据的       和数据的          这三个方面的内容。‍‏‍
答案: 【 逻辑结构 存储结构 运算

19、填空题:
​ 线性结构中元素之间存在     关系,树形结构中元素之间存在     关系,图形结构中元素之间存在      关系。​​​
答案: 【 一对一 一对多 多对多

20、填空题:
‎在线性结构中,第一个结点     前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点        后续结点,其余每个结点有且只有1个后续结点。‌‎‌
答案: 【 没有 没有

21、填空题:
‌一个数据结构在计算机中         称为存储结构‌‌‌
答案: 【 表示##%_YZPRLFH_%##映像

22、填空题:
‍在下面的程序段中,对x的赋值语句的频度为______.​‍   for(i=1;i< n)​‍     for(j=1;j< i)​‍      for(k=1;k< j)​‍        x=x+delta;​‍​
答案: 【 O(n3)

23、填空题:
‏对于给定的n个元素,可以构造出的逻辑结构有  (1)  ,  (2)  ,  (3)  ,__(4)_四种。‌‏‌
答案: 【 集合 线性结构 树 图

24、填空题:
​数据的逻辑结构是指         。​​​
答案: 【 数据元素之间的逻辑关系

25、填空题:
‎数据结构中评价算法的两个重要指标是          。‍‎‍
答案: 【 时间复杂度 空间复杂度

随堂测验题

1、单选题:
‏算法的时间复杂度取决于( )‎
选项:
A: 问题的规模
B: 待处理数据的初态
C: A和B
D: A或B
答案: 【 A和B

2、单选题:
‎一个算法应该是(     )。‍
选项:
A: 程序
B: 问题求解步骤的描述
C: 要满足五个基本特性
D: A和C
答案: 【 问题求解步骤的描述

3、单选题:
‍下面关于算法说法错误的是(    )​
选项:
A: 算法最终必须由计算机程序实现
B: 为解决某问题的算法同为该问题编写的程序含义是相同的
C: 算法的可行性是指指令不能有二义性
D: 以上几个都是错误的
答案: 【 以上几个都是错误的

4、单选题:
‏下面说法错误的是(    )​
选项:
A: 算法原地工作的含义是指不需要任何额外的辅助空间
B: 在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
C: 所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
D: 同一个算法,实现语言的级别越高,执行效率就越低
答案: 【 算法原地工作的含义是指不需要任何额外的辅助空间

第二章 线性结构

栈和队列单元测试

1、单选题:
‍为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中读取数据。该缓冲区的逻辑结构是( )。‍
选项:
A: 栈
B: 队列
C: 树
D: 图
答案: 【 队列

2、单选题:
‎若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x进栈的正确的操作是( )。‍
选项:
A: top=top+1;V[top]=x;
B: V[top]=x;top=top+1;
C: top=top-1;V[top]=x;
D: V[top]=x;top=top-1;
答案: 【 top=top-1;V[top]=x;

3、单选题:
‍设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。‍
选项:
A: 线性表的顺序存储结构
B: 队列
C: 线性表的链式存储结构
D: 栈
答案: 【 栈

4、单选题:
‍对于循环队列( )。‎
选项:
A: 无法判断队列是否为空
B: 无法判断队列是否为满
C: 队列不可能满
D: 以上说法都不是
答案: 【 以上说法都不是

5、单选题:
​循环队列A[0...m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。‏
选项:
A: (rear-front+m)%m
B: rear-front+1
C: rear-front-1
D: rear-front
答案: 【 (rear-front+m)%m

6、单选题:
‎设顺序队列的容量为MaxSize,其头指针为front,尾指针为rear,空队列的条件为( )。‏
选项:
A: front=rear
B: front=MaxSize
C: front+1=rear
D: rear=0
答案: 【 front=rear

7、单选题:
‍循环队列存储在数组A[0...m]中,则入队时的操作为( )。‌
选项:
A: rear=rear+1
B: rear=(rear+1)%(m-1)
C: rear=(rear+1)%m
D: rear=(rear+1)%(m+1)
答案: 【 rear=(rear+1)%(m+1)

8、单选题:
‏若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?(

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注