算法设计考试

单选 25+16+15+14+11=88

多选10+3+4+9+14=40

判断12+6=18

第一章


单选题

1【单选题】根据下面斐波那契数列的递归算法,可知斐波那契数列的第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


2【单选题】算法设计可以采用多种方式来描述,但不包括()

  • A、接近计算机算法语言的伪代码
  • B、计算机算法语言
  • C、人类自然语言
  • D、鸟语

正确答案: D 我的答案:D


3【单选题】算法的定义是

  • A、算法是计算方法
  • B、算法是计算机程序
  • C、算法是解题的步骤
  • D、算法不依赖数据结构

正确答案: C 我的答案:C


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

  • A、子程序向调用它的程序段返回结果的程序设计方法
  • B、子程序不向调用它的程序段返回结果的程序设计方法
  • C、同一个子程序直接或间接调用自己的程序设计方法
  • D、不同子程序之间直接或间接调用的程序设计方法

正确答案: C 我的答案:C


5【单选题】算法的基本特性不包括()(单选题)

  • A、先进性
  • B、有穷性
  • C、有输入输出
  • D、无二义性

正确答案: A 我的答案:A


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

  • A、重量小的优先装入背包
  • B、体积小的优先装入背包
  • C、价值大的优先装入背包
  • D、单位重量的价值大的优先装入背包

正确答案: D 我的答案:D


7【单选题】渐进复杂性的含义是( )情况下的复杂性。

  • A、在最佳输入情况下
  • B、问题规模趋向于无穷大
  • C、在最坏输入情况下
  • D、平均各种输入之后

正确答案: B 我的答案:B


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

  • A、不同子程序之间直接或间接调用的程序设计方法
  • B、同一个子程序直接或间接调用自己的程序设计方法
  • C、子程序向调用它的程序段返回结果的程序设计方法
  • D、子程序不向调用它的程序段返回结果的程序设计方法

正确答案: B 我的答案:B


9【单选题】允许使用递归程序设计方法的算法语言必须

  • A、将局部变量和形式参数都分配在系统栈里
  • B、将局部变量分配在系统栈里,将形式参数分配在系统堆里
  • C、将局部变量分配在系统堆里,将形式参数分配在系统栈里
  • D、将局部变量和形式参数都分配在系统堆里

正确答案: A 我的答案:A


10【单选题】算法的基本特性不包括()

  • A、先进性
  • B、有穷性
  • C、有输入输出
  • D、无二义性

正确答案: A 我的答案:A


11【单选题】算法分析主要分析的是

  • A、算法设计的巧妙程度
  • B、算法的设计难度
  • C、算法中遗留的缺陷
  • D、算法运行时的时间效率

正确答案: D 我的答案:D


12【单选题】下述描述算法的方式采用的是算法的哪种描述方式()?

算法:gcd(m,n)

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

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

1.while m>0 do

2.r←n mod m

3.n ←m

4.m ←r

5.return n

  • A、自然语言
  • B、程序流程图伪码
  • C、伪码
  • D、程序设计语言

正确答案: C 我的答案:C


13【单选题】分析算法的空间复杂性,应该分析

  • A、算法在执行过程中存储空间的总占用量
  • B、算法运行代码占用的存储量
  • C、算法在执行过程中数据空间的占用量
  • D、算法中定义的变量的数量

正确答案: C 我的答案:C


14【单选题】“时间复杂度”通常指的是算法在哪种情况下的时间复杂度

  • A、最好
  • B、最坏
  • C、平均
  • D、各种情况的加权平均

正确答案: B 我的答案:B


15【单选题】算法的常见描述方式不包括()

  • *A、*代码
  • *B、*甘特图
  • *C、*伪代码
  • *D、*流程图

正确答案: B 我的答案:B


16【单选题】用一重循环累乘求阶乘问题。n!算法的时间复杂度为()。(单选题)

  • A、2n
  • B、n!
  • C、n
  • D、n^2

正确答案: C 我的答案:C


17【单选题】调度问题:n个任务按某一调度依次在一台机器上加工的算法设计策略是()

  • A、加工时间短的优先安排
  • B、加工时间长的优先安排
  • C、等待时间短的优先安排
  • D、以上都不对()

正确答案: A 我的答案:A


18【单选题】用一重循环累乘实现阶乘问题。n!算法的时间复杂度为()。

  • A、n
  • B、n!
  • C、2n
  • D、n^2

正确答案: A 我的答案:A


19【单选题】什么是算法

  • A、算法是计算方法
  • B、算法是计算机程序
  • C、算法是解题的方法和步骤
  • D、算法是解题思路

正确答案: C 我的答案:C


20【单选题】若某算法各语句执行频度之和为 3 n 2 + 5 n + 9 3n^2+5n+9 3n2+5n+9,则该算法的时间复杂度为

  • A、 O ( n 2 ) O(n^2) O(n2)

  • B、 O ( 3 n 2 ) O(3n^2) O(3n2)

  • C、 O ( 3 n 2 + 5 n ) O(3n^2+5n) O(3n2+5n)

  • D、 O ( 3 n 2 + 5 n + 9 ) O(3n^2+5n+9) O(3n2+5n+9)

正确答案: A 我的答案: A


21【单选题】【单选题】n个元素的集合有多少个不同的子集?

  • A、 2 n 2^n 2n
  • B、 n ! n! n!
  • C、 n 2 n^2 n2
  • D、 n n n

正确答案: A 我的答案: A


22【单选题】描述算法不能用

A、鸟语

B、计算机算法语言

C、人类自然语言

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

正确答案: A 我的答案:A


23【单选题】通常,算法设计里说的“时间复杂度”指的是算法在那种情况下的时间复杂度

A、最好

B、最坏

C、平均

D、各种情况加权平均

正确答案: B 我的答案:B


24【单选题】平均时间复杂度是指( )

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

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

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

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

正确答案: A 我的答案:A


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

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

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

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

D、以上都不对()

正确答案: A 我的答案:A


多选题

1【多选题】关于算法特性的描述,正确的是

  • A、算法必须有输出
  • B、算法必须有输入
  • C、算法要产生确定的结果
  • D、算法的解题过程必须在有限步里结束
  • E、先有程序后有算法

正确答案: ACD 我的答案:ACD


2【多选题】关于算法特性的描述,不正确的是

  • A、算法必须有输出
  • B、算法必须有输入
  • C、算法要产生确定的结果
  • D、算法的解题过程必须在有限步里结束
  • E、先有程序后有算法

正确答案: BE 我的答案:BE


3【多选题】关于算法的描述方法,正确的包括

  • A、算法的描述不应该使用复杂的逻辑运算
  • B、算法描述必须使用伪代码
  • C、算法描述可以使用程序设计语言
  • D、算法描述是对问题的解决方法和步骤的记录
  • E、描述算法的语句要注意不要有二义性

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


