算法设计与分析选择题练习(有答案版)

第一章

1.(单选题)使用自然语言表述算法的缺点不包括(D)。

A.容易有歧义性

B.语句太长

C.有串行性很难清晰表示

D.便于翻译成计算机程序

2.(单选题)以下关于使用特定程序设计语言表述算法的论述中,不正确的(C)

A.用特定程序设计语言编写的算法限制了与其他算法设计人员的交流

B.需大量时间熟悉和掌握

C.不会干扰算法设计的思路

D.需考虑语法细节,忽视算法本质

3.(单选题)以下不属于算法的基本特征的是(C).

A.有穷性

B.确定性

C.可读性

D.算法有输入输出

4.(多选题)以下属于设计算法时需要考虑的质量指标是(ABC)

A.正确性

B.稳健性

C.可读性

D.编程环境

5.(多选题)以下关于结构化算法设计的说法正确的是(ABD)。

A.算法抽象是指算法的寻求(或开发)采用逐步求精、逐层分解的方法

B.模块划分基本要求是简单性、独立性和完整性

C.模块的规模应该足够大,以便使模块本身的调试易于进行。

D.分解好的模块不可能是完全独立的,它们之间会有信息传递

第二章

1.(单选题)以下关于算法时间复杂度分析的说法是错误的是(C )

A.交换i和的内容这一操作需要O(1)时间复杂度

B.算法时间复杂度由嵌套层数最多的循环语句中最内层语句的频度决定

C.大部分算法的时间复杂度不与输入实例的初始状态有关

D.时间复杂度的估算有最好情况、最坏情况、平均情况三种

2.(单选题)给定递归方程T(1)=0, T(2)=1, T(n)=2T(n/2)+2(当n>2时),其时间复杂度是(B).

A. O(1)          B. O(n)

c. O(nlog2(n))    D.O(n^2)

3.(单选题)给定代码,分析其时间复杂度(B)。

i=1

while(i<=n)

i=i*2;

A. O(n)            B. O(log2(n))

C. O(nlog2(n))      D.O(n^2)

4.(单选题)给定代码,分析其时间复杂度(D)

X=1

for(i=1; i<=n; i++)

for(j=1;j<=i; j++)

for(k=1; k< =j; k+ +)

X=X+1

A. O(log2(n))     B.O(nlog2(n))

C.O(n^2)        D.O(n^3)

5. (多选题)以下关于算法时间复杂度的说法正确的是( ABC)。

A. 算法执行时间与原操作执行次数之和成正比。

B. 原操作多数情况下是指最深层次循环体内的语句中的原操作。

C. 时间复杂度的估算有最好情况、最坏情况、平均情况三种。

D. 实践表明可操作性最好的最具实际价值的是平均情况下的时间复杂性。

第三章

1. (单选题)设有10箱产品,每箱1000件,正品每件100克,其中有几箱是次品,每件次品比正品轻10克,利用信息数字化方法,可实现一次称重就能找出哪几箱是次品,现从1,2,3...10号箱分别拿出产品件数为20,21,22,...,29件物品,发现当前称重比预期轻了60克,那么(D )号箱是次品箱。

A. 2          B. 3

C. 6号        D. 23

2. (单选题)求解汉诺塔问题时利用的算法是( A)。

A. 递归法          B. 蛮力法

C. 贪心法          D. 分支限界法

3. (单选题)求解整数分划问题时利用的算法是(C )。

A. 贪心法       B. 动态规划法

C. 递归法       D. 随机算法

4. (多选题)以下有关于递归和循环比较的相关说法中,正确的是(ABD )

A. 递归可使复杂问题处理起来简单明了,但往往比循环耗费更多时间和存储空间

B. 递归写的程序更简单,可读性好

C. 当问题需要“后进先出”的操作时,使用循环更有效

D. 递归的层次可以控制,循环嵌套的层次只能是固定的

5. (多选题)找出n个自然数中取r个数的组合,例如n=5,r=3有10种组合,以下关于该问题使用循环和递归实现的说法正确的是( ABC)。

A. r=3,循环算法设计中可以用三重循环模拟每个组合中3个数

B. r=3,循环算法的时间复杂度是O(n^3)

C. 递归算法实现的时间复杂度是O(n*r)

D. 递归实现的层次是不能控制的,而循环嵌套的层次只能是固定的

第四章

1. (单选题)求解最长公共子序列问题时,利用的算法是( B)。

A. 分支限界         B. 动态规划法

C. 贪心法           D. 递归法

2. (单选题)数塔问题的求解过程利用了(C )来实现。

A. 贪心法           B. 分治策略

C. 动态规划法       D. 回溯法

3. (单选题)求解数列极差问题利用的算法是( A)。

A. 贪心法           B. 动态规划法

C. 分治策略         D. 回溯法

4. (单选题)求解币数统计问题时,为统计所有职工的工资所需各种币值,利用的算法是( C)。

A. 递归法           B. 蛮力法

C. 贪心法           D. 分支限界法

5. (单选题)取数游戏。A和B轮流去取2n个数,规定只能在数组的头尾选取,所取数之和大者为胜。现给定数据16,27,7,12,9,2,11,6,两人采取贪心策略进行游戏,如果由A先开始取,那么最后的游戏结果是(D )。

A. A取数之和为43,A胜

B. A取数之和为47,A胜

C. B取数之和为43,B胜

D. B取数之和为47,B

第五六章

1. (单选题)以下有关于搜索算法的相关说法中,正确的是(B )

A. 图中的顶点、边及权重等结构信息都有给出的图称为隐式图

B. 回溯法在发现不满足求解条件时,就回溯返回,找寻别的路径

C. 广度优先搜索使用栈作为数据结构

D. 深度优先搜索使用队列作为数据结构

2. (单选题)以下关于全排列问题的求解算法当中,错误的是(C )

A. 可以使用回溯算法实现

B. 算法中涉及的图属于隐式图

C. 最终的搜索结果是原有元素的子集

D. 当输入的n=3时,使用回溯算法首先打印的前3个结果分别是123,132,213

3. (单选题)以下关于随机算法说法错误的是(  A)。

A. 概率算法可利用随机性和概率分布的特点,但不能用于降低算法复杂性

B. 舍伍德算法可用于减少最坏情况的出现

C. 拉斯维加斯算法是随机生成答案的算法,但在规定枚举次数下可能找不到问题的解

D. 蒙特卡罗算法是一种统计模拟方法,可用于数值计算

4. (单选题)可利用到随机性计算圆周率的算法是(B )。

A. 辗转相除法

B. 蒙特卡罗算法

C. 拉斯维加斯算法

D. 舍伍德算法

5. (多选题)以下有关于图搜索的相关说法中,正确的是(ABC )

A. 图是一种限制很少的数据结构,更接近现实

B. 图中的顶点、边及权重等结构信息显式给出的图称为显式图

C. 两种典型的隐式图包括子集树和排列树

D. 显式图一般不需要专门的存储

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值