算法设计复习题

一、选择

1.算法要对异常情况进行适当的处理,就是算法的()。
A、正确性
B、可用性
C、健壮性
D、可行性

2.( )指的是算法中描述的操作都可以通过已经实现的基本操作运算有限次实现。
A、可靠性
B、正确性
C、有效性
D、可行性

3.算法的( )指的是对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行。
A. 确定性 B、有穷性 C、健壮性 D、可行性

4、( )指的是算法中描述的操作都可以通过已经实现的基本操作运算有限次实现。
A.正确性 B.可用性 C.健壮性 D.可行性

5、当上下限表达式相等时,我们使用下列哪种表示法来描述算法代价?( )
A.大O表示法 B.大Ω表示法
C.Θ表示法 D.小o表示法

6、对于下列各组f(n)和g(n),下面( )答案满足f(n)=O(g(n))。
A. f(n)=logn2,g(n)=√n B. f(n)=n2, g(n)=3nlogn
C. f(n)= 2n ,g(n)= n2log3n D. f(n)=n, g(n)= logn3

7、对于下列各组f(n)和g(n),下面( )答案满足f(n)=O(g(n))。
A. f(n)=2n ,g(n)= n2log3n B. f(n)=n+2nlog2n, g(n)=n √n
C. f(n)=n! ,g(n)= 5n D. f(n)=10nlogn, g(n)=50nloglogn

8、对于下列各组f(n)和g(n),下面( )答案满足f(n)=O(g(n))。
A. f(n)=n2/2+3n,g(n)=2n+3 B. f(n)=n2, g(n)=n+2logn
C. f(n)= log3n ,g(n)= 3nlog3n D. f(n)=n, g(n)= logn2

9、KMP算法中,设模式T=“abaabca”,则next[5](下标从0开始)值为( )。
A. 2 B. 0 C. 1 D. -1

10、在棋盘覆盖问题中,对于2k×2k的特殊棋盘(有一个特殊方块),所需的L型骨牌的个数是( )。
A. (4k-1)/3 B. 2k/3 C. 4k D. 2k

11、( )不是利用减治策略实现的算法。
A. 折半查找 B. 堆排序 C. 选择排序 D. 直接插入排序

12、解决问题是按一定顺序(从前向后或从后向前等)、一定的策略,只需考虑当前局部信息就能做出决策,即所谓局部最优就是全局最优。
A. 回溯法 B. 动态规划法 C. 贪心算法 D. 限界剪枝法

13、设有10个活动等待安排,其中每个活动都要求使用同一场地,而在同一时间内只有一个活动能用这一场地。每个活动i要求使用该资源的起始时间si和结束时间fi 如下表所示,该场地最多能安排( )个活动。
在这里插入图片描述

A. 3 B. 4 C. 5 D.6

14、对于含有n个元素的排列树问题,最坏情况下其解空间的叶结点数目为( )。
A. O(n2) B. O(n3) C. O(2n) D. O(n!)

15、关于回溯算法和限界剪枝法,以下( )是不正确描述。
A. 回溯法中,每个活结点只有一次机会成为扩展结点
B. 限界剪枝法中,活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,那些导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子加入活点表中
C. 回潮法采用深度优先的结点生成策略
D. 分支限界法采用广度优先或最小耗费优先(最大效益优先)的结点生成策略

16、给定两个字符串A和B,A是B的一个子串吗?( )
计算问题 B. 判定问题 C. 复杂问题 D. 简单问题

17、使用分治法求解不需要满足的条件是( ) 。
A. 子问题必须是一样的 B. 子问题不能够重复
C. 子问题的解可以合并 D. 原问题和子问题使用相同的方法解

18、应用减治技术实现选择问题的算法的平均时间性能为( )。
A. O(log2n) B. O(n) C. O(nlog2n) D. O(n2)

19、折半算法是利用( )实现的算法。
A. 减治策略 B. 蛮力法 C. 分治法 D. 贪心法

20、下列算法中通常以自底向上的方式求解最优解的是( )。
A. 蛮力法 B. 动态规划法 C. 贪心法 D. 回溯法

21、贪心算法与动态规划算法的主要区别是( )。
A. 最优子结构性质 B. 构造最优解
C. 贪心选择性质 D. 定义最优解

22、以下不是使用贪心法求解的是( )。
最小生成树问题 B.背包排序
C. 0-1背包问题 D.活动安排问题

23、用回溯法求解TSP问题的解空间树是( )。
A.排列树 B.子集树 C.红黑树 D.竞赛树

24、动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,主要差别()。
A、 子问题是否容易计算
B、 问题能否递归解决
C、 子问题是否相互独立
D、 是自顶向下还是自底向上解决问题