4【多选题】对算法执行时间的描述,不正确的包括

  • A、问题规模增大,执行时间会增加
  • B、数据的排列形式有时也是影响影响算法执行时间
  • C、好的算法对不同规模的问题的处理时间是一样的
  • D、好算法在慢的计算机上的执行时间,一定比,差的算法在快的计算机上执行时间短
  • E、所谓好的算法的时间复杂度必须小于O(n)

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


5【多选题】对算法执行时间的描述中,正确的包括

  • A、问题规模往往是影响影响算法执行时间的重要因素
  • B、数据的排列形式有时也是影响影响算法执行时间的重要因素
  • C、好的算法对不同规模的问题的处理时间保持一样的
  • D、好算法在慢的计算机上的执行时间,一定比,差算法在快的计算机上执行时间短
  • E、好的算法的时间复杂度全都小于O(n)

正确答案: AB 我的答案:AB


6【多选题】n个连续自然数a1…an连加和问题算法(利用等差数列求和公式)的输入可以是什么()。

  • *A、*a1,n
  • B、.an , n
  • *C、*a1, an
  • *D、*a1, an , n

正确答案: ABCD 我的答案:ABCD


7【多选题】关于算法设计,不正确的是

  • A、算法设计首先要充分理解要解决的问题
  • B、详细设计算法之前要先建立算法的数学模型
  • C、设计算法时存储数据的形式(数据结构)很重要
  • D、算法不需要考虑通用性
  • E、算法不需要正确性验证

正确答案: DE 我的答案: ABC


8【多选题】关于算法设计,正确的包括

  • A、算法设计首先要充分理解要解决的问题
  • B、详细设计算法之前要先设计算法的数学模型
  • C、设计算法时存储数据的形式(数据结构)很重要
  • D、算法不需要考虑通用性
  • E、算法不需要正确性验证

正确答案: ABC 我的答案: ABC


9【多选题】关于算法分析的说法中,正确的包括

  • A、算法分析包括对算法的数据结构的复杂度的分析
  • B、算法分析包括对算法的输入效率进行分析
  • C、算法分析包括对算法的时间效率进行分析
  • D、算法分析包括对算法的空间效率进行分析
  • E、算法分析包括对算法的代码存储空间的分析

正确答案: CD 我的答案: ABE


10【多选题】关于算法分析的说法中,不正确的是

  • A、算法分析包括对算法的数据结构的复杂度的分析
  • B、算法分析包括对算法的输入效率进行分析
  • C、算法分析包括对算法的时间效率进行分析
  • D、算法分析包括对算法的空间效率进行分析
  • E、算法分析包括对算法的代码存储空间的分析

正确答案: ABE 我的答案: CD


11【多选题】算法的基本特征有( )

  • A、输入
  • B、输出
  • C、有限性
  • D、确定性
  • E、可行性

正确答案: ABCDE 我的答案:ABCDE


第二章

单选题

1【单选题】单源最短路径问题算法中,把出发点定为源点,根据该算法思想,与源点在同一集合中的点是()

  • A、确定了最短路径的点
  • B、尚未确定最短路径的点
  • C、不明确是哪些点
  • D、以上都不对()

正确答案: A 我的答案: A


2【单选题】找零钱问题的贪心策略是()

  • A、面值大的钱币优先找出
  • B、面值小的钱币优先找出
  • C、面值小于待找钱数且面值最大的优先找出
  • D、以上都不对

正确答案: C 我的答案: C


3【单选题】给定一个有向连通带权图G=(V,E),n个顶点,e条边,Dijsktra算法的时间复杂度为()

  • A、O(n 2)
  • B、O(n 3)
  • C、O(eloge)
  • D、O(nlogn)

正确答案: A 我的答案: A


4【单选题】给定一个无向连通带权图G=(V,E),n个顶点,e条边,Prim算法的时间复杂度为()

  • A、O(n 2)
  • B、O(n 3)
  • C、O(eloge)
  • D、O(nlogn)

正确答案: A 我的答案: A


5【单选题】给定一个无向连通带权图G=(V,E),n个顶点,e条边,kruskal算法的时间复杂度为()

  • A、O(n 2)

  • B、O(n 3)

  • C、O(eloge)

  • D、O(nlogn)

正确答案: C 我的答案: C


6【单选题】给定字符集{a,b,c,d,e,f},若用定长码编码,至少需要几位二进制位()

  • A、1位
  • B、2位
  • C、3位
  • D、4位

正确答案: C 我的答案: C


7【单选题】单源最短路径问题算法中,V是图的顶点集,S记录已确定最短路径长度的点,算法的贪心策略是()

  • A、选择特殊路径长度最短的,把相连的V-S中的点加入到S中,检查新增加的特殊路径,若比原来的短,则优化。
  • B、选择特殊路径长度最短的,把相连的S中的点加入到V-S中,检查新增加的特殊路径,若比原来的短,则优化。
  • C、选择路径长度最短的,把相连的点加入到S中,检查新增加的路径,若比原来的短,则优化。
  • D、以上都不对

正确答案: A 我的答案: B


8【单选题】调度问题:有n个客户带来n项任务,每项加工时间已知,设为ti,i=1,2,…,n。从0时刻开始,陆续安排到一台机器上加工。每个任务的完成时间是从0时刻到该任务加工完成的时间。为了使尽可能多的客户满意,我们希望找到是的总等待时间最少的调度方案。该问题的贪心策略是( )

  • A、加工时间长的优先安排
  • B、加工时间短的优先安排
  • C、完成时间早的优先安排
  • D、等待时间长的优先安排

正确答案: B 我的答案: B


9【单选题】[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cryaiEre-1653320880372)(img/aaa243ac5bf59aeacc250695de9079a5.png)]

用Prim算法求解上图的最小生成树,初始时,集合S={a},集合V-S={b,c,d,e,f,g},第一步贪心选择的边是()。

  • A、(a,b)
  • B、(b,c)
  • C、(c,d)
  • D、(c,f)

正确答案: A 我的答案: A


10【单选题】给定一个无向连通带权图G=(V,E),下述关于prim算法说法不正确的是( )。

  • A、prim算法先选出一个顶点加入到集合S,把图的顶点分成两个集合,一个S,一个V-S
  • B、prim算法总是选择连接S和V-S的边中权最小的加入到最小生成树中。
  • C、prim算法停止的条件是S=V
  • D、 prim算法的时间复杂度O(n3),n为图的顶点个数。

正确答案: D 我的答案: C


