算法设计复习题

news2024/12/26 23:29:00

一、选择

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.coloradmin.cn/o/1304393.html

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

相关文章

什么是shell?

系统内核是操作系统的基本组成部分,它负责管理系统的硬件和软件资源,并提供一组基本的系统服务。内核是操作系统的核心,控制着计算机的所有主要功能,包括内存管理、进程管理、设备驱动程序、系统调用和安全防护等。内核在计算机中…

python实战教学之python版“张万森,好久不见”

前言 WINTER IS COMING 最近《一闪一闪亮星星》的电影在火热预售中,家人们抢到票了嘛,前两天小编写了一篇“张万森,下雪了”的文章后,收到了不少小伙伴的反馈:“代码的运行结果只有文字,没有雪花啊”&#…

腾讯-轻量应用服务器centos7中宝塔安装MySQL8.0出现内存不足

目录 前言 出现的问题: 解决方法: 编译安装: 极速安装 其他 我的其他博客 前言 说实话,本人也就是个穷学生买不起啥大的服务器啥的,整了个2核 2内存的服务器 用宝塔按mysql5.5是没问题的,一切换8.0就提醒内存不足…

【NLP】RAG 应用中的调优策略

​ 检索增强生成应用程序的调优策略 没有一种放之四海而皆准的算法能够最好地解决所有问题。 本文通过数据科学家的视角审视检索增强生成(RAG)管道。它讨论了您可以尝试提高 RAG 管道性能的潜在“超参数”。与深度学习中的实验类似,例如&am…

OpenAI 在中国申请 GPT-6、GPT-7 商标;Google 推迟发布 OpenAI 竞品 Gemini 至明年 1 月【无际Ai资讯】

天眼查 app 显示,近日,欧爱运营有限责任公司(OPENAI OPCO,LLC)申请多枚「GPT-6」「GPT-7」商标,国际分类为科学仪器、网站服务,当前商标状态均为等待实质审查。 此前 OpenAI CEO Sam Altman 在接…

若依源码分析

一.登录 1.1 生成验证码 基本思路 后端生成一个表达式,74?11 74?转成图片,传到前端进行展示 将结果11存入redis 前端代码实现: 请求后端地址:http://localhost/dev-api/captchaImage,通过反向代理解决前后端跨域问题,将请求路径变为:http://localhost:8080/captchaImag…

音频接口芯片GC8416,GC1809,GC8418的芯片描述与比较分析

GC8416 192KHZ数字音频接收芯片 工作电流在32~192之间,可替代CS8416/CIRRUS LOGIC GC1809,GC8418都是24位,192KHZ音频接收芯片 工作电流最高可达192 可替代MS8413

大数据驱动下的人口普查:新时代下的新变革

人口普查数据大屏,是指一种通过大屏幕显示人口普查数据的设备,可以将人口普查数据以可视化的形式呈现出来,为决策者提供直观、准确的人口数据。这种大屏幕的出现,让人口普查数据的利用变得更加高效、便捷。 如果您需要制作一张直观…

Redis7--基础篇8(集群cluster)

1. 集群(cluster)介绍 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集 的一部分,这就是Redis的集群,其作用是提供在多个…

Android工程怎么调用C/C++代码(保姆级别,每一步截图+讲解)?

文章目录 背景新建工程拷贝/编写C/C代码编写CMake配置文件写Java代码加载动态/静态库java转换c,c转javanative层打印日志Android去调用Java层的native方法对外提供.so/.a库 jar包检查APK里面是否已经被正常包含.so/.a完成 背景 突然想起做了这么久的JNI开发&#…

(新手必看)自定义数据传输通信协议+STM32代码详解

前言 本篇博客主要学习和了解一些单片机协议的格式,在对传输大数据或者要求准确性的时候,都需要通过协议来发送接收,下面通过了解协议的基本构成和代码来分析和实现协议的发送和接收。本篇博客大部分是自己收集和整理,如有侵权请联…

图的搜索(二):贝尔曼-福特算法、狄克斯特拉算法和A*算法

图的搜索(二):贝尔曼-福特算法、狄克斯特拉算法和A*算法 贝尔曼-福特算法 贝尔曼-福特(Bellman-Ford)算法是一种在图中求解最短路径问题的算法。最短路径问题就是在加权图指定了起点和终点的前提下,寻找从…

【教3妹学编程-算法题】下一个更大元素 IV

3妹:“太阳当空照,花儿对我笑,小鸟说早早早,你为什么背上炸药包” 2哥 :3妹,什么事呀这么开发。 3妹:2哥你看今天的天气多好啊,阳光明媚、万里无云、秋高气爽,适合秋游。 2哥&#x…

计算机网络:应用层(一)

我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

STM32单片机项目实例:基于TouchGFX的智能手表设计(4)LPBAM的应用

STM32单片机项目实例:基于TouchGFX的智能手表设计(4)LPBAM的应用 目录 一、概述 二、LPBAM简介 2.1 支持 LPBAM 的外设 三、LPBAM硬件机制 3.1 电源和时钟架构 3.2 速度限制 3.3 LPGPIO_IOToggle实验 一、概述 STM32U5 系列微控制器基…

星际飞船大战

欢迎来到程序小院 星际飞船大战 玩法:滑动鼠标控制方向,点击鼠标左键射击,生命值100分,被敌船击中减去20, 5次生命复活机会,统计分数,快去星际飞船大战吧^^。开始游戏https://www.ormcc.com/pl…

深度解读 Cascades 查询优化器

数据库中查询优化器是数据库的核心组件,其决定着 SQL 查询的性能。Cascades 优化器是 Goetz 在 volcano optimizer generator 的基础上优化之后诞生的一个搜索框架。 本期技术贴将带大家了解 Cascades 查询优化器。首先介绍 SQL 查询优化器,接着分析查询…

css 表示具有特定类或者其他属性的某种标签类型的元素

需求 通过 css 选择器获取某种标签&#xff08;如&#xff1a;div、input 等&#xff09;具有某个属性&#xff08;如&#xff1a;class、id 等&#xff09;的元素&#xff0c;从而修改其样式。 代码 通过 [标签].[属性] 的方式来获取 <div class"test">&l…

HyperGCN笔记

1 Title HyperGCN: A New Method of Training Graph Convolutional Networks on Hypergraphs&#xff08;Naganand Yadati、Prateek Yadav、Anand Louis、Madhav Nimishakavi、Vikram Nitin、Partha Talukdar&#xff09;【NeurIPS 2019】 2 Conclision This paper proposes H…

gprMax安装步骤

本来是想直接在base环境下直接弄的&#xff0c;但是报错了&#xff0c;因为base环境里的conda版本不匹配&#xff0c;于是重新建立虚拟环境gprMax&#xff0c;如下所示。 然后激活建立的gprMax环境&#xff0c;在gprMax环境中安装git 参考文章&#xff1a; https://zhuanlan.…