算法复习题
复习题2(算法部份)
D.一个算法不能有多个开始处,也不能有多个结束处
答案:B
14.算法中通常需要三种不同的执行流程,即:_____。
A.连续模式、分支模式和循环模式
B.顺序模式、结构模式和循环模式
C.结构模式、分支模式和循环模式
D.顺序模式、分支模式和循环模式
答案:D
15.算法中通常需要三种不同的执行流程,下面说法正确的是:_____。
答案:B
2.计算机是一种按照设计好的程序,快速、自动地进行计算的电子设备,计算机开始计算之前,必须把解决某个问题的程序存贮在计算机的_____中。
A.硬盘B.软盘C.内存D.CPU
答案:C
3.计算机程序由以下两部分即:_____组成。
A.执行部分和数据部分
B.数据部分和程序部分
C.指令部分和数据部分
第1章计算机和算法
1.使用计算机解题的步骤,以下描述正确的是:_____。
A.正确理解题意→设计正确算法→寻找解题方法→编写程序→调试运行
B.正确理解题意→寻找解题方法→设计正确算法→编写程序→调试运行
C.正确理解题意→寻找解题方法→设计正确算法→调试运行→编写程序
D.正确理解题意→寻找解题方法→设计正确算法→编写程序→调试运行
答案:B
10.关于算法的确定性特征,以下不符合算法确定性的是:_____。
A.D←(B * B–4 * A * C)
B.S←(L * H) / 10
C.输入:X
D.输出:L /正整数
答案:D
11.可以用多种不同的方法来描述一个算法,算法的描述可以用:_____。
A.流程图、分支和循环
B.顺序、流程图和自然语言
算法(复习题)1
平均情况:设待查找的元素在数组中的概率为P,不在数组中的概率为1-P,若出现在数组中每个位置的概率是均等的为p/nT(n)=P1D1+P2D2+...+PiDi+(1-P)Dn+1=p/2+n(1-p/2)1.叙述分治算法和动态规划算法的基本思想,并比较两种算法的异同。
答:分治法将待求解的问题划分成K个较小规模的子问题,对这K个子问题分别求解,再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解. 动态规划将待求解的问题分解成若干的子问题,自底向上地通过求解子问题的解得到原问题的解。
动态规划将每个子问题只求解一次并将其解保存在一个表格中,当需要再次求解此子问题时,只是简单的通过查表过的该子问题的解,避免了大量的重复计算.异同:分治法求解的问题分解后的子问题都是独立的,而使用动态规划求解的问题分解后得到的子问题往往不是相互独立的。
分治法是自顶向下用递归的方法解决问题,而动态规划则是自底向上非递归解决问题。
1.简述分治算法求解过程的三个阶段。
答:(1)划分:既然是分治,当然需要把规模为n的原问题划分为k个规模较小的子问题,并尽量使这k个子问题的规模大致相同。
(2)求解子问题:各子问题的解法与原问题的解法通常是相同的,可以用递归的方法求解各个子问题,有时递归处理也可以用循环来实现。
(3)合并:把各个子问题的解合并起来,合并的代价因情况不同有很大差异,分治算法的有效性很大程度上依赖于合并的实现。
2.叙述分治法的基本思想,并分析分治法与减治法二者的区别。
答:分治法将待求解的问题划分成K个较小规模的子问题,对这K个子问题分别求解,再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解.区别:分治法是把一个大问题划分成若干个子问题,分别求解各个子问题,然后把子问题的解进行合并并得到原问题的解。
减治法同样是把一个大问题划分成若干个子问题,但是这些子问题不需要分别求解,只需求解其中的一个子问题,因而也无需对子问题的解进行合并。
计算机算法与设计复习题(含答案)
1、一个算法的优劣可以用(时间复杂度)与(空间复杂度)与来衡量。
2、回溯法在问题的解空间中,按(深度优先方式)从根结点出发搜索解空间树。
3、直接或间接地调用自身的算法称为(递归算法)。
4、 记号在算法复杂性的表示法中表示(渐进确界或紧致界)。
5、在分治法中,使子问题规模大致相等的做法是出自一种(平衡(banlancing)子问题)的思想。
6、动态规划算法适用于解(具有某种最优性质)问题。
7、贪心算法做出的选择只是(在某种意义上的局部)最优选择。
8、最优子结构性质的含义是(问题的最优解包含其子问题的最优解)。
9、回溯法按(深度优先)策略从根结点出发搜索解空间树。
10、拉斯维加斯算法找到的解一定是(正确解)。
11、按照符号O的定义O(f)+O(g)等于O(max{f(n),g(n)})。
12、二分搜索技术是运用(分治)策略的典型例子。
13、动态规划算法中,通常不同子问题的个数随问题规模呈(多项式)级增长。
14、(最优子结构性质)和(子问题重叠性质)是采用动态规划算法的两个基本要素。
15、(最优子结构性质)和(贪心选择性质)是贪心算法的基本要素。
16、(选择能产生最优解的贪心准则)是设计贪心算法的核心问题。
17、分支限界法常以(广度优先)或(以最小耗费(最大效益)优先)的方式搜索问题的解空间树。
18、贪心选择性质是指所求问题的整体最优解可以通过一系列(局部最优)的选择,即贪心选择达到。
19、按照活结点表的组织方式的不同,分支限界法包括(队列式(FIFO)分支限界法)和(优先队列式分支限界法)两种形式。
20、如果对于同一实例,蒙特卡洛算法不会给出两个不同的正确解答,则称该蒙特卡洛算法是(一致的)。
21、哈夫曼编码可利用(贪心法)算法实现。
22概率算法有数值概率算法,蒙特卡罗(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法和舍伍德(Sherwood)算法23以自顶向下的方式求解最优解的有(贪心算法)24、下列算法中通常以自顶向下的方式求解最优解的是(C)。
人工智能-核心算法复习题+参考答案
人工智能-核心算法复习题+参考答案1、()控制着整个LSTM单元的状态或者记忆,它会根据每个时刻的输入进行更新。
A、隐状态向量B、状态向量C、显状态向量D、以上都不对答案:B2、以下属于生成式模型的是:()A、SVMB、随机森林C、隐马尔可夫模型HMMD、逻辑回归答案:C3、对于一个图像识别问题(在一张照片里找出一只猫),下面哪种神经网络可以更好地解决这个问题?A、循环神经网络B、感知机C、多层感知机D、卷积神经网络答案:D4、VGG-19中卷积核的大小为A、3x3B、5x5C、3x3,5x5D、不确定答案:A5、下列关于随机变量的分布函数,分布律,密度函数的理解描述不正确的是?A、离散型随机变量没有分布函数B、密度函数只能描述连续型随机变量的取值规律。
C、分布函数描述随机变量的取值规律D、分布律只能描述离散型随机变量的取值规律答案:A6、感知机描述错误的是:(___)A、感知机根据正确的程度进行权重调整;B、输入层接收外界输入信号传递给输出层;C、输出层是M-P神经元;D、感知机能容易实现逻辑与、或、非运算;答案:A7、机器学习中做特征选择时,下面方法或信息不一定有用的是A、卡方检验B、信息增益C、数据采样D、期望交叉熵答案:C8、在pytorch中,如果主机有1块TitanX显卡,以下哪个选项中的代码都可以将变量名为var的tensor放在GPU上运行A%、var=var.to"cuda:0"、var=var.to"cuda:1"B、var=var.to"cuda:1"C、var=var.cuda、var=var.to"cuda:0"D、var=var.cuda、var=var.to"cuda:1""答案:C9、Adaboost就是从()出发反复训练,在其中不断调整数据权重或者是概率分布。
算法复习题
算法复习试题一、名词解释:1、算法:就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。
2、贪心算法:能够得到某种量度意义下的最优解的分级处理方法称为贪心算法。
3、分治法:分治法的求解思想就是把整个问题分成若干个小问题后分的治之4、递归过程:一个递归过程的执行类似于多个子程序的嵌套调用,递归过程是自己调用自己本身代码。
递归算法的特点:思路清晰,算法的描述简洁且易理解。
5、集合:在研究某一类对象时,可把这类对象的整体称为集合。
6、生成树:设G=(V,E)是一个无向连通图。
如果G的生成子图T=(V,E')是一棵树,则称T是G的一棵生成树。
7、算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口可行性:就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
8、迭代法:称辗转法,是一种不断用变量的旧值递推出新值的解决问题的方法。
9、贪婪法: 是一种不追求最优解,只希望得到较为满意解的方法。
贪婪法不要回溯10、动态规划:是一种将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。
11、分支限界法:是一种用于求解组合优化问题的排除非解的搜索算法。
12、树:树是一个或多个结点的有限集合。
12、二元树:它是结点的有限集合,它或者为空,或者由一个根和两棵树(左子树和右子树)的不相交的二元树所组成。
13、二分检索树:T是一棵二元树,它或者为空,或者其每个结点含有一个可比较大小的数据元素。
14、图:图是数据结构,一个图G是由称之为结点V和边E的两个集合组成的15、最优解:使目标函数取极值(极大值或极小值)的可行解。
算法期末复习题2
填空题:1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:确定性有穷性可行性 0个或多个输入一个或多个输出2.算法的复杂性有时间复杂性和空间复杂性之分,衡量一个算法好坏的标准是时间复杂度高低。
3.某一问题可用动态规划算法求解的显著特征是该问题具有最优子结构性质。
5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解6.动态规划算法的基本思想是将待求解问题分解成若干子问题_,先求解子问题,然后从这些子问题的解得到原问题的解。
7.以深度优先方式系统搜索问题解的算法称为回溯法。
8.0-1背包问题的回溯算法所需的计算时间为o(n*2n),用动态规划算法所需的计算时间为o(min{nc,2n})。
9.动态规划算法的两个基本要素是最优子结构和重叠子问题。
10.二分搜索算法是利用动态规划法实现的算法。
11.一个算法复杂性的高低体现在计算机运行该算法所需的时间和存储器资源上,因此算法的复杂性有时间复杂性和空间复杂性之分。
12.出自于“平衡子问题”的思想,通常分治法在分割原问题,形成若干子问题时,这些子问题的规模都大致相同。
13.动态规划算法有一个变形方法备忘录方法。
这种方法不同于动态规划算法“自底向上”的填充方向,而是“自顶向下”的递归方向,为每个解过的子问题建立了备忘录以备需要时查看,同样也可避免相同子问题的重复求解。
14、这种不断回头寻找目标的方法称为回溯法。
15、直接或间接地调用自身的算法称为递归算法。
16、 记号在算法复杂性的表示法中表示渐进确界或紧致界。
17、由分治法产生的子问题往往是原问题的较小模式,这就为使用递归技术提供了方便。
18、建立计算模型的目的是为了使问题的计算复杂性分析有一个共同的客观尺度。
19、下列各步骤的先后顺序是②③④①。
①调试程序②分析问题③设计算法④编写程序。
20、最优子结构性质的含义是问题的最优解包含其子问题的最优解。
算法分析复习题
算法分析复习题⼀、单项选择题:1、算法的五⼤特征是确定性、有穷性、输⼊、输出和可⾏性。
其输⼊⾄少是( A )个。
A、0B、1C、n D、-12、⼤整数的乘法是利⽤的算法( C )。
A、贪⼼法B、动态规划法C、分治策略D、回溯法3、采⽤贪⼼算法的最优装载问题的主要计算量在于将集装箱依其重量从⼩到⼤排序,故算法的时间复杂度为( B )。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)4、⼀个问题可⽤动态规划算法或贪⼼算法求解的关键特征是问题的( B )。
A、重叠⼦问题B、最优⼦结构性质C、贪⼼选择性质D、定义最优解5、设⼀个算法的输⼊规模为n,Dn是所有输⼊的集合,任⼀输⼊I∈Dn,P(I)是I出现的概率,有=1,T(I)是算法在输⼊I下所执⾏的基本语句次数,则该算法的平均执⾏时间为(D)。
A、B、C、D、6、把递归算法转化为⾮递归算法有如下两种基本⽅法:(1)直接⽤循环结构的算法替代递归算法。
(2)⽤( A )模拟系统的运⾏过程,通过分析只保存必须保存的信息,从⽽⽤⾮递归算法替代递归算法。
A、栈B、队列C、顺序表D、链表7、算法分析中,记号表⽰(A)。
A、渐进下界B、渐进上界C、⾮紧上界D、紧渐进界9、贪⼼算法与动态规划算法的主要区别是(B )。
A、最优⼦结构B、贪⼼选择性质C、构造最优解D、定义最优解10、回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。
A、⼴度优先B、活结点优先C、扩展结点优先D、深度优先11. 回溯法的问题的解空间树是(B),并不需要在算法运⾏时构造⼀棵真正的树结构,然后再在该解空间树中搜索问题的解,⽽是只存储从根结点到当前结点的路径。
A、顺序⽅式的⼆叉树B、虚拟的树C、满⼆叉树D、完全⼆叉树12. 应⽤回溯法求解问题时,⾸先应该明确问题的解空间。
解空间中满⾜约束条件的决策序列称为(C)。
A、最优解B、局部最优解C、可⾏解D、最优⼦序列解13. ⼀个问题的最优解包含其⼦问题的最优解,则称此问题具有(D)性质。
算法复习题(精炼版)
填空题动态规划算法的基本要素为:最优子结构性质与重叠子问题性质1)算法分析中,记号O表示渐进上界,记号Ω表示渐进下界,记号Θ表示紧渐进界。
2)回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。
3)分支限界法在问题的解空间树中,按广度优先策略,从根结点出发搜索解空间树。
所谓贪心选择性质是指(所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到)。
所谓最优子结构性质是指(问题的最优解包含了其子问题的最优解)。
回溯法是指(具有限界函数的深度优先生成法)。
回溯法的算法框架按照问题的解空间一般分为(子集树)算法框架与(排列树)算法框架。
4)二分搜索算法是利用分治策略实现的算法。
5)衡量一个算法好坏的标准是时间复杂度低6)最长公共子序列算法利用的算法是动态规划法7)Strassen矩阵乘法是利用分治策略实现的算法8)回溯法搜索状态空间树是按照深度优先遍历的顺序。
9)算法中通常以自底向下的方式求解最优解的是动态规划法10)背包问题的贪心算法所需的计算时间为O(nlogn)11)0-1背包问题的回溯算法所需的计算时间为O(n2n)12)用动态规划算法解决最大字段和问题,其时间复杂性为n13)一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_有穷性,确定性,可行性,输入,输出。
1.算法的复杂性有时间复杂性和空间复杂性之分。
2、程序是算法用某种程序设计语言的具体实现。
3、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。
4.矩阵连乘问题的算法可由动态规划设计实现。
6、算法是指解决问题的一种方法或一个过程。
7、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法。
8、问题的最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。
9、以深度优先方式系统搜索问题解的算法称为回溯法。
10、数值概率算法常用于数值问题的求解。
算法分析复习题目及答案16-12-10
一。
选择题1、二分搜索算法是利用( A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( D )。
A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法5. 回溯法解旅行售货员问题时的解空间树是()。
A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。
A、备忘录法B、动态规划法C、贪心法D、回溯法注意:动态规划采用的是自底向上的方式求解,而贪心算法采用的是自顶向下的方式来求解问题。
7、衡量一个算法好坏的标准是(C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是(D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题9. 实现循环赛日程表利用的算法是( A )。
A、分治策略B、动态规划法C、贪心法D、回溯法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 )。
算法复习题
一、选择题1、衡量一个算法好坏的标准是( )。
(A )运行速度快 (B )占用空间少 (C )时间复杂度低 (D )代码短2、函数n n 1032 的渐进表达式是( )。
(A )O(23n ) (B )O(3) (C )O(n 10) (D )O(2n )3、以下不可以使用分治法求解的是( )。
(A )棋盘覆盖问题 (B )选择问题 (C )归并排序 (D ) 0/1背包问题4、二分搜索算法是利用( )实现的算法。
(A )分治策略 (B )动态规划法 (C )贪心法 (D )回溯法5、二分搜索算法的时间复杂性为( )。
(A )O(2n ) (B )O(n ) (C )O(n log ) (D )O(n n log )6、快速排序算法的时间复杂性为( )。
(A )O(2n ) (B )O(n ) (C )O(n log ) (D )O(n n log )7、实现大整数的乘法是利用( )的算法。
(A )分治策略 (B )动态规划法 (C )贪心法 (D )回溯法8、矩阵连乘问题的算法可由( )设计实现。
(A )分支界限算法 (B )动态规划算法 (C )贪心算法 (D )回溯算法9、实现循环赛日程表利用的算法是( )。
(A )分治策略 (B )动态规划法 (C )贪心法(D )回溯法10、下列是动态规划算法基本要素的是( )。
(A )定义最优解 (B )构造最优解 (C )算出最优解 (D )子问题重叠性质11、最长公共子序列算法利用的算法是( )。
(A )分治法 (B )动态规划法 (C )贪心法 (D )回溯法12、下列算法中通常以自底向上的方式求解最优解的是( )。
(A )备忘录法 (B )动态规划法 (C )贪心法 (D )回溯法13、以下不可以使用分治法求解的是( )。
(A )棋盘覆盖问题 (B )选择问题 (C )归并排序 (D )0/1背包问题14、下列算法中不能解决0/1背包问题的是( )(A )贪心法 (B )动态规划 (C )回溯法 (D )分支限界法15、算法是由若干条指令组成的有穷序列,而且满足以下性质( )(A )输入:有0个或多个输入 (B )输出:至少有一个输出(C )确定性:指令清晰,无歧义 (D )有限性:指令执行次数有限,而且执行时间有限A (1)(2)(3) B(1)(2)(4) C(1)(3)(4) D (1) (2)(3)(4)16、函数32n +10nlog n 的渐进表达式是( ).A. 2nB. 32nC. nlog nD. 10nlog n17、能采用贪心算法求最优解的问题,一般具有的重要性质为:( )(A )最优子结构性质与贪心选择性质 (B )重叠子问题性质与贪心选择性质(C )最优子结构性质与重叠子问题性质 (D )预排序与递归调用18、回溯法在问题的解空间树中,按()策略,从根结点出发搜索解空间树。
典型算法题复习
1.在PV操作中会有一个经典的例子就是爸爸妈妈儿子女儿吃水果问题,爸爸妈妈向盘子里放入水果,儿子女儿向盘子取水果。
然而爸爸只向盘子放苹果,妈妈只向盘子放橘子,女儿只能吃苹果,儿子只能吃橘子。
并且盘子里只能装一个水果,这样爸爸妈妈就要竞争盘子向里面放入水果。
而儿子女儿取走水果后必须通知爸爸妈妈向里面放入水果。
这就是一个典型的PV操作中互斥与同步混合模型。
试用P、V操作写出同步算法。
2.假定某系统当时的资源分配图如下所示:(1)分析当时系统是否存在死锁。
(2)若进程P3再申请R2时,系统将发生什么变化,说明原因。
3.某操作系统采用可变分区分配存储管理方法,用户区为512K且始值为0,用空闲分区表管理空闲分区。
若分配时采用分配空闲低地址部分的方案,其初始时用户区的512K空间空闲,对下述申请序列:申请200K,申请100K,释放200K,申请120K,申请30K,申请50K,申请60K,释放30K;回答下列问题:(1)采用首次适应算法,空闲分区中有哪些空闲块(出始址,大小)?(2)采用最佳适应算法,空闲分区中有哪些空闲块(给出始址,大小)?4.今有3个进程P1、P2和P3协作解决文件打印问题:P1将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;P2将缓冲区1的记录复制到缓冲区2,每执行一次复制一个记录;P3将缓冲区2的内容打印出来,每执行一次打印一个记录。
缓冲区的大小和一个记录大小一样。
试用P、V操作来保证文件的正确打印。
5.有三个进程,Reader进程读入数据number1,将其放入缓冲器B1,Executor进程将B1中数据取出,处理成数据number2,将其放入缓冲器B2,Printer进程将number2数据取出打印,假设B1和B2只能存放一个数据,用P、V操作管理这三个进程的执行。
6.有一个具有两道作业的批处理系统(最多可有两道作业同时装入内存执行),作业调度采用计算时间短的作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,今有如下作业序列(表中所列作业优先数即为进程优先数,数值越小优先级越高):(1)列出所有作业进入内存时间及结束时间。
人工智能核心算法复习题含答案
人工智能核心算法复习题含答案一、单选题(共40题,每题1分,共40分)1、假设我们有一个使用ReLU激活函数(ReLU activation function)的神经网络,假如我们把ReLU激活替换为线性激活,那么这个神经网络能够模拟出同或函数(XNOR function)吗A、可以B、不能C、不好说D、不一定正确答案:B2、EM算法是()A、半监督B、都不是C、有监督D、无监督正确答案:D3、让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是(___)?A、监督学习B、倍监督学习C、无监督学习D、半监督学习正确答案:D4、YOLOv3在coco数据集上聚类了()个矛框?A、9B、nanC、80D、3正确答案:A5、在一个神经网络中,知道每一个神经元的权重和偏差是最重要的一步。
如果知道了神经元准确的权重和偏差,便可以近似任何函数,但怎么获知每个神经的权重和偏移呢?A、以上都不正确的B、搜索每个可能的权重和偏差组合,直到得到最佳值C、随机赋值,听天由命D、赋予一个初始值,然后检查跟最佳值的差值,不断迭代调整权重正确答案:D6、执行完语句X_train, X_test, y_train, y_test = train_test_split( ... iris.data, iris.target, test_size=0.4, random_state=0),训练集占比多少?A、50%B、70%C、60%D、40%正确答案:C7、如果一个模型在测试集上偏差很大,方差很小,则说明该模型?A、过拟合B、刚好拟合C、可能过拟合可能欠拟合D、欠拟合正确答案:C8、下列哪个神经网络结构会发生权重共享A、卷积神经网络B、循环神经网络C、全连接神经网络D、卷积和循环神经网络正确答案:D9、混沌度(Perplexity)是一种常见的应用在使用深度学习处理NLP问题过程中的评估技术,关于混沌度,哪种说法是正确的?A、混沌度越高越好B、混沌度对于结果的影响不一定C、混沌度没什么影响D、混沌度越低越好正确答案:D10、关于递归函数基例的说明,以下选项中错误的是A、递归函数的基例不再进行递归B、每个递归函数都只能有一个基例C、递归函数的基例决定递归的深度D、递归函数必须有基例正确答案:B11、通过以下哪些指标我们可以在层次聚类中寻找两个集群之间的差异?()A、以上都行B、均链接C、单链接D、全链接正确答案:A12、考虑以下问题:假设我们有一个5层的神经网络,这个神经网络在使用一个4GB显存显卡时需要花费3个小时来完成训练。
计算机算法复习题
计算机算法复习题## 计算机算法复习题### 一、选择题1. 在排序算法中,时间复杂度为O(nlogn)的算法是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序2. 以下哪个算法是用于解决最近邻问题的?A. Dijkstra算法B. A*算法C. 动态规划D. 贪心算法### 二、填空题1. 在图的遍历中,深度优先搜索(DFS)使用的栈是_________。
2. 快速排序算法的核心思想是_________。
3. 在动态规划中,解决背包问题通常使用_________方法。
### 三、简答题1. 描述二分查找算法的基本步骤,并说明其时间复杂度。
二分查找算法的基本步骤如下:- 首先,设定查找区间的左右端点。
- 在查找区间的中间位置取一个值,与目标值进行比较。
- 如果中间值等于目标值,则查找成功。
- 如果中间值小于目标值,则在右半区间继续查找。
- 如果中间值大于目标值,则在左半区间继续查找。
- 重复以上步骤,直到找到目标值或查找区间为空。
二分查找算法的时间复杂度为O(logn)。
2. 什么是动态规划?请举例说明其应用场景。
动态规划是一种通过将复杂问题分解为更简单的子问题来求解的方法。
它适用于具有重叠子问题和最优子结构特性的问题。
在动态规划中,我们首先解决子问题,并将结果存储在一个表格中,以避免重复计算。
这样,当需要解决更大的子问题时,可以直接使用表格中的结果。
一个典型的动态规划应用场景是斐波那契数列的计算。
传统的递归方法会重复计算很多子问题,而使用动态规划,我们可以存储已计算的斐波那契数,从而大大提高计算效率。
### 四、编程题给定一个未排序的整数数组,请使用快速排序算法对其进行排序,并输出排序后的结果。
```pythondef quick_sort(arr):if len(arr) <= 1:return arrpivot = arr[len(arr) // 2]left = [x for x in arr if x < pivot]middle = [x for x in arr if x == pivot]right = [x for x in arr if x > pivot]return quick_sort(left) + middle + quick_sort(right)# 示例arr = [3, 6, 8, 10, 1, 2, 1]sorted_arr = quick_sort(arr)print(sorted_arr)```通过以上复习题,可以对计算机算法的基本概念、原理和应用有一个全面的回顾和理解。
算法判断题复习题
100.知识点:8(分支限界法)难易度:适中认知度:理解深度优先不是分支限界法的搜索方式。
答案:正确101.知识点:11(二分搜索算法)难易度:适中认知度:应用二分搜索算法是利用分治策略实现的算法。
答案:正确102.知识点:6(贪心算法)难易度:适中认知度:应用背包问题不能使用贪心法解决。
答案:错误103.知识点:6(贪心算法)难易度:较难认知度:应用单源最短路径问题不能使用贪心法解决。
答案:错误104.知识点:2(算法复杂度计算)难易度:容易认知度:识记时间复杂度低是衡量一个算法好坏的标准。
答案:正确105.知识点:4(分治法)难易度:适中认知度:应用归并排序不可以使用分治法求解。
答案:错误106.知识点:9(概率算法)难易度:容易认知度:识记拉斯维加斯算法有时找不到问题的解。
答案:正确107.知识点:9(概率算法)难易度:容易认知度:识记舍伍德算法有时候找不到问题的解。
答案:错误108.知识点:13(NP问题)难易度:适中认知度:认知NP问题都是不可能解决的问题答案:错误109.知识点:13(NP问题)难易度:适中认知度:理解P类问题包含在NP类问题中。
答案:正确NP类问题包含在P类问题中。
答案:错误111.知识点:13(NP问题)难易度:适中认知度:认知NP完全问题是P类问题的子集答案:错误112.知识点:9(概率算法)难易度:容易认知度:识记蒙特卡罗算法是概率算法的一种答案:正确113.知识点:9(概率算法)难易度:容易认知度:认知蒙特卡罗算法是贪心算法的一种答案:错误114.知识点:9(概率算法)难易度:容易认知度:认知蒙特卡罗算法是回溯算法的一种答案:错误115.知识点:5(动态规划法)难易度:容易认知度:认知动态规划算法不是随机化算法答案:正确116.知识点:5(动态规划法)难易度:适中认知度:综合最优子结构性质是贪心算法与动态规划算法的共同点答案:正确117.知识点:5(动态规划法)难易度:适中认知度:应用矩阵连乘问题的算法可由动态规划算法来设计实现答案:正确118.知识点:4(分治法)难易度:较难认知度:应用Strassen 矩阵乘法是利用分治策略实现的算法答案:正确119.知识点:4(分治法)难易度:较难认知度:应用Strassen 矩阵乘法是利用贪心法实现的算法答案:错误贪心选择性质是贪心算法的基本要素答案:正确121.知识点:7(回溯法)难易度:适中认知度:理解以深度优先方式系统搜索问题解的算法称为回溯算法答案:正确122.知识点:1(算法基础理论)难易度:容易认知度:认知算法分析的两个主要方面是时间复杂度和空间复杂度分析答案:正确123.知识点:5(动态规划法)难易度:适中认知度:应用实现最大子段和利用的算法是动态规划法答案:正确124.知识点:5(动态规划法)难易度:适中认知度:应用实现最大子段和利用的算法是贪心法答案:错误125.知识点:5(动态规划法)难易度:适中认知度:应用实现最大子段和利用的算法是回溯法答案:错误126.知识点:8(分支限界法)难易度:适中认知度:理解广度优先是分支限界算法的一种搜索方式答案:正确127.知识点:8(分支限界法)难易度:适中认知度:理解广度优先是回溯算法的一种搜索方式答案:错误128.知识点:8(分支限界法)难易度:适中认知度:理解广度优先是贪心算法的一种搜索方式答案:错误129.知识点:9(概率算法)难易度:容易认知度:识记舍伍德算法是概率算法的一种答案:正确129.知识点:9(概率算法)难易度:容易认知度:识记舍伍德算法是贪心算法的一种。
算法分析与设计考试复习题及参考答案jing
一、填空题1、算法的复杂性是算法效率2、的度量,是评价算法优劣的重要依据。
1、设n为正整数,利用大“O(·)”记号,将下列程序段的执行时间表示为n的函数,则下面程序段的时间复杂度为O(n)2、。
i=1; k=0;while(i<n) { k=k+10*i;i++; }3、计算机的资源最重要的是时间和空间资源。
因而,算法的复杂性有时间复杂度和空间复杂度之分。
3、f(n)= 6×2n+n2,f(n)的渐进性态f(n)= O( 2n4、 )5、递归是指函数直接或者间接通过一些语句调用自身。
4、分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立6、且与原问题相同。
二、选择题(本题20分,每小题2分)1、分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者( B )。
A.求解目标不同,搜索方式相同B.求解目标不同,搜索方式也不同C.求解目标相同,搜索方式不同D.求解目标相同,搜索方式也相同2、回溯法在解空间树T上的搜索方式是( A)。
A.深度优先B.广度优先C.最小耗费优先D.活结点优先3、在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( B )。
A.回溯法B.分支限界法C.回溯法和分支限界法D.回溯法求解子集树问题4、以下关于判定问题难易处理的叙述中正确的是( C )。
A.可以由多项式时间算法求解的问题是难处理的B.需要超过多项式时间算法求解的问题是易处理的C.可以由多项式时间算法求解的问题是易处理的D.需要超过多项式时间算法求解的问题是不能处理的5、设f(N),g(N)是定义在正数集上的正函数,如果存在正的常数C和自然数N0,使得当N≥N0时有f(N)≤Cg(N),则称函数f(N)当N充分大时有上界g(N),记作f(N)=O(g(N)),即f(N)的阶( A )g(N)的阶。
A.不高于B.不低于C.等价于D.逼近6、对于含有n个元素的子集树问题,最坏情况下其解空间的叶结点数目为( B )。
算法设计复习题
一、单选题1、下面关于算法的描述,正确的是(d )A、一个算法只能有一个输入B、算法只能用框图来表示C、一个算法的执行步骤可以是无限的D、一个完整的算法,不管用什么方法来表示,都至少有一个输出结果2、一位爱好程序设计的同学,想通过程序设计解决“韩信点兵”的问题,他制定的如下工作过程中,更恰当的是(c )A、设计算法,编写程序,提出问题,运行程序,得到答案B、分析问题,编写程序,设计算法,运行程序,得到答案C、分析问题,设计算法,编写程序,运行程序,得到答案D、设计算法,提出问题,编写程序,运行程序,得到答案3、有5位运动员100米成绩依次为13.8,12.5,13.0,13.2,13.4,(c)若采用选择排序算法对其进行从小到大排序,则第二趟的排序结果是(A) 12.5 13.8 13.2 13.4 13.0 (B) 12.5 13.4 13.2 13.8 13.0(C) 12.5 13.0 13.8 13.2 13.4 (D) 12.5 13.2 13.8 13.4 13.04、下面说法正确的是(a )A、算法+数据结构=程序B、算法就是程序C、数据结构就是程序D、算法包括数据结构5、数列1,4,7,10,13,……的递推公式为( d )。
(A) f(1)=1;f(n)=n+3 (B) f(1)=1;f(n)=n*2-1(C) f(1)=1;f(n)=n*2+1 (D) f(1)=1;f(n)=f(n-1)+36、用选择排序法对数据7,6,3,9,2从大到小排序,共需经过多少次数据对调。
a(A) 3 (B) 4 (C) 5 (D) 107、动态规划算法的基本要素为(c )。
A、最优子结构性质与贪心选择性质B、重叠子问题性质与贪心选择性质C、最优子结构性质与重叠子问题性质D.、预排序与递归调用8、算法分析中,记号O表示( b ),记号Ω表示(a),记号Θ表示(d )。
A、渐进下界B、渐进上界C、非紧上界D、紧渐进界E、非紧下界9、以下关于渐进记号的性质是正确的有:(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))=⇔=10、下列算法中通常以自底向上的方式求解最优解的是( b )。
算法复习题选择题
算法复习题选择题一、选择题1. 下列哪种排序算法具有最差时间复杂度为O(n^2)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D. 冒泡排序解析:冒泡排序是一种简单直观的排序算法,它的基本思想是通过不断比较相邻的两个元素,将较大的元素向右移动,较小的元素向左移动,直到整个序列按照从小到大的顺序排列。
冒泡排序的最差时间复杂度为O(n^2),当待排序序列已经有序时,冒泡排序的最坏情况就会出现,需要进行n-1趟排序,每趟比较n-1次。
2. 下列哪种排序算法不属于比较排序?A. 计数排序B. 插入排序C. 选择排序D. 希尔排序答案:A. 计数排序解析:计数排序是一种非比较排序算法,它通过确定每个元素之前有多少个元素小于它来确定元素的位置。
计数排序的时间复杂度为O(n+k),其中n为待排序序列的长度,k为待排序序列中的最大值大小。
3. 下列哪个算法通常用来解决最短路径问题?A. Dijkstra算法B. Kruskal算法C. Prim算法D. Floyd-Warshall算法答案:A. Dijkstra算法解析:Dijkstra算法是一种用于求解单源最短路径问题的算法。
它基于贪心策略,通过选择当前最短路径上的顶点来逐步扩展最短路径树。
Dijkstra算法的时间复杂度为O(V^2),其中V为图的顶点数。
4. 下列哪种数据结构通常用于实现图的遍历?A. 队列B. 栈C. 链表D. 数组答案:B. 栈解析:图的遍历包括深度优先遍历和广度优先遍历两种方式。
其中,深度优先遍历(DFS)通常使用栈来实现,广度优先遍历(BFS)通常使用队列来实现。
栈是一种后进先出(LIFO)的数据结构,适合将深度优先遍历的节点存储起来。
5. 下列哪种查找算法具有最坏时间复杂度为O(log n)?A. 二分查找B. 线性查找C. 哈希查找D. 顺序查找答案:A. 二分查找解析:二分查找是一种基于分治思想的查找算法,它通过将查找区间逐步缩小为左右两个子区间,并与目标元素进行比较,从而确定目标元素的位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1. 通俗地讲,算法是指解决问题的一种方法或一个过程,描述算法的方式有很多,如()。
A、自然语言方式
B、表格方式
C、程序设计语言
D、程序设计语言与自然语言相结合
算法的描述方式(常用的)
算法描述自然语言
流程图特定的表示算法的图形符号
伪语言包括程序设计语言的三大基本结构及自然语言的一种语言
类语言类似高级语言的语言,例如,类PASCAL、类C语言
2.算法的复杂性依赖于()。
A、要解决问题的规模
B、算法的输入
C、算法本身的函数
D、设计者的学术水平
3. 以下描述是有关算法设计的基本步骤:
①问题的陈述②算法分析③模型的拟制④算法的实现
⑤算法的详细设计⑥文档的编制,应与其它环节交织在一起
其中正确的顺序是()。
A、①②③④⑤⑥
B、①③⑤②④⑥
C、②④①③⑤⑥
D、⑥①③⑤②④
4.对于含n个元素的子集树问题,最坏情况下解空间的叶结点数目为()。
A、n!
B、2^n
C、2n+1-1
D、
1!/!
n
i
n i =
∑
5. 对于给定的问题,考虑算法复杂性的意义在于()。
A、设计出复杂性尽可能低的算法
B、若该问题已有多种算法时,选择其中复杂性低的求解问题
C、提高算法设计的学术水平层次
D、判断算法的正确性
6.符号Ω在算法复杂度描述中表示()。
A、紧渐近上界
B、渐近上界
C、紧渐近下界
D、渐近下界
7. 设()f n 、()g n 是定义在正数集上的正函数,如果存在正的常数C 和自然数0n ,使得当0n n ≥时有()()f n Cg n ≤,则称函数()f n 当n 充分大时有上界()g n ,记作
()(())f n O g n =,即()f n 的阶( )()g n 的阶。
A 、不高于
B 、不低于
C 、等价于
D 、逼近
8. 回溯法在解空间树T 上的搜索方式是( )。
A 、深度优先 B 、广度优先
C 、最小耗费优先
D 、活结点优先
9. 下面关于动态规划和备忘录方法的叙述中正确的是( )。
A 、备忘录方法是自顶向下的递归方式
B 、动态规划自底向上的,其最优值的计算不能递归定义
C 、当一个问题的所有子问题都至少需要求解一次时,用动态规划方法较好
D 、当子问题空间的部分子问题可不必求解时,用备忘录方法则较有利
10.一个四城市的旅行售货员问题,其解空间的深度为( )。
A 、3
B 、4
C 、5
D 、6
11. 分支限界法与回溯法都是在问题的解空间树上搜索问题的解,二者( )。
A 、求解目标不同,搜索方式相同 B 、求解目标不同,搜索方式也不同 C 、求解目标相同,搜索方式不同
D 、求解目标相同,搜索方式也相同
12. 下列哪些问题不可以用贪心算法求得最优解( )。
A 、哈夫曼编码 B 、活动安排问题
C 、0-1背包问题
D 、单源最短路径
13. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是( )。
A 、回溯法
B 、分支限界法
C 、回溯法和分支限界法
D 、回溯法求解子集树问题
14.分支限界法在解空间树T 上的一种搜索方式是( )。
A 、深度优先 B 、广度优先 C 、活结点优先 D 、长度优先
15. 以下关于判定问题难易处理的叙述中正确的是( )。
A 、可以由多项式时间算法求解的问题是难处理的
B 、需要超过多项式时间算法求解的问题是易处理的
C 、可以由多项式时间算法求解的问题是易处理的
D 、需要超过多项式时间算法求解的问题是不能处理的
二、填空题
1. 如果存在正的常数C 和0N ,使得当 N ≥N0 时,有()()f N Cg N ≤,则称函数
()f N 当N 充分大时上有界,且()g N 是它的一个上界,记为 f(N)=O(g(N)) 。
这时还
说明()f N 的阶不 (高于/低于)()g N 的阶。
2.在循环赛日程表问题中,若给定的运动员数n=2^(k-1),则至少需要__n ___天完成比赛;n=2^k 时,则需要__n-1___天。
其中,k 为正整数。
3. 按照符号O 的定义,如果()(())g N O f N =,则()()O f O g += O(f) 。
4. 算法是由若干条指令组成的有序序列,并且具有输入、 输出 、 确定性 和有限性的性质。
5.一个直接或间接地调用自身的算法称为___递归_____,它有两个条件,一个是要直接或间接地调用自身,另一个是必须有_初始条件或非递归定义的初始值_。
6. 一个问题能够用分治法求解,说明该问题:①可以分解为规模比较小的问题且容易解决,②该问题具有 最优子结构 性质,③分解后的子问题的解可以合并为原问题的解,④分解后的各个子问题是相互 独立 的。
7. 运用动态规划法的一般步骤是:①分析最优解,②定义 建立递归关系 ,③求最优值,④构造最优解。
8. 四个物品的0-1背包问题的解空间层数为 5 ,共有 8(2^n )个叶结点。
共有 31([2^(n+1)]-1)个结点
9. 对解空间的搜索过程中如果运用回溯法一个中间结点有 (一次/多次)机会称为扩展结点,若使用分支限界法则有 (一次/多次)机会。
❤❤用分支限界法求解0-1背包问题时,对于每个物品j 有重量wj 和价值vj ,考虑当前物品i ,已装入背包中物品的重量和价值分别为cw 、cv ,剩余物品的价值上界为urv ,剩余容量为c ,目前已有的最优价值为bestp ,则当左儿子满足约束条件 属于可行结点时,就将它加入活结点队列中;当右儿子满足上界条件 时才将它加入活结点队列中。
10.在使用回溯法考虑求解一个具体问题时,往往需要设计出约束条件和限界条件。
装
载问题的约束条件是__
∑=≤k
i i
i C w
x 1
__;限界条件是bestw>cw+r ,其中,bestw 是当前最优
值,cw=__当前最优载重量_∑=k
i i
i c
x 1
__,r=___剩余集装箱重量__
∑+=n
k i i
w
1
_。
三、证明题
1.证明哈夫曼编码的贪心选择性质。
2.试证明活动安排问题的贪心选择性质。
3.试证明最长公共子序列问题具有最优子结构性质。
四、求下列各式时间复杂度
1.写出函数2
10log 3n n +的渐近表达式。
O(n^2)
2.
写出函数2
log n n 的渐近表达式。
3.写出函数23/42n
n +的渐近表达式。
O(2^n)
4.求1
275()(/5)(3/4)
75
C n T n C n T n T n n <⎧⎪=⎨
++≥⎪⎩的渐近表达式(1C ,2C 为常数)。
5.写出函数21log 1032413n
n n ⎛⎫
++ ⎪⎝⎭
的渐近表达式。
五、应用题
1.有0-1背包问题如下:n=4,c=20,P=(11,8,15,18),W=(5,4,4,8)。
试画出用回溯法求解时的搜索情况。
(本题6分) 解:
① n=4,c=20,P=(11,8,15,18),W=(5,4,4,8) ②
2.请用快速排序法升序排序下面实例,给出每一趟排序的结果。
(3,20,5,9,2,30,25,18,16,3)
解:
2 3 3 9 5 30 25 18 16 20
2 3 ↑ 5 9 30 25 18 16 20 ↑ 20 25 18 16 30 18 16 20 25 ↑ 16 18 ↑
结果: 2 3 3 5 9 16 18 20 25 30
3.画出下面字符表的哈夫曼编码对应的二叉树。
解:课本P110 至底向上
4.印刷电路板将布线区域分为方格阵列,如下图所示。
电路布线问题要求确定连接方格a的中点到方格b的中点的最短布线方案,布线时,电路只能沿直线或直角布线,已经布了线的方格做了封锁标记,其他线路不允许穿过被封锁的方格。
用队列式分支限界法解该问题,在下图上标记出求解过程中各个方格的标记距离和最短布线路径。
5.算法设计。
说明:任意选择所使用的算法策略;从下面两个题目中任意选择其中之一;
要求:说明所使用的算法策略;写出算法实现的核心部分。
(1)背包问题;(2)哈夫曼编码问题;(3)n后问题。