11【单选题】哈夫曼编码是一种最优前缀码方案,给出待编码的8个字符及出现的频率,若干步贪心选择之后,树的集合为:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WK2Llw8T-1653320880375)(img/a1a43c109ac0dc986c460642d990bbdf.png)]

这是经过多少次贪心选择之后得到的结果。()

  • A、1
  • B、2
  • C、3
  • D、4

正确答案: C 我的答案: C


12【单选题】会场安排问题的最好的贪心策略是()

  • A、在不冲突的情况下,开始时间早的优先安排
  • B、在不冲突的情况下,使用时间短的优先安排
  • C、在不冲突的情况下,使用时间长的优先安排
  • D、在不冲突的情况下,结束时间早的优先安排

正确答案: D 我的答案: D


13【单选题】关于Prim算法和Kruskal算法的比较,正确的是

  • A、两个算法的时间复杂度相同
  • B、Prim算法适用于稠密图,Kruskal算法适用于稀疏图
  • C、Kruskal算法的时间复杂度是用顶点个数决定的
  • D、Prim为了提高贪心选择时查找最短边的效率,首先将图中的所有边按权值排序。

正确答案: B 我的答案: B


14【单选题】哈夫曼编码是一种最优前缀码方案,给出待编码的8个字符及出现的频率,若干步贪心选择之后,树的集合为:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fv1YlsGB-1653320880375)(img/a1a43c109ac0dc986c460642d990bbdf.png)]

接下来的贪心选择选出的两个树的权分别为()和(),让它们作为左右子树构造一课新树,新树的根权值是()。

A、15、14、23

B、15、19、14

C、14、15、29

D、15、19、29

正确答案: C

15【单选题】给定字符集及其出现的频率:{a:90%,b:5%,c:3%,d:2%},下述哪种编码是最优前缀码()?

A、a:1,b:01,c:000,d:001

B、a:0,b:01,c:000,d:001

C、a:1,b:10,c:000,d:001

D、a:0,b:10,c:000,d:001

正确答案: A 我的答案:A


16【单选题】单源最短路径问题算法中,采用了前驱pre数组,用于记录()

A、当前最短路径长度

B、图中每个顶点的前驱

C、特殊路径

D、以上都不对

正确答案: B 我的答案:B


多选题

1【多选题】给定一个无向连通带权图G,下述有关生成树的说法正确的是()。

  • A、G的生成树可能有多棵
  • B、G的生成树唯一
  • C、G的最小生成树耗费最小
  • D、G的最小生成树唯一

正确答案: AC 我的答案: AC


2【多选题】给定一个无向连通带权图G=(V,E),下述关于prim算法说法正确的是( )。

  • A、prim算法先选出一个顶点加入到集合S,把图的顶点分成两个集合,一个S,一个V-S
  • B、prim算法总是选择连接S和V-S的边中权最小的加入到最小生成树中
  • C、prim算法停止的条件是S=V
  • D、prim算法的时间复杂度O(n2),n为图的顶点个数
  • E、prim算法的时间复杂度和图的顶点数有关,也和图的边数也有关
  • F、prim算法的时间复杂度O(n3),n为图的顶点个数

正确答案: ABCD 我的答案: ABCD


3【多选题】贪心算法的正确性证明包括证明

  • A、可行性
  • B、贪心选择性质
  • C、最优子结构性质
  • D、存在最优解
  • E、可分为独立子问题

正确答案: BC 我的答案: BC


判断题


1【判断题】贪心算法在每个阶段面临选择时,都做出对眼前来讲是最有利的选择

正确答案:


2【判断题】堆排序、冒泡排序、快速排序都采用了贪心策略进行排序。

正确答案:×


3【判断题】会场安排的最佳贪心策略一定能保证安排最多的相容会议使用同一会议室。

正确答案:


4【判断题】贪心法具有高效性,它可以非常迅速地获得一个解。

正确答案:


5【判断题】贪心算法的贪心策略确定后可以更改( )

正确答案:×


6【判断题】贪心算法在每个阶段面临选择时,都做出对眼前来讲是最有利的选择()

正确答案:


7 【判断题】针对同一个问题,贪心策略可能有多个,贪心算法的好坏取决于贪心策略的好坏。

正确答案:


8【判断题】采用贪心策略设计的算法,一定要对算法的正确性进行证明。

正确答案:


9【判断题】贪心法可以保证最终的解是最优解。

正确答案:×


10【判断题】哈夫曼编码属于可变长编码。

正确答案:


11【判断题】一个好的贪心策略,一定能得到问题的最优解。

正确答案:×


12【判断题】贪心法具有高效性,它可以非常迅速地获得一个解。
正确答案:√


第三章


选择题