25、常见的两种分支限界法为( )
A. 广度优先分支限界法与深度优先分支限界法;
B. 队列式(FIFO)分支限界法与堆栈式分支限界法;
C. 排列树法与子集树法;
D. 队列式(FIFO)分支限界法与优先队列式分支限界法

26、算法的时间复杂度取决于( )。
A.问题的规模 B.待处理数据的初态
计算机的配置 D.A和B

27、回溯法搜索状态空间树是按照( )的顺序。
中序遍历 B.广度优先遍历 C.深度优先遍历 D.层次优先遍历

28、在回溯法中,一个正在产生儿子的结点称为()。
A、 死结点
B、 扩展结点
C、 活结点
D、叶结点

29、对于含有n个元素的子集树问题,最坏情况下其解空间的叶结点数目为( )。
A. O(n2) B. O(n3) C. O(2n) D. O(n!)

30、当所给的问题是确定n个元素满足某种性质的排列时,相应的解空间树称为排列树。排列树问题复杂性通常是()。
A、 O(n)
B、 O(n2)
C、 O(2n)
D、 O(n!)
31、求解稠密图的最小生成树适合用( )算法。
Dijkstra B.Floyed C.Prim D.Kruskal

32、用贪心算法求解活动安排问题的策略是( )。
A.最早开始时间 B.最早结束时间
活动用时时间最短 D.活动用时时间最长

33、汽车加油问题:一辆汽车加满油后可行驶nkm。旅途中有若干加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。这个问题可以采用贪心方法求解,贪心选择策略是()。
A、 最近加油站优先
B、 最远加油站优先
C、 第一个加油站优先
中间加油站优先

34、 “一个问题是实际可计算的当且仅当它在图灵机上经过多项式步骤得到正确结果”,此论题称为( )。
A.图灵论题 B. NP问题
C. Cook论题 D. NPC问题

35、以下不属于NPC问题的是( )。
A.哈密顿回路问题 B. TSP问题
C. 汉诺塔问题 D.图着色问题

36、设M是定义一个判定问题的语言,如果NP中的每个语言都可以以多项式时间归约为M,则称M是( )。
A、 复杂类P
B、 复杂类NP
C、 NP难
D NPC

37、如果一个语言M是NP难的,同时属于NP类本身,则称M是( )。
A、 复杂类P
B、 复杂类NP
C、 NPC
D、 复杂问题

38、TSP问题的解空间树是( )。
A. 二叉排序树 B. 子集树 C. 排列树 D. 完全二叉树

39、以下是使用分治法求解的是( )。
A. 冒泡排序 B. 快速排序
C. 堆排序 D. 选择排序

40、下列( )问题不能用贪心法求解。
A. 霍夫曼编码问题 B. 单源最短路径问题
C. n皇后问题 D. 最小生成树问题

41、下列( )的搜索空间树为子集树。
A. 四皇后问题 B. TSP问题
C. 0-1背包问题 D. 批处理作业调度问题

42、分枝限界法在问题的解空间树中按( )策略,从根结点出发搜索解空间树。
A. 广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先

43、关于回溯法以下叙述中不正确的是( )。
A. 回溯法有“通用解题法”之称,它可以系统地搜索一个问题的所有解或任意解
B. 回溯法是一种既带系统性又带跳跃性的搜索算法
C. 回溯法需要借助队列这种结构来保存从根结点到当前扩展结点的路径
D. 回溯法在生成解空间的任一结点时先判断该结点是否可能包含问题的解,如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向祖先结点回溯

44、优先队列通常用以下( )数据结构来实现。
A.栈 B.堆 C.队列 D.二叉查找树

45、下列( )不属于NP类题。
A.TSP问题 B. 背包问题 C. 汉诺塔问题 D. 图的顶点覆盖问题

46、以多项式时间复杂性作为分界线将可计算问题分为易解问题和难解问题的是( )。

A.Turing论题 B. Cook论题 C. NP问题 D. NPC问题

二、判断题

1、算法要对异常情况进行适当的处理,就是算法的健壮性。
2、一个算法的时间用O符号表示时,总是采用最有价值的g(n)表示,称之为“紧凑下界”或“紧确下界”。
3、问题的计算时间下界为Ω(f(n)),则计算时间复杂性为O(f(n))的算法是最优算法。
4、算法分析是分析算法占用计算机资源的情况,即分析算法的时间复杂度。
5、算法是把人类找到的求解问题的方法,用算法要素过程化、形式化、机械化地表示出来。
6、设n为算法中的问题规模,通常用渐进符号Ω表示算法的执行时间与n之间的一种增长关系。
7、一个算法的时间用Ω符号表示时,总是采用最有价值的g(n)表示,称之为“紧凑下界”或“紧确下界”。
8、若c是正常数,则O(cf(n))=O(f(n))
9、实现分治策略的算法时,只能采用递归函数。
10、分治策略将求出的小规模的问题的解合并为一个更大规模的问题的解,自顶向下逐步求解原来问题。
11、折半查找、堆排序、假币问题等算法中均采用了减治策略。
12、要证明一个问题不能用贪心策略去解,一个简单方法就是对假设的贪心选择性质找出一个反例。

