算法设计与分析第一章课后作业

这篇博客是关于算法设计与分析的第一章课后作业,内容涉及递归概念、背包问题的贪心策略、算法的解题方法、渐进复杂性以及算法的时间和空间复杂性分析。作业涵盖了多项选择题,对算法的基本特性、描述方式、复杂性衡量标准等方面进行了深入探讨。

第一章

一.单选题
1
【单选题】子程序(包括函数和方法)是用来被调用的,递归指的是

A、
不同子程序之间直接或间接调用的程序设计方法

B、
同一个子程序直接或间接调用自己的程序设计方法

C、
子程序向调用它的程序段返回结果的程序设计方法

D、
子程序不向调用它的程序段返回结果的程序设计方法

正确答案: B 我的答案:B得分: 4.0分
2
【单选题】背包问题: n个物品和1个背包。对物品i,其价值为vi,重量为wi,背包的容量为W。如何选取物品装入背包,使背包中所装入的物品的总价值最大?物品可以分割。该问题的贪心策略是( )

A、
重量小的优先装入背包

B、
体积小的优先装入背包

C、
价值大的优先装入背包

D、
单位重量的价值大的优先装入背包

正确答案: D 我的答案:D得分: 4.0分
3
【单选题】什么是算法

A、
算法是计算方法

B、
算法是计算机程序

C、
算法是解题的方法和步骤

D、
算法是解题思路

正确答案: C 我的答案:C得分: 4.0分
4
【单选题】渐进复杂性的含义是()情况下的复杂性。

A、
在最佳输入情况下

B、
问题规模趋向于无穷大

C、
在最坏输入情况下

D、
平均各种输入之后

正确答案: B 我的答案:B得分: 4.0分
5
【单选题】分析算法的空间复杂性,应该分析

A、
算法在执行过程中存储空间的总占用量

B、
算法运行代码占用的存储量

C、
算法在执行过程中数据空间的占用量

D、
算法中定义的变量的数量

正确答案: C 我的答案:C得分: 4.0分
6
【单选题】允许使用递归程序设计方法的算法语言必须

A、
将局部变量和形式参数都分配在系统栈里

B、
将局部变量分配在系统栈里,将形式参数分配在系统堆里

C、
将局部变量分配在系统堆里,将形式参数分配在系统栈里

D、
将局部变量和形式参数都分配在系统堆里

正确答案: A 我的答案:A得分: 4.0分
7
【单选题】渐进复杂性的含义是( )情况下的复杂性。

A、
在最佳输入情况下

B、
问题规模趋向于无穷大

C、
在最坏输入情况下

D、
平均各种输入之后

正确答案: B 我的答案:B得分: 4.0分
8
【单选题】【单选题】n个元素的集合有多少个不同的子集?

A、

B、
n!

C、

D、
n

正确答案: A 我的答案:A得分: 4.0分
9
【单选题】描述算法不能用

A、
鸟语

B、
计算机算法语言

C、
人类自然语言

D、
接近计算机语言的伪语言

正确答案: A 我的答案:A得分: 4.0分
10
【单选题】算法的常见描述方式不包括( )

A、
代码

B、
甘特图

C、
伪代码

D、
流程图

正确答案: B 我的答案:B得分: 4.0分
11
【单选题】“时间复杂度”通常指的是算法在哪种情况下的时间复杂度

A、
最好

B、
最坏

C、
平均

D、
各种情况的加权平均

正确答案: B 我的答案:B得分: 4.0分
12
【单选题】分析算法的空间复杂性,应该分析

A、
算法行代码占用的存储量

B、
算法中定义的变量的数量

C、
算法在执行过程中存储空间的总占用量

D、
算法在执行过程中数据空间的占用量

正确答案: D 我的答案:D得分: 4.0分
13
【单选题】算法的基本特性不包括()(单选题)

A、
先进性

B、
有穷性

C、
有输入输出

D、
无二义性

正确答案: A 我的答案:A得分: 4.0分
14
【单选题】若某算法各语句执行频度之和为,则该算法的时间复杂度为

A、
O()

B、
O(3)

C、
O(3+5n)

D、
O(3+5n+9)

正确答案: A 我的答案:A得分: 4.0分
15
【单选题】通常,算法设计里说的“时间复杂度”指的是算法在那种情况下的时间复杂度

A、
最好

B、
最坏

C、
平均

D、
各种情况加权平均

正确答案: B 我的答案:B得分: 4.0分
16
【单选题】平均时间复杂度是指( )

A、
各种情况时间复杂度按概率的加权平均

B、
最好情况和最坏情况的时间复杂度的算术平均

C、
各种情况时间复杂度按概率的算术平均

D、
出现可能性最高的情况下的时间复杂度

正确答案: A 我的答案:A得分: 4.0分
17
【单选题】根据下面斐波那契数列的递归算法,可知斐波那契数列的第n项的递归式为()。
def Fibonacci(int num):
if(num == 0 || num == 1):
return num
return Fibonacci(num-1)+Fibonacci(num - 2)(单选题)

A、
Fibonacci(n)=0 当n=0时

B、
Fibonacci(n)=1 当n=1时