1【单选题】
以下代码功能为合并排序,请根据注释按照数顺序选择合适的语句填入对应的括号。
{def MergeSort(A, low, high):
if (low < high):
()#分解
()# 递归序列左半部分
()# 递归序列右半部分
Merge(A, low, middle, high)# 子问题的解合并成原问题的解}

  • *A、*middle=(high-low)/2;MergeSort(A,low,middle);MergeSort(A,middle+1,high);
  • *B、*middle=(low+high)/2;MergeSort(A,low,middle);MergeSort(A,middle+1,high);
  • *C、*middle=(low+high)/2;MergeSort(A,middle+1,high); MergeSort(A,low,middle);
  • *D、*middle=(high-low)/2;MergeSort(A,middle+1,high); MergeSort(A,low,middle);

正确答案: B 我的答案:B


2【单选题】关于二分查找时间复杂度描述错误的是( )

  • A、二分查找算法最好情况下的时间复杂度为O(1).
  • B、二分查找算法平均情况下的时间复杂度为O(n).
  • C、二分查找算法最坏情况下的时间复杂度为O(logn).
  • D、二分查找算法平均情况下的时间复杂度为O(logn).

正确答案: B 我的答案:B


3【单选题】n个元素最小值问题的分治算法分解方法错误的是()。

  • A、划分为2个规模大致相等的子问题
  • B、从中间将n个元素划分为两部分
  • C、n个元素的位置下界left、上界right,分解操作为(left+right)/2
  • D、将n个元素分解为多个子问题,子问题之间不独立

正确答案: D 我的答案:D


4【单选题】分治算法的基本思想描述错误的是( )

  • *A、*分治法将规模大的问题分解成规模较小的问题解决。
  • *B、*分治法划分的小问题相互重叠。
  • *C、*分治法一般采用递归的方法解决子问题。
  • *D、*分治法划分的小问题规模小到一定程度时可以直接解决。

正确答案: B 我的答案:B


5【单选题】有关合并排序的分治算法描述错误的是( )

  • A、合并排序A[left,right]的元素,采用的分解方法是(left+right)/2。
  • B、合并排序A[left,right]的元素,采用的分解方法是(right-left)/2。
  • C、合并排序A[left,right]的元素,需要治理规模大致等于(right-left+1)/2的两个子问题。
  • D、合并排序需要将两个有序的子序列归并成一个有序的子序列。

正确答案: B 我的答案:B


6【单选题】有关快速排序的分治算法描述错误的是()。

  • A、快速排序A[left,right],选取基准元素的方法,将待排序元素分解为两个子问题。
  • B、快速排序基准元素的选取可以是待排序元素中的任何一个元素。
  • C、快速排序划分的两个子问题规模大致相等。
  • D、快速排序A[left,right],递归算法的边界条件是left<right

正确答案: C 我的答案:C


7【单选题】二分合并排序算法时间复杂度的是()

  • A、O(logn)
  • B、O(nlogn)
  • C、0(logn^2)
  • D、0(n^2)

正确答案: B 我的答案:B


8【单选题】有关循环赛日程表分治算法描述错误的是( )

  • A、循环赛日程表给定 2 k 2^k 2k个运动员,采用 2 k / 2 2^k/2 2k/2的方法将运动员分成两组。
  • B、循环赛日程表算法先安排组内的赛程,再安排两组对打。
  • C、循环赛日程表算法的边界条件是两个运动员,一天的比赛。
  • D、循环赛日程表算法为 2 k 2^k 2k个运动员安排了 2 k 2^k 2k天的比赛。

正确答案: D 我的答案:D


9【单选题】关于快速排序分治算法时间复杂度描述错误的是()

  • A、快速排序分治算法最好情况下的时间复杂度为O(nlogn).
  • B、快速排序分治算法最坏情况下的时间复杂度为O(n 2).
  • C、快速排序分治算法平均情况下的时间复杂度为O(n 2).
  • D、快速排序分治算法平均情况下的时间复杂度为O(nlogn).

正确答案: C 我的答案:C


10【单选题】有关2个n位大整数乘法问题说法错误的是()。

  • A、将两个n位大整数分解为4个规模大致相等的n/2位整数的整数乘法问题。
  • B、递归解决4个子问题。
  • C、子问题的解需要归并成原问题的解。
  • D、子问题的解本身就是原问题的解。

正确答案: D 我的答案:D


11【单选题】棋盘覆盖问题的分解方法为()。

  • A、将 2 k ∗ 2 k 2^k*2^k 2k2k的棋盘分解为2个 2 ( k − 1 ) ∗ 2 k 2^(k-1)*2^k 2(k1)2k
  • B、将 2 k ∗ 2 k 2^k*2^k 2k2k的棋盘分解为2个 2 k ∗ 2 ( k − 1 ) 2^k*2^{(k-1)} 2k2(k1)
  • C、将 2 k ∗ 2 k 2^k*2^k 2k2k的棋盘分解为4个 2 ( k − 1 ) ∗ 2 ( k − 1 ) 2^{(k-1)}*2^{(k-1)} 2(k1)2(k1)
  • D、以上分解的方法都不对

正确答案: C 我的答案: C


12【单选题】分治算法核心就是分而治之,其中的“治”描述错误的是( )。

  • A、分治法通过治理小问题来治理大问题。
  • B、分治法递归治理小问题。
  • C、分治法需要将子问题的解归并成大问题的解。
  • D、治理子问题时,会有重复性治理子问题的现象。

正确答案: D 我的答案: D


13【单选题】下述关于二分查找(折半查找)算法描述正确的是( )

  • A、二分查找是在任意给定的无序的数列中查找指定的数。
  • B、二分查找的序列为A[left,right],其中left<right,分解操作为:(right-left)/2
  • C、二分查找根据比较二分位置的元素与待查找的是否相等。若相等,则算法结束。若不相等,进入其中一个子问题继续查找。
  • D、若二分查找的序列为A[left,right],其中left<right,用递归来解决子问题,则left<right时递归结束。

正确答案: C 我的答案: D


14【单选题】大整数A和B的乘法,将A分成位数大致相等的两部分A1和A2 ,将B分成位数大致相等的两部分B1和B2,以下描述错误的是()。

  • A、4个子问题的解归并为原问题解的方法为: A × B = 1 0 n A 1 B 1 + 1 0 n / 2 ( A 1 B 2 + A 2 B 1 ) + A 2 B 2 A×B=10^nA1B1+10^n/2(A1B2+A2B1)+A2B2 A×B=10nA1B1+10n/2(A1B2+A2B1)+A2B2
  • B、3个子问题的解归并为原问题解的方法为: A × B = 1 0 n A 1 B 1 + 1 0 n / 2 ( ( A 1 − A 2 ) ( B 2 − B 1 ) + A 1 B 1 + A 2 B 2 ) + A 2 B 2 A×B=10^nA1B1+10^n/2((A1-A2)(B2-B1)+A1B1+A2B2)+A2B2 A×B=10nA1B1+10n/2((A1A2)(B2B1)+A1B1+A2B2)+A2B2
  • C、3个子问题的解归并为原问题解的方法为: A × B = 1 0 n A 1 B 1 + 1 0 n / 2 ( ( A 1 + A 2 ) ( B 1 + B 2 ) + A 1 B 1 + A 2 B 2 ) + A 2 B 2 A×B=10^nA1B1+10^n/2((A1+A2)(B1+B2)+A1B1+A2B2)+A2B2 A×B=10nA1B1+10n/2((A1+A2)(B1+B2)+A1B1+A2B2)+A2B2
  • D、划分3个子问题比划分4个子问题时间复杂度低

正确答案: C 我的答案: C


15【单选题】以下函数的功能是()
def Q(R, low,high):
if(low<high):#仅当区间长度大于1时才须排序
pivotpos=Partition(R,low,high) #划分后的基准元素所对应的位置
Q(R,low,pivotpos-1)#对左区间递归排序
Q(R,pivotpos+1,high)#对右区间递归排序

A、二分查找

B、二分求最值

C、合并排序

D、快速排序

正确答案: D


多选题


1【多选题】{有关以下代码,说法正确的是()。
def BinarySearch(s, x, low, high):
if (low > high):
return -1
middle = (low + high) / 2
if (x == s[middle]):
return middle
elif(x > s[middle]):
return BinarySearch(s, x, middle + 1, high)
else :
return BinarySearch(s, x, low, middle - 1)}

  • A、BinarySearch的功能是针对有序序列s[] ,采用二分搜索技术查找指定元素x
  • B、if (low>high) return -1;该语句为递归的边界条件
  • C、将问题规模一份为二的语句是middle=(low+high)/2;
  • D、递归序列左半部分的语句是BinarySearch (s, x, middle+1, high);
  • E、递归序列左半部分的语句是BinarySearch (s, x, low, middle-1);

正确答案: ABCE 我的答案:ABCE


2【多选题】分治算法的思想是()

  • A、将规模较大的问题划分为规模较小的相同子问题。
  • B、子问题之间相互独立。
  • C、子问题之间不相互独立。
  • D、递归解决划分得到的子问题
  • E、有些子问题的解需要归并得到原问题的解

正确答案: ABDE 我的答案:ABDE


3【多选题】n个元素最小值问题的分治算法分解方法为()

  • A、划分为2个规模大致相等的子问题
  • B、从中间将n个元素划分为两部分
  • C、如果n个元素的位置下界left、上界right,那么每次分解操作为(left+right)/2
  • D、将n个元素分解为多个子问题,子问题之间不独立

正确答案: ABC 我的答案:AC


4【多选题】分治算法的步骤有()

  • A、分解。
  • B、治理。
  • C、递归。
  • D、贪心。

正确答案: AB 我的答案:AB


第四章


单选题


1【单选题】0-1背包问题的跳跃点算法的时间复杂度为( )

  • *A、*O(2^n)
  • *B、*O(nW)
  • *C、*O(n^2)
  • *D、*O(min(nW,2^n))

正确答案: D 我的答案: D


2【单选题】n个物品,背包容量为W的0-1背包问题的动态规划算法的时间复杂度为( )

  • *A、*O(logn)
  • *B、*O(nW)
  • *C、*O(n^2)
  • *D、*O(W^2)

正确答案: B 我的答案: B


3【单选题】设 c [ i ] [ j ] c[i][j] c[i][j]表示序列Xi和Yj的最长公共子序列的长度。则它的递推关系式为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1w95SRa7-1653320880377)(img/d08e3851a6ba2b572a85fde85e7d5a4d.png)]