13、贪心算法不能对所有问题都得到整体最优解,所以,这类算法只有理论价值、没有实际意义。
14、一般而言,当一个问题的所有子问题都至少要解一次时,用动态规划算法比用备忘录方法好。
15、动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,主要差别是问题能否递归解决。
16、回溯法常用剪枝函数来减少对解空间树的搜索,剪枝函数包括约束函数和限界函数。
17、回溯法与图的深度优先遍历在实现上都是遵循深度优先,对已经访问过的顶点不再访问,所有顶点仅访问一次。
18、问题的解空间一般用树形式来组织,也称为解空间树。采用分支限界法时,通常要构造出解空间树,以便有效检索。
19、最优性原理指出,过程的最优序列有如下性质:无论过程的初始状态和初始决策是什么,决策都必须相对于初始决策所产生的状态构成一个最优决策序列。
20、回溯法适用于判定问题,但不适合优化问题。
21、动态规划法通常利用问题的最优子结构性质,以自顶向下的方式递归地从子问题的最优解逐步构造出整个问题的最优解。
22、回溯法中,一旦一个成为扩展结点,就无法再成为扩展结点。
23、在优先队列式分支限界法中,一旦有一个叶结点成为当前扩展结点,则可以断言该叶结点所相应的解即为最优解。此时可终止算法。
24、分支限界法的求解目标是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。

25、在优先队列式分支限界法中,一旦有一个叶结点成为当前扩展结点,则可以断言该叶结点所相应的解即为最优解。此时可终止算法。
26、堆的形状是一棵满二叉树。
27、利用分支限界法设计算法时,设计者已经用大脑自己构造好了问题的解空间,因此可以自底向上的递推方式求解。
28、尽管求解目标不同,分支界限法与回溯法在解空间树上的搜索方式类似,可以是深度优先或者广度优先。
29、动态规划法在搜索过程中根据一定规则自动构造并搜索解空间树,进而求解。
30、复杂类NP问题不确定是否存在多项式时间求解算法,但确定存在多项式时间验证算法。
31、一个语言L可以在多项式时间确定地验证当且仅当L可以在多项式时间内被确定地接受。

三、应用题

1.堆

1、判断(52,49,80,36,14,97,23,75)是否为堆?如果不是,请画出将其调整为大根堆的过程。
在这里插入图片描述
在这里插入图片描述

2.贪心算法

2、用贪心法求解如下背包问题的最优解:有6个物品,重量分别为(5,3,2,10,4,2),价值分别为(9,5,8,20,12,10),背包容量为20。写出求解过程。
在这里插入图片描述

3.动态规划

3、用动态规划法求两个字符串A=“acdfggh”和B=“cegdhgh”的最长公共子序列。写出求解过程。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.三着色问题

4、对于如图所示的无向图G,利用回溯法求解三着色问题。要求画出搜索空间树,并给出一个可行解。
在这里插入图片描述
在这里插入图片描述

5.分支界限法

5、应用分支限界法求解0-1背包问题:有4个物品,重量分别为(6,5,4,2),价值分别为(48,30,22,10),背包容量W=12。请写出在解空间树上的搜索过程。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows下docker环境安装

开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术,在控制面板,启用 window 功能,找到 Hyper-V 选项,点勾选确认。如图: Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…

FFmpeg之AVHWAccel

这也是ffmpeg解码器中比较重要的一个模块,很多人认识它应该是通过一条命令 ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:v h264_nvenc -b:v 5M output.mp4命令地址:英伟达ffmpeg 大家可能觉得这就是nvcodec了,后来发…

PS不按比例裁剪图片

点击左侧的裁剪工具后,然后点击底部工具栏中的清除选项。

【docker】容器使用(Nginx 示例)

查看 Docker 客户端命令选项 docker上面这三张图都是 常用命令: run 从映像创建并运行新容器exec 在运行的容器中执行命令ps 列出容器build 从Dockerfile构建映像pull 从注册表下载图像push 将图像上载到注册表…

【51单片机】俄罗斯方块游戏-LED点阵

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用51单片机控制器,使88LED点阵,按键等。 主要功能: 系统运行后,88LED点阵显示游戏界面,K1和K2键控制左右移动,K3和K4键控制…

【产品经理】产品的实现,需要做好战略规划