C、
Fibonacci(n)=Fibonacci(n-1)+Fibonacci(n-2) 当n〉1时

D、
Fibonacci(n)=Fibonacci(n-2)+Fibonacci(n-3) 当n〉1时

正确答案: C 我的答案:C得分: 4.0分
18
【单选题】算法的定义是

A、
算法是计算方法

B、
算法是计算机程序

C、
算法是解题的步骤

D、
算法不依赖数据结构

正确答案: C 我的答案:C得分: 4.0分
19
【单选题】用一重循环累乘实现阶乘问题。n!算法的时间复杂度为()。

A、
n

B、
n!

C、
2n

D、
n^2

正确答案: A 我的答案:A得分: 4.0分
20
【单选题】算法设计可以采用多种方式来描述,但不包括()

A、

接近计算机算法语言的伪代码
B、

计算机算法语言
C、

人类自然语言
D、

鸟语

正确答案: D 我的答案:D
21
【单选题】调度问题(多个任务依次在一台机器上加工,使所有任务完成时间之和最短)的算法设计策略是( )

A、

加工时间短的优先安排
B、

加工时间长的优先安排
C、

等待时间短的优先安排
D、

以上都不对()

正确答案: A 我的答案:A
22
【单选题】算法分析主要分析的是

A、

算法设计的巧妙程度
B、

算法的设计难度
C、

算法中遗留的缺陷
D、

算法运行时的时间效率

正确答案: D 我的答案:D
23
【单选题】用一重循环累乘求阶乘问题。n!算法的时间复杂度为()。(单选题)

A、

2n
B、

n!
C、

n
D、

n^2

正确答案: C 我的答案:C
24
【单选题】下述描述算法的方式采用的是算法的哪种描述方式()?

算法:gcd(m,n)

输入:非负整数m,n,其中m,n不全为0

输出:m与n的最大公约数

1.while m>0 do

2.r←n mod m

3.n ←m

  1. m ←r

5.return n
A、
自然语言

B、
程序流程图伪码

C、
伪码

D、
程序设计语言

正确答案: C 我的答案:C
25
【单选题】调度问题:n个任务按某一调度依次在一台机器上加工的算法设计策略是()
A、

加工时间短的优先安排
B、

加工时间长的优先安排
C、

等待时间短的优先安排
D、

以上都不对()

正确答案: A 我的答案:A
二.多选题
1
【多选题】关于算法特性的描述,正确的是

A、
算法必须有输出

B、
算法必须有输入

C、
算法要产生确定的结果

D、
算法的解题过程必须在有限步里结束

E、
先有程序后有算法

正确答案: ACD 我的答案:ACD得分: 4.0分
2
【多选题】关于算法分析的说法中,不正确的是

A、
算法分析包括对算法的数据结构的复杂度的分析

B、
算法分析包括对算法的输入效率进行分析

C、
算法分析包括对算法的时间效率进行分析

D、
算法分析包括对算法的空间效率进行分析

E、
算法分析包括对算法的代码存储空间的分析

正确答案: ABE 我的答案:ABE得分: 4.0分
3
【多选题】n个连续自然数a1…an连加和问题算法(利用等差数列求和公式)的输入可以是什么()。
A、a1,n
B、.an , n
C、a1, an
D、a1, an , n
正确答案: ABCD 我的答案:ABCD得分: 4.0分
4
【多选题】关于算法设计,正确的包括

A、
算法设计首先要充分理解要解决的问题

B、
详细设计算法之前要先设计算法的数学模型

C、
设计算法时存储数据的形式(数据结构)很重要

D、
算法不需要考虑通用性

E、
算法不需要正确性验证

正确答案: ABC 我的答案:ABC得分: 4.0分
5
【多选题】n个连续自然数a1…an连加和问题算法(利用等差数列求和公式)的输入可以是什么( )。

A、
a1,n

B、
.an , n

C、
a1, an

D、
a1, an , n

正确答案: ABCD 我的答案:ABCD得分: 4.0分
6
【多选题】关于算法分析的说法中,正确的包括

A、
算法分析包括对算法的数据结构的复杂度的分析

B、
算法分析包括对算法的输入效率进行分析

C、
算法分析包括对算法的时间效率进行分析

D、
算法分析包括对算法的空间效率进行分析

E、
算法分析包括对算法的代码存储空间的分析

正确答案: CD 我的答案:CD
7
【多选题】关于算法的描述方法,正确的包括

A、

算法的描述不应该使用复杂的逻辑运算
B、

算法描述必须使用伪代码
C、

算法描述可以使用程序设计语言
D、

算法描述是对问题的解决方法和步骤的记录
E、

描述算法的语句要注意不要有二义性

正确答案: CDE 我的答案:CDE
8
【多选题】对算法执行时间的描述,不正确的包括

A、
问题规模增大,执行时间会增加

B、
数据的排列形式有时也是影响影响算法执行时间

C、
好的算法对不同规模的问题的处理时间是一样的

D、
好算法在慢的计算机上的执行时间,一定比,差的算法在快的计算机上执行时间短

E、
所谓好的算法的时间复杂度必须小于O(n)

正确答案: CDE 我的答案:CDE

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值