则,根据给定的X=={A, B, C, B, D, A, B}和Y={B, D, C, A, B, A}从上到下填写缺失值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OAA0Wix6-1653320880377)(img/e89f3896cd29d112b6ac88344b4bba21.png)]

  • A、2 3 3
  • B、2 2 2
  • C、3 4 4
  • D、3 3 3

正确答案: C 我的答案: C


4【单选题】给定序列X={A, B, C, B, D, A, B}和Y={B, D, C, A, B, A},它们的最长公共子序列是()。

  • A、BCBA
  • B、BCDA
  • C、ADAB
  • D、BCAA

正确答案: A 我的答案: A


5【单选题】按照顺序排列动态规划的求解步骤,正确的是( ) (1)递归定义最优值。 (2)以自底向上的方式计算出最优值,并记录相关信息。 (3)分析最优解子结构性质。 (4)构造出最优解。

  • A、(1),(2),(3),(4)
  • B、(1),(3),(2),(4)
  • C、(3),(1),(2),(4)
  • D、(1),(2),(4),(3)

正确答案: C 我的答案: C


6【单选题】X序列有m个元素,Y序列有n个元素,X和Y的最长公共子序列问题的动态规划算法,时间复杂度为( )

  • *A、*O(nm)
  • *B、*O(nm^2)
  • *C、*O(mn^2)
  • *D、*O(lognm)

正确答案: A 我的答案: A


7【单选题】有7个工件,它们在第一台机器和第二台机器上的处理时间分别为:[t11,t12,t13,t14,t15,t16,t17]=[3,8,10,12,6,9,15],[t21,t22,t23,t24,t25,t26,t27]=[7,2,6,18,3,10,4],这7个工件的最优加工顺序为()。

  • *A、*1,2,3,4,5,6,7
  • *B、*1,4,6,3,2,7,5
  • *C、*1,6,4,3,7,5,2
  • *D、*1,4,2,6,5,7,3

正确答案: C 我的答案: C


8【单选题】解决给定的5个矩阵连乘问题:矩阵A1(3×2)、A2(2×5)、A3(5×10)、A4(10×2)和A5(2×3),设m[i][j]表示Ai…Aj的最优计算次序对应的乘法计算次数(最优值),P为存储矩阵行列的数组,其中P[i]是第i个矩阵的列、第i-1个矩阵的行。求解最优值递归关系是为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OYn4Ul69-1653320880378)(img/f3868f6e4aaeb19f614960862d7205e2.png)]

根据该递归关系式,求解得到下面二维表:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EHCZqFqM-1653320880379)(img/5a0fa433d26981015cbe2746041ff32b.png)]

行A1和列A5确定的方格中的元素是()。

  • A、132
  • B、130
  • C、264
  • D、150

正确答案: D 我的答案: D


9【单选题】解决给定的5个矩阵连乘问题:矩阵A1(3×2)、A2(2×5)、A3(5×10)、A4(10×2)和A5(2×3),设m[i][j]表示Ai…Aj的最优计算次序对应的乘法计算次数(最优值),P为存储矩阵行列的数组,其中P[i]是第i个矩阵的列、第i-1个矩阵的行。求解最优值递归关系是为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4w2aVK10-1653320880380)(img/f3868f6e4aaeb19f614960862d7205e2.png)]

根据该递归关系式,求解过程中得到下面最优决策的二维表:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zb7AIyyY-1653320880381)(img/9c11f07d61200ca0bbbbff786dd80bf2.png)]

由此,可得上述5个矩阵连乘的最优计算次序为()

  • A、(A1(A2(A3(A4A5))))
  • B、((A1A2)(A3(A4A5)))
  • C、((A1A2)((A3A4)A5))
  • D、(A1((A2(A3A4))A5))

正确答案: D 我的答案: D


10【单选题】规模为5矩阵连乘问题,计算次序有( )种。
A、10
B、12
C、14
D、16
正确答案: C


11【单选题】关于动态规划与分治法的区别,表述不正确的是()
A、动态规划划分的子问题一般具有重叠子问题,分治法则通常互不相交
B、动态规划建立在描述子问题最优值关系的状态转移方程基础上,分治法一般不需要建立类似的最优值之间的数量关系
C、分治法能写成递归形式,动态规划不能写成递归形式
D、动态规划一般用来求解最优化问题,分治法多不用于求解最优化问题
正确答案: C


12【单选题】矩阵连乘问题中,A1矩阵大小是1005,A2矩阵大小为530,A3矩阵大小为3010,则乘法次序 (A1A2)*A3需要的元素乘法次数是( )。
A、15000
B、30000
C、45000
D、4500000

正确答案: C


13【单选题】关于动态规划和回溯法的区别,以下表述不正确的是()
A、动态规划和回溯法都可以用来求解最优化问题,但回溯法是基于枚举解的思想,动态规划则是基于构造子问题最优值关系的方式
B、在遇到重叠子问题的时候,动态规划思想会使用存储最优值的方式直接排除,而回溯法一般做法是设法避环和剪枝,降低其影响
C、在求解相同问题时,动态规划必然比回溯法浪费空间,但是更节约时间
正确答案: C