产品的实现需要做好产品规划,而产品的规划决定了产品的方向。本文从战略规划的重要性、产品定位、设计产品架构图三个方向,详细地为大家梳理了产品实现的前期准备。 我们知晓了如何去发掘问题,并找到解决方案。 可对于问题的处理&#xff0c…

Qt Desktop Widgets 控件绘图原理逐步分析拆解

Qt 是目前C语言首选的框架库。之所以称为框架库而不单单是GUI库,是因为Qt提供了远远超过GUI的功能封装,即使不使用GUI的后台服务,也可以用Qt大大提高跨平台的能力。 仅就界面来说,Qt 保持各个平台绘图等效果的统一,并…

diffusers pipeline拆解:理解pipelines、models和schedulers

diffusers pipeline拆解:理解pipelines、models和schedulers 翻译自:https://huggingface.co/docs/diffusers/using-diffusers/write_own_pipeline v0.24.0 diffusers 设计初衷就是作为一个简单且易用的工具包,来帮助你在自己的使用场景中构建…

ftp传海量文件会卡?跨境数据传输推荐使用FTP吗?

企业在传输大量文件时,经常会遇到FTP卡顿的问题,尽管采取多种方式仍无法完美解决,尤其是在跨境数据传输方面。对于紧急项目而言,文件数据无法及时同步可能导致任务无法按时完成。在传输速度方面,甚至可能出现每秒几KB的…

Jmeter入门

一、下载jmeter 官网下载 下载之后解压,在目录/bin下面找到jmeter.bat双击之后即可启动Jmeter。 二、使用 如下左图,选择语言为中文,可以修改测试计划的名称。如下右图,添加线程组 添加线程组 添加http请求 路径传参方式 …

Morphisec革命:利用移动目标防御增强Windows安全性

来源:艾特保IT 虹科分享 | Morphisec革命:利用移动目标防御增强Windows安全性 原文链接:虹科分享 | Morphisec革命:利用移动目标防御增强Windows安全性 欢迎关注虹科,为您提供最新资讯! Windows 10安全工…

js中分号产生的问题详解,第一次出现分号导致的问题的记录

图示: 现在 这段代码本来是两行,但是格式化后注意下面一行缩进了,代表按一行解析了, 结果: 加上分号后再格式化就自动对齐了,代表按两行解析. 要是按照没有分号进行解析是怎样的? GPT回答: 这段代码是一行 JavaScript 代码,涉及到了 JSON 对象、条件语句和跳转页面…

深入理解RBAC权限系统

最近,一位朋友在面试中被问及如何设计一个权限系统。我们注意到目前许多后台管理系统(包括一些热门的如若依快速开发平台)都采用了RBAC访问控制策略。该策略通过将权限授予角色,然后将角色分配给用户,从而实现对系统资…

推荐一个FL Studio最适配的midi键盘?

Hello大家好!好消息!好消息!特大好消息! 水果党们!终于有属于自己的专用MIDI键盘啦! 万众期待的Novation FLKEY系列 正式出炉! 做编曲和音乐制作的朋友们,对水果软件FLSTUDIO应该…

mysql开启查询日志

mysql默认不开启查询日志,可以通过命令查询 show VARIABLES LIKE general%; 开启查询日志,并更改日志存放目录,不过存放的目录一定要有权限不然会报错 手动创建一下log目录下的mysql目录并赋予权限 mkdir /var/log/mysql chown -R mysql:m…

在vue3的js中将一组数据赋值的问题

代码: if (res.data) { myPrizeList.value res.data console.log(myPrizeList.value,myPrizeList.value) const giftList ref() console.log(JSON.parse(JSON.stringify(myPrizeList.val…

【计算机网络】URL概念及组成

目录 一、什么是URL 二、URL格式 示例: 1. Scheme(协议): 2. Host(主机): 3. Port(端口): 4. Path(路径): 5. Quer…

二叉树--基础OJ

1.对称二叉树 题目链接:101. 对称二叉树 - 力扣(LeetCode) 题解: 我们可以用递归的方法去做: 如果两个树互为镜像(1.根节点的值相同,2.左子树的值与右子树的值对称)则为对称二叉树&a…

Vue--第八天

Vue3 1.优点&#xff1a; 2.创建&#xff1a; 3.文件&#xff1a; 换运行插件&#xff1a; 4.运行&#xff1a; setup函数&#xff1a; setup函数中获取不到this&#xff08;this 在定义的时候是Undefined) reactive()和ref(): 代码&#xff1a; <script setup> // …

数字孪生技术的应用场景

数字孪生技术具有广泛的应用场景&#xff0c;涉及多个行业和领域。以下是一些数字孪生的常见应用场景&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.制造业优化&#xff1a; 数字孪生可用于建模和…