下列关于算法的说法中正确的个数是( )
①求解某一类问题的算法是唯一的;
②算法必须在有限步操作之后停止;
③算法的每一步操作必须是明确的,不能有歧义或模糊;
④算法执行后一定产生确定的结果.
A、1 B、2 C、3 D、4
选C,②③④正确。
算法分析中,记号O表示(B),记号Ω标售(A),记号Θ表示(D)
A 渐进下界 B 渐进上界 C 非紧上界 D 紧渐进界 E 非紧下界
渐近上界记号O
渐近下界记号Ω
非紧上界记号o
非紧下界记号w
紧渐近界记号Θ
以下关于渐进记号的性质是正确的有:(A)
A f(n) =Θ(g(n)),g(n) =Θ(h(n)) ⇒f(n) =Θ(h(n))
B f(n) =O(g(n)),g(n) =O(h(n)) ⇒h(n) =O(f(n))
C O(f(n))+O(g(n)) = O(min{f(n),g(n)})
D f(n) = O(g(n)) ⇔g(n) = O(f(n))
记号O的定义正确的是(A)。
A O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ f(n) ≤ cg(n) };
B O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ cg(n) ≤ f(n) };
C O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤f(n) D O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤cg(n) < f(n) }; 记号Ω的定义正确的是(B)。 A O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ f(n) ≤ cg(n) }; B O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤ cg(n) ≤ f(n) }; C (g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤f(n) D (g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0有:0 ≤cg(n) < f(n) }; 渐近下界记号Ω T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是( C ) A T(n)= T(n – 1)+1,T(1)=1 B T(n)= 2n^2 C T(n)= T(n/2)+1,T(1)=1 D T(n)= 3nlog2n T(n)=T(n/2)+1 T(n)=T(n/2)+n T(n)=2T(n/2)+n 动态规划算法的基本要素为(C) A 最优子结构性质与贪心选择性质 B 重叠子问题性质与贪心选择性质 C 最优子结构性质与重叠子问题性质 D 预排序与递归调用 下列不是动态规划算法基本步骤的是( A )。 A 找出最优解的性质 B 构造最优解 C 算出最优解 D 定义最优解 能采用贪心算法求最优解的问题,一般具有的重要性质为:(A) A 最优子结构性质与贪心选择性质 B 重叠子问题性质与贪心选择性质 C 最优子结构性质与重叠子问题性质 D 预排序与递归调用 下面是贪心算法的基本要素的是( C )。 A 重叠子问题 B 构造最优解 C 贪心选择性质 D 定义最优解 ( D )是贪心算法与动态规划算法的共同点。 A 重叠子问题 B 构造最优解 C 贪心选择性质 D 最优子结构性质 使用分治法求解不需要满足的条件是(A )。 A 子问题必须是一样的 B 子问题不能够重复 C 子问题的解可以合并 D 原问题和子问题使用相同的方法解 实现循环赛日程表利用的算法是( A )。 A 分治策略 B 动态规划法 C 贪心法 D 回溯法 下列算法中不能解决0/1背包问题的是(A ) A 贪心法 B 动态规划 C 回溯法 D 分支限界法 以下( C )不能不能在线性时间完成排序 A 计数排序 B 基数排序 C 堆排序 D 桶排序 下列算法中通常以自底向上的方式求解最优解( B )。 A 分治法 B 动态规划法 C 贪心法 D 回溯法 n个人拎着水桶在一个水龙头前面排队打水,水桶有大有小,水桶必须打满水,水流恒定。如下 ( A ) 说法不正确? A 让水桶大的人先打水,可以使得每个人排队时间之和最小 B 让水桶小的人先打水,可以使得每个人排队时间之和最小 C 让水桶小的人先打水,在某个确定的时间t内,可以让尽可能多的人打上水 D 若要在尽可能短的时间内,n个人都打完水,按照什么顺序其实都一样 哈弗曼编码的贪心算法所需的计算时间为 ( B )。 A O(n2n) B O(nlogn) C O(2n) D O(n) 背包问题贪心算法所需的计算时间为( B ) A O(n2n)\ B O(nlogn) C O(2n) D O(n) 背包问题的回溯算法所需的计算时间为( A ) A O(n2n) B O(nlogn) C O(2n) D O(n) **采用最大效益优先搜索方式的算法是( A ) ** A 分支界限法 B 动态规划法 C 贪心法 D 回溯法 ** 在棋盘覆盖问题中,对于2k×2k的特殊棋盘(有一个特殊方块),所需的L型骨牌的个数是 ( A )** A ( 4k – 1)/3 B 2k /3 C 4k D 2k 实现大整数的乘法是利用的算法( C )。 A 贪心法 B 动态规划法 C 分治策略 D 回溯法 一。选择题 1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树 6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、下列随机算法中运行时有时候成功有时候失败的是(C ) 11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先 12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13.备忘录方法是那种算法的变形。( B ) A、分治法 B、动态规划法 C、贪心法 D、回溯法 14.哈弗曼编码的贪心算法所需的计算时间为( B )。 A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 15.分支限界法解最大团问题时,活结点表的组织形式是( B )。 A、最小堆 B、最大堆 C、栈 D、数组 16.最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 17.实现棋盘覆盖算法利用的算法是( A )。 A、分治法 B、动态规划法 C、贪心法 D、回溯法 18.下面是贪心算法的基本要素的是( C )。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、定义最优解 19.回溯法的效率不依赖于下列哪些因素( D ) A.满足显约束的值的个数 B. 计算约束函数的时间 C. 计算限界函数的时间 D. 确定解空间的时间 20.下面哪种函数是回溯法中为避免无效搜索采取的策略( B ) A.递归函数 B.剪枝函数 C。随机数函数 D.搜索函数 21、下面关于NP问题说法正确的是(B ) 22、蒙特卡罗算法是( B )的一种。 A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法 23.下列哪一种算法不是随机化算法( C ) A. 蒙特卡罗算法B. 拉斯维加斯算法C.动态规划算法D.舍伍德算法 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、最优子结构性质 A、分支界限算法 B、动态规划算法 C、贪心算法 D、回溯算法 A、最小堆 B、最大堆 C、栈 D、数组 27、Strassen矩阵乘法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 29、使用分治法求解不需要满足的条件是(A )。 33、下列随机算法中运行时有时候成功有时候失败的是(C ) A、分治策略 B、动态规划法 C、贪心法 D、回溯法 35.下列是动态规划算法基本要素的是( D )。 A、定义最优解 B、构造最优解 C、算出最优解 D、子问题重叠性质 36.下列算法中通常以自底向下的方式求解最优解的是( B )。 A、分治法 B、动态规划法 C、贪心法 D、回溯法 37.采用广度优先策略搜索的算法是( A )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 38、合并排序算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 39、在下列算法中得到的解未必正确的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 40、背包问题的贪心算法所需的计算时间为( B ) A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 41.实现大整数的乘法是利用的算法( C )。 A、贪心法 B、动态规划法 C、分治策略 D、回溯法 42.0-1背包问题的回溯算法所需的计算时间为( A ) A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 43.采用最大效益优先搜索方式的算法是( A )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 44.贪心算法与动态规划算法的主要区别是( B )。 A、最优子结构 B、贪心选择性质 C、构造最优解 D、定义最优解 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 46.优先队列式分支限界法选取扩展结点的原则是( C )。 A、先进先出 B、后进先出 C、结点的优先级 D、随机 47.背包问题的贪心算法所需的计算时间为( B )。 A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 48、广度优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 49、舍伍德算法是( B )的一种。 A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法 50、在下列算法中有时找不到问题解的是( B )。 A、蒙特卡罗算法 B、拉斯维加斯算法 C、舍伍德算法 D、数值概率算法 51下列哪一种算法是随机化算法( D ) A. 贪心算法B. 回溯法C.动态规划算法D.舍伍德算法 A、重叠子问题 B、最优子结构性质 C、贪心选择性质 D、定义最优解 53.采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算法的时间复杂度为 ( B ) 。 A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) A、分支界限算法 B、概率算法 C、贪心算法 D、回溯算法 A、分治策略 B、动态规划法 C、贪心法 D、回溯法
相当于O(N)
相当于O(N^2)
相当于O(logN)
相当于O(NlogN)
T(n)=T(n/2)+1=T(n/4)+2=T(n/8)+3=…
=T(n/2(log2n+1))+log2n
O(logN)
T(n)=T(n/2)+n=T(n/4)+n/2+n=T(n/8)+n/4+n/2+n=…
=T(1)+2n
O(N)
T(n)=2T(n/2)+n=4T(n/4)+2n=8T(n/8)+3n=…
=nT(1)+log2n
O(NlogN)
A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短
8、以下不可以使用分治法求解的是(D )。
A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题
9. 实现循环赛日程表利用的算法是( A )。
A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法
A NP问题都是不可能解决的问题
B P类问题包含在NP类问题中
C NP完全问题是P类问题的子集
D NP类问题包含在P类问题中
A 子问题必须是一样的
B 子问题不能够重复
C 子问题的解可以合并
D 原问题和子问题使用相同的方法解
30、下面问题(B )不能使用贪心法解决。
A 单源最短路径问题 B N皇后问题
C 最小花费生成树问题 D 背包问题
31、下列算法中不能解决0/1背包问题的是(A )
A 贪心法 B 动态规划 C 回溯法 D 分支限界法
32、回溯法搜索状态空间树是按照(C )的顺序。
A 中序遍历 B 广度优先遍历 C 深度优先遍历 D 层次优先遍历
A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法
34.实现合并排序利用的算法是( A )。