14【单选题】n个工件2台机器的加工顺序问题(调度问题),依据贝尔曼法则设计的动态规划算法的时间复杂度为( )
A、O(logn)
B、O(nlogn)
C、O(logn^2)
D、O(n^2)
正确答案: B


多选题


1【多选题】有关0-1背包问题,用 c [ i ] [ j ] c[i][j] c[i][j]描述子问题:1…i共i个物品,背包容量为j的最优值(装入背包的最大价值),以下说法正确的是( )

  • *A、*当i=0时或j=0时,c[i][j]=0
  • *B、*当j<w i时,物品无法装入,则背包容量依旧为j, c [ i ] [ j ] c[i][j] c[i][j]= c [ i − 1 ] [ j ] c[i-1][j] c[i1][j]
  • *C、*当j≥w i时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让 c [ i ] [ j ] c[i][j] c[i][j]最小。故 c [ i ] [ j ] = m i n ( c [ i − 1 ] [ j ] , c [ i − 1 ] [ j − w i ] + v i ) c[i][j]=min(c[i-1][j],c[i-1][j-w i]+v i) c[i][j]=min(c[i1][j],c[i1][jwi]+vi)
  • *D、*当j≥w i时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让 c [ i ] [ j ] c[i][j] c[i][j]最大。故 c [ i ] [ j ] = m a x ( c [ i − 1 ] [ j ] , c [ i − 1 ] [ j − w i ] + v i ) c[i][j]=max(c[i-1][j],c[i-1][j-w i]+v i) c[i][j]=max(c[i1][j],c[i1][jwi]+vi)

正确答案: ABD 我的答案: ABD


2【多选题】有关矩阵连乘问题说法正确的是()

  • *A、*矩阵A i…A j连乘,其中A k的行列为(p k×q k),k=i,i+1,…,j,其结果矩阵的行列为(p i×q j)。
  • *B、*n个矩阵连乘A 1…A n,其子问题为A i…A j连乘,1≤i≤j≤n,其中i=j表示规模为1的子问题,其需要的乘法次数为0。
  • *C、*设矩阵A i…A j连乘最少的乘法次数为c[i][j],矩阵A i…A j连乘的子问题为矩阵A i…A k连乘和矩阵A k+1…A j连乘,则最优值的递归关系式表示为 c [ i ] [ j ] = c [ i ] [ k ] + c [ k + 1 ] [ j ] + c[i][j]=c[i][k]+c[k+1][j]+ c[i][j]=c[i][k]+c[k+1][j]+p iq jq k
  • *D、*矩阵连乘问题的时间复杂度为O(n 2)

正确答案: AB 我的答案: AB


3【多选题】动态规划的基本要素是( )

  • A、重叠子问题
  • B、最优子结构性质
  • C、自底向上的求解方式
  • D、自顶向下的递归求解方式

正确答案: ABC 我的答案: ABC


4【多选题】有关0-1背包问题的跳跃点算法描述正确的是( )

  • A、跳跃点(x, c [ i ] [ x ] c[i][x] c[i][x])表示装入重量为x时,装入最大价值为 c [ i ] [ x ] c[i][x] c[i][x]
  • B、初始跳跃点为(0,0)
  • C、用p[i]描述c [ i ] [ j ] [i][j] [i][j]的跳跃点,用q[i]描述p[i-1]+(w i,v i),则p[i+1]=p[i]∪q[i],其中i=1,2,…,n
  • D、用p[i]描述c [ i ] [ j ] [i][j] [i][j]的跳跃点,用q[i]描述p[i-1]+(w i,v i),则p[i+1]=p[i]∪q[i]去掉重量不减,价值反而减少的受控点。其中i=1,2,…,n

正确答案: ABD 我的答案: ABD


5【多选题】有关工件加工顺序问题算法描述正确的是()

  • *A、*该问题的子问题:M1开始处理S集合的工件时,M2需要t时间才能停下来情况下,加工S集合中的工件总加工时间最短,可以用T(S,t)表示最短的总加工时间。
  • *B、*该问题的最短加工时间用T(S,t),则递推方程为:T(S,t)=min i∈S{t 1i+T(S-{i},max{t-t 1i,0}+t 2i)}
  • *C、*该问题的动态规划算法依据Johnson Bellman’s Rule.
  • *D、*该算法将第一台机器处理时间小于第二台机器处理时间的工件后安排加工,并按照第一台机器处理时间非降序排列的顺序加工。
  • *E、*该算法将第一台机器处理时间大于等于第二台机器处理时间的工件后安排加工,并按照第二台机器处理时间非降序排列的顺序加工。

正确答案: ABC 我的答案: ABC


6【多选题】有关动态规划描述正确的是()

  • A、动态规划将多阶段决策问题转化为单阶段决策问题。
  • B、动态规划往往用于求解某种最优性质的问题。
  • C、适用动态规划求解的问题经分解得到的各个子问题往往不是相互独立的。
  • D、动态规划求解时往往采用填表的方法记录问题最优值。
  • E、动态规划划分的各子问题与原问题相同,一般递归求解子问题。

正确答案: ABCD 我的答案: ABCD


7【多选题】有关最长公共子序列问题的动态规划算法说法正确的是( )

  • *A、*X n和Y m的代表了两个长度为n和m的字符串,求X n和Y m的最长公共子序列的子问题是:求X i和Y j的最长公共子序列,i=0,1,…n,j=0,1,…,m。
  • *B、*X i和Y j的最长公共子序列当i=0时,最长公共子序列的长度为0;j=0时,最长公共子序列的长度也为0
  • *C、*设X i和Y j的最长公共子序列的长度c[i][j],求最优值的递归关系式为: c [ i ] [ j ] = c [ i − 1 ] [ j ] ] c[i][j]=c[i-1][j]] c[i][j]=c[i1][j]]
  • *D、*设X i和Y j的最长公共子序列的长度c[i][j],求最优值的递归关系式为: c [ i ] [ j ] = c [ i − 1 ] [ j ] + 1 c[i][j]=c[i-1][j]+1 c[i][j]=c[i1][j]+1

正确答案: AB 我的答案: AB


8【多选题】有关动态规划描述正确的是( )

  • A、动态规划递归求解问题时,因为子问题的重复求解,时间复杂度较高。
  • B、动态规划往往用于求解某种最优性质的问题
  • C、适用动态规划求解的问题经分解得到的各个子问题往往不是相互独立的
  • D、动态规划求解时往往采用填表的方法记录子问题的解

正确答案: ABCD 我的答案: ABCD


9【多选题】有关矩阵连乘问题说法正确的是( )

  • *A、*矩阵A i…A j连乘, A i的行列为(p(i-1)×p i),A j的行列为(p(j-1)×p j),最后一次划分在A k,它的行列为(p(k-1)×p k),k=i,i+1,…,j,其结果矩阵的行列为(p(i-1)×p j)。
  • *B、*n个矩阵连乘A 1…A n,其子问题为A i…A j连乘,1≤i≤j≤n,其中i=j表示规模为1的子问题,其需要的乘法次数为0
  • C、设矩阵A i…A j连乘最少的乘法次数为c[i][j],矩阵A i…A j连乘的子问题为矩阵A i…A k连乘和矩阵A k+1…A j连乘,则最优值的递归关系式表示为 c [ i ] [ j ] = c [ i ] [ k ] + c [ k + 1 ] [ j ] c[i][j]=c[i][k]+c[k+1][j] c[i][j]=c[i][k]+c[k+1][j]+p i-1 p j p k
  • *D、*矩阵连乘问题的时间复杂度为O(n^2)

正确答案: AB 我的答案: AB


判断题


1【判断题】0-1背包问题的贪心法解法和动态规划解法都能够生成最优解。

正确答案:×


2【判断题】最长公共子序列问题中,如果采取穷举法,可以在序列A中子序列可能的开头和结尾(因为子序列由其开头位置和结尾位置唯一确定),然后在序列B中查找它是否存在,如果按照子序列长度降序枚举,找到的第一个公共子序列就是最长公共子序列。

正确答案:×


3【判断题】最长公共子序列问题的动态规划解法时间复杂度等于两个序列长度之积。

正确答案:


4【判断题】以动态规划求解0-1背包问题,背包容量可以是任意实数。

正确答案:×


5【判断题】0-1背包问题的动态规划解法不适合背包容量非常大()的情况。

正确答案:


6【判断题】矩阵连乘问题中有多个矩阵相乘,问题是安排矩阵相乘的先后顺序,使总乘法次数最少,例如 有[A][B]C三个矩阵,则可行的顺序有ABC\ACB\CAB\CBA\BAC\BCA六个。

正确答案:×

第五章


单选题

1 、0-1背包问题的解空间结构属于()

  • A、排列树
  • B、子集树
  • C、满n叉树
  • D、隐式图

正确答案: B 我的答案: B


2、针对0-1背包问题,采用优先队列式分支限界法,以下说法中正确的是()。

  • A、0-1背包问题的优先队列式分支限界法可以不用事先确定节点的优先级
  • B、0-1背包问题的优先队列式分支限界法必须事先确定节点的优先级,优先级由用户根据问题目标来确定,并不唯一。
  • C、0-1背包问题的优先队列式分支限界法可以选用FIFO的队列数据结构来实现
  • D、0-1背包问题的优先队列式分支限界法需要用递归来实现。

正确答案: B 我的答案: B


3、关于分支限界法的说法,错误的是()

  • A、分支限界法一般比回溯法使用更多内存空间
  • B、分支限界法分为队列式分支限界法和优先队列式分支限界法
  • C、分支限界法不能求解n皇后问题
  • D、分支限界法一般更适合求解最优化问题

正确答案: C 我的答案: A


4、有关分支限界法说法错误的是()

  • A、分支限界法和回溯法一样,都是搜索算法。
  • B、分支限界法是一种“能进则进、进不了则换、换不了则退(回溯)”的搜索方法
  • C、分支限界法是一种宽(广)度优先搜索的搜索算法
  • D、分支限界法是一种最大效益或最小费用优先搜索的搜索算法

正确答案: B 我的答案: B


5、有关n皇后问题说法错误的是()

  • A、该问题的解的形式为(x1, x2, … , xn),xi表示第i个皇后位于第i行、第xi列(i=1,2,3,…n)
  • B、该问题的初始状态为:(0,0,…,0)
  • C、该问题的解空间的组织结构可以是排列树,也可以是满n叉树。
  • D、该问题能用队列式分支限界法,也能用优先队列式分支限界法。

正确答案: D 我的答案: D


6、下述有关分支限界法搜索过程描述错误的是()

  • A、分支限界法一次性生成所有的孩子结点
  • B、只有当活结点表为空时,算法才能结束。
  • C、分支限界法舍弃导致不可行解和非最优解的结点
  • D、分支限界法把活结点插入活结点表中

正确答案: B 我的答案: B


7、比较分支限界法和回溯法,说法错误的是()

  • A、分支限界法保留下来的活结点是有可能导最优解的结点,回溯法则不是。
  • B、分支限界法与回溯法的搜索方式不同
  • C、分支限界法需要借助活结点表数据结构,而回溯法则不需要。
  • D、回溯法和分支限界法搜索之前都需要先确定搜索范围。

正确答案: A 我的答案: A


**8**、 0-1背包问题的解空间结构属于()
  • A、排列树
  • B、子集树
  • C、满n叉树
  • D、隐式图

正确答案: B 我的答案: B


9、 以下关于回溯法的说法,错误的是()

  • A、回溯法一般会将解空间组织成树形结构并按照深度优先的顺序遍历
  • B、回溯法可以适用于求所有解、某个解、最优解等各种问题
  • C、回溯法能够保证生成时间复杂度较低的算法
  • D、回溯法的编程中,有“当前搜索路径”的概念,需要保存当前路径上节点的状态

正确答案: C 我的答案: B


10、以下有关回溯法和分支限界法的描述中,错误的是()

  • A、在分支限界法中,当前扩展结点一次生成一个孩子结点
  • B、在回溯法中,当前扩展结点选择其中某一个孩子结点进行扩展。
  • C、分支限界法中,每一个活结点最多只有一次机会成为扩展结点。
  • D、回溯法中,每一个活结点有可能多次成为扩展结点

正确答案: A 我的答案: C


11、有关0-1背包问题的分支限界法说法错误的是()

  • A、0-1背包问题可以用队列式分支限界法求解
  • B、 0-1背包问题可以用优先队列式分支限界法求解。
  • C、0-1背包问题的约束条件是装入的背包重量小于等于背包容量
  • D、0-1背包问题的优先队列式分支限界法也可以不设置结点的优先级。

正确答案: D 我的答案: D


多选题

1、有关回溯法说法正确的是()

  • A、回溯法是一种深度优先搜索的搜索算法
  • B、回溯法是一种“能进则进、进不了则换、换不了则退(回溯)”的搜索方法
  • C、回溯法是一种宽(广)度优先搜索的搜索算法
  • D、回溯法是一种最大效益或最小费用优先搜索的方法

正确答案: AB 我的答案: AB


2、下述有关搜索过程描述错误的是()

  • A、当解空间结构是一棵树时,搜索从根开始
  • B、搜索过程中,正在生成孩子的节点称为扩展节点
  • C、搜索过程中,所有孩子节点均已生成的节点称为扩展节点
  • D、搜索过程中,所有孩子节点均已生成的节点称为活结点节点
  • E、搜索过程中,所有孩子节点均已生成的节点称为死节点
  • F、搜索过程动态生成的树称为搜索树

正确答案: CD 我的答案: BD


3、以下有关子集树的描述中说法正确的是()

  • A、当所给的问题是从n个元素组成的集合S中找出满足某种性质的一个子集时,相应的解空间树称为子集树。
  • B、子集树模型解的形式为n元组(x1,x2,…,xn),分量xi(i=1,2,…,n)表示第i个元素是否在子集中。
  • C、子集树模型的解向量中,分量xi的取值为0或1,xi=0表示第i个元素不在子集中;xi=1表示第i个元素在子集中。
  • D、旅行售货员问题可以用子集树模型求解
  • E、最优装载问题可以采用子集树模型求解
  • F、0-1背包问题可以采用子集树模型求解

正确答案: ABCEF 我的答案: ABCEF


4、有关下图说法正确的是()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yew78YaD-1653320880382)(img/68ab34bbf1c03da2c5cfd195fbd6b5bd.png)]

  • A、该树表示的问题的规模为3
  • B、该树为一棵排列树
  • C、该树表示的问题规模为4
  • D、该树为一棵子集树

正确答案: AB 我的答案: AB


5、以下有关子集树的描述中说法正确的是()

  • A、当所给的问题是从n个元素组成的集合S中找出满足某种性质的一个子集时,相应的解空间树称为子集树。
  • B、子集树模型解的形式为n元组(x1,x2,…,xn),分量xi(i=1,2,…,n)表示第i个元素是否在子集中。
  • C、子集树模型的解向量中,分量xi的取值为0或1,xi=0表示第i个元素不在子集中;xi=1表示第i个元素在子集中。
  • D、旅行售货员问题可以开用子集树模型求解

正确答案: ABC 我的答案: ABC


6、下述有关分支限界法搜索过程描述正确的是()

  • A、当解空间结构是一棵树时,搜索从根开始
  • B、搜索过程中,扩展结点一次性生成所有的孩子结点
  • C、搜索过程中,舍弃导致不可行解和非最优解的结点
  • D、搜索过程中,保留下来的孩子结点是可能导致可行解或最优解的结点
  • E、搜索过程中,保留下来的孩子结点是活结点,被插入活结点表中。
  • F、当活结点表为空时或找到所需要的解时,算法结束。

正确答案: ABCDEF 我的答案: ABCDEF


7、有关分支限界法说法正确的是()

  • A、分支限界法是一种深度优先搜索的搜索算法
  • B、分支限界法是一种“能进则进、进不了则换、换不了则退(回溯)”的搜索方法
  • C、分支限界法是一种宽(广)度优先搜索的搜索算法
  • D、分支限界法是一种最大效益或最小费用优先搜索的搜索算法

正确答案: CD 我的答案: CD


8、有关n皇后问题说法正确的是()

  • A、该问题的解的形式为(x1, x2, … , xn),xi表示第i个皇后位于第i行、第xi列(i=1,2,3,…n)
  • B、该问题的初始状态为:(0,0,…,0)
  • C、该问题的解空间的组织结构可以是排列树,也可以是满n叉树。
  • D、该问题能用回溯法求解
  • E、该问题解向量中的任意两个分量xi,xj满足:xi≠xj且|i-j|≠|xi-xj|

正确答案: ABCDE 我的答案: ABCDE


**9**、 以下描述中,影响回溯法的搜索效率的是()
  • A、问题的解空间,即搜索范围
  • B、设定的约束函数和限界函数
  • C、搜索方法
  • D、满足约束条件和限界条件的节点数目

正确答案: ABD 我的答案: ABD


10、有关0-1背包问题说法正确的是()

  • A、该问题的解的形式为(x1, x2, … , xn),xi(i=1,2,3,…n)的取值为0或1
  • B、该问题的解空间的组织结构可以是排列树。
  • C、该问题需要设置约束条件,也可以设置限界条件
  • D、该问题只需要设置约束条件,不需要限界条件

正确答案: AC 我的答案: AC


11、有关批处理作业调度问题说法正确的是()

  • A、该问题的解形式为(x1,x2,…,xn),xi取值范围为:令S={1,2,…,n},则xi∈S-{x1,x2,…,xi-1},i=1,2,…,n
  • B、该问题的解空间的组织结构是排列树。
  • C、该问题需要设置约束条件,不需要限界条件。
  • D、该问题不需要设置约束条件,只需要限界条件。
  • E、该问题既需要设置约束条件,也需要限界条件。

正确答案: ABD 我的答案: ABD


12、有关0-1背包问题的分支限界法说法正确的是()

  • A、0-1背包问题可以用队列式分支限界法
  • B、0-1背包问题可以用优先队列式分支限界法。
  • C、0-1背包问题的约束条件是装入的背包重量小于等于背包容量
  • D、0-1背包问题的限界条件可以是当前已装入背包的价值加上剩余物品的总价值大于当前找到的最大价值。
  • E、0-1背包问题的限界条件可以是当前已装入背包的价值加上剩余物品装入剩余空间装入的最大价值大于当前找到的最大价值。
  • F、0-1背包问题的优先队列式分支限界法也可以不设置结点的优先级。

正确答案: ABCDE 我的答案: ABCDE


**13**、以下有关回溯法和分支限界法的描述中,正确的是()
  • A、回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解。
  • B、回溯法以宽度优先或以最小耗费(最大效益)优先的方式搜索解空间树,而分支限界法则以深度优先的方式搜索解空间树。
  • C、在分支限界法中,当前扩展结点一次性生成所有的孩子结点。
  • D、在回溯法中,当前扩展结点选择其中某一个孩子结点进行扩展。
  • E、回溯法中,每一个活结点最多只有一次机会成为扩展结点。
  • F、分支限界法中,每一个活结点有可能多次成为扩展结点

正确答案: ACD 我的答案: ACD


14、比较分支限界法和回溯法,两者的不同是()

  • A、在一般情况下,分支限界法与回溯法的求解目标不同
  • B、分支限界法与回溯法的搜索方式不同
  • C、分支限界法需要借助活结点表数据结构,而回溯法则不需要。
  • D、扩展结点的扩展方式不同。
  • E、回溯法需要确定搜索范围,分支限界法则不需要。
  • F、分支限界法保留下来的活结点是有可能导致可行解或最优解的结点,回溯法则不是。

正确答案: ABCD 我的答案: ABCD


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值