算法设计分析期中试题

合集下载

山东科技大学算法试题 (2)

山东科技大学算法试题 (2)

山东科技大学 — 学年第 学期《算法设计与分析》考试试卷班级 姓名 学号一、设数组A 有n 个元素,需要找出其中的最大最小值。

(20分)(1) 请给出一个解决方法,并分析其复杂性。

(2) 把n 个元素等分为两组A1和A2,分别求这两组的最大值和最小值,然后分别将这两组的最大值和最小值相比较,求出全部元素的最大值和最小值。

如果A1和A2中的元素多于两个,则再用上述方法各分为两个子集。

直至子集中元素至多两个元素为止。

这是什么方法的思想?请给出该方法的算法描述,并分析其复杂性。

二、已知1()*()i i k k ij r r A a +=,k =1,2,3,4,5,6,r 1=5,r 2=10,r 3=3,r 4=12,r 5=5,r 6=50,r 7=6,求矩阵链积A 1×A 2×A 3×A 4×A 5×A 6的最佳求积顺序。

(20分) 三、对于下图使用Dijkstra 算法求由顶点a 到其他各个顶点的最短路径。

并给出求各个顶点对之间的最短路径的算法思想。

(20分)。

四、 15谜问题:在一个4×4的方格的棋盘上,将数字1到15代表的15个棋子以任意的顺序置入各方格中,空出一格。

要求通过有限次的移动,把一个给定的初始状态变成目标状态。

移动的规则是:每次只能把空格周围的四格数字(棋子)中的任意一个移入空格,从而形成一个新的状态。

为了有效的移动,设计了估值函数C 1(x),表示在结点x 的状态下,没有到达目标状态下的正确位置的棋子的个数。

(20分)请使用该估计函数,对图示的初始状态,给出使用分支限界方法转换到目标状态的搜索树。

五、设x1、x2、x3是一个三角形的三条边,而且x1+x2+x3=14。

请问有多少种不同的三角形?给出解答过程。

(20分)。

算法与程序设计期中考试试题

算法与程序设计期中考试试题

算法与程序设计期中考试试题算法与程序设计期中考试试题⼀、选择题:每题2分,30题,共60分()1.以下问题中最适合⽤计算机编程处理的是。

A.制定本学期的学习计划B.计算正⽅形的周长C.创作⼀⾸歌曲D.求1000以内的所有素数()2.⽤计算机解决问题的步骤⼀般为。

①编写程序②设计算法③分析问题④调试程序A.①②③④B.③④①②C.②③①④D.③②①④()3.下⾯说法正确的是。

A.算法+数据结构=程序B.算法就是程序C.数据结构就是程序D.算法包括数据结构()4.以下是算法具有的特征。

①有穷性②确定性③可⾏性④输⼊⑤输出A.①②③B.②③④C.③④⑤D.①②③④⑤()5.常⽤的算法描述⽅法有。

A.⽤⾃然语⾔描述算法B.⽤流程图描述算法C.⽤伪代码描述算法D.以上都是()6.流程图中表⽰判断框的是。

A.矩形框B.菱形框C.圆形框D.椭圆形框()7.程序设计语⾔的发展阶段不包括。

A.⾃然语⾔B.机器语⾔C.汇编语⾔D.⾼级语⾔()8.要使命令按钮显⽰⽂字“确定”,正确的设置是把该命令按钮的。

A.Font属性设置为“确定”B.ForeColor属性设置为“确定”C.Caption属性设置为“确定”D.BorderStyle属性设置为“确定”()10.下⾯的属性中,⽤于设定控件⾼度的是。

A.F ont B.H eight C.Caption D.W idth ()11.窗体的BackColor属性⽤于设置窗体的____。

(p18)A.宽度B.前景⾊C.⾼度D.背景⾊12.在VB中,若要将变量N定义为单精度型数据,则下列表⽰⽅法中正确的是化。

A.Dim N as String B.Dim N as Single C.Dim N as Integer D.Dim N as Long()14.在程序设计的过程中,错误的声明⼀个变量会导致程序不能正常编译。

因此,需要规范合理地声明⼀个变量,下列合法的变量名是。

A.if B.zf3 C.8-a D.a#2()17.某学校打算选拔⾝⾼T超过1.75⽶且体重W不⼤于55公⽄的⼈作为招⽣条件,表⽰该条件的布尔表达式为。

算法设计与分析期中考试试题

算法设计与分析期中考试试题
i S[i] f[i] 1 1 4 2 3 5 3 0 6 4 5 7 5 3 8 6 5 9 7 6 10 8 8 11 9 8 12 10 2 13 11 12 14

二、算法填空 1.最大子段和: 动态规划算法 int MaxSum(int n, int a[])
{ int sum=0, b=0; //sum 存储当前最大的 b[j], b 存储 b[j] {
for(int j=1; j<=n; j++) if (b>0) else if(b>sum) } return sum; } 2.贪心算法求装载问题 template<class Type> b+= a[j] ;
; //一旦某个区段和为负,则从下一个位置累和 ;
void Loading(int x[], Type w[], Type c, int n) { int *t = new int [n+1]; ; for (int i = 1; i <= n; i++) x[i] = 0; for (int i = 1; i <= n && w[t[i]] <= c; i++) {x[t[i]] = 1; ;} } 3.快速排序 template<class Type> void QuickSort (Type a[], int p, int r) { if (p<r) { int q=Partition(a,p,r); ; //对左半段排序 ; //对右半段排序 } }
4. 对于下图使用 Dijkstra 算法求由顶点
求各个顶点对之间的最短路径的算法思想。
期中试题

设计与算法分析考试题库

设计与算法分析考试题库

设计与算法分析考试题库一、选择题(每题2分,共20分)1. 在算法分析中,时间复杂度用来衡量算法的什么?A. 可读性B. 执行速度C. 资源消耗D. 可维护性2. 以下哪个排序算法的时间复杂度为O(n^2)?A. 快速排序B. 归并排序C. 选择排序D. 堆排序3. 动态规划与分治算法的主要区别是什么?A. 递归使用B. 子问题重叠C. 问题分解方式D. 算法效率4. 递归算法的基本原理是什么?A. 循环调用B. 重复执行C. 问题分解D. 迭代求解5. 在图算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于?A. 搜索顺序B. 搜索深度C. 使用的数据结构D. 搜索效率6. 哈希表的冲突解决方法中,开放定址法和链地址法的主要区别是什么?A. 存储方式B. 冲突处理机制C. 访问速度D. 空间利用率7. 贪心算法在解决优化问题时,其选择的策略是?A. 随机选择B. 局部最优C. 全局最优D. 动态选择8. 以下哪个算法是解决最近公共祖先问题的?A. 二分查找B. 欧拉路径C. 弗洛伊德算法D. 树的深度优先搜索9. 算法的时间复杂度为O(1)表示该算法的执行时间与输入规模的大小?A. 成正比B. 成反比C. 无关D. 指数关系10. 在大O符号中,O(1)、O(log n)、O(n)、O(n log n)、O(n^2)、O(2^n),按算法效率从高到低排序正确的是?A. O(1), O(log n), O(n), O(n log n), O(n^2), O(2^n)B. O(2^n), O(n^2), O(n log n), O(n), O(log n), O(1)C. O(1), O(log n), O(n log n), O(n), O(n^2), O(2^n)D. O(1), O(n), O(log n), O(n log n), O(n^2), O(2^n)二、简答题(每题10分,共30分)11. 简述二分查找算法的基本思想及其时间复杂度。

算法设计分析期中试题

算法设计分析期中试题

《算法设计与分析》期中试卷一、叙述分治算法的基本思想及一般算法设计模式;二、叙述动态规划算法的基本步骤及动态规划算法的基本要素;三、改进课本P74的Lcs算法,使改进算法不用数组b亦可在O(m+n)的时间内构造最长公共序列;四、求下列函数的渐近表达式(1). 3n2+10n(2).n2/10+2n(3)21+1/n(4)logn3(5)10log3n五、对于下列各组函数发f(n)和g(n),确定f(n)=O((g(n)))或者f(n)= ((g(n)))或者f(n)=θ((g(n))),并简述理由(1). f(n)=logn2 , g(n)=logn+5;(2). f(n)=logn2 , g(n)= √n;(3), f(n)=n, g(n)= logn2;(4). f(n)=nlogn+n,g(n)=logn;(5). f(n)=10.g(n)=log10;(6). f(n)=log2n g(n)=logn(7). f(n)=2n g(n)= 3n;(8). f(n)=2n g(n)= 100n2;六、设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当搜索元素x不再数组中时,返回小于x的最大元素位置i和大于x 的最小元素位置j。

当搜索元素在数组中时,i和j相同,均为x 在数组中的位置七、设a[0:n-1]是有n个元素的数组,k(0<=k<=n-1)是非负整数。

试设计一个算法将子数组a[0:k]与a[k+1:n-1]换位。

要求算法在最坏的情况下耗时O(n),且只用到O(1)的辅助空间。

八、在一个由元素组成的表中出现次数最多的元素称为众数。

试写一个寻找众数的算法,并分析其计算复杂性。

九、设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。

十、给定n中物品和一背包,物品i的重量是ω,体积是b i,其价值为v i ,背包的容量为C,容积为D。

问:应该如何选择装入背包中的物品,使得装入背包中的物品的总价值最大?在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包,不能将物品i装入背包多次,也不能只装入部分的物品i。

算法设计期中试卷平时作业参考解答

算法设计期中试卷平时作业参考解答

《算法分析与设计》2021-2021-2学期期中测试(信息安全专业DQ 教学班)姓名:学号:得分:1. 证明()()()()()()()O f n O g n O f n g n +=+。

(10分)证明:对于任意f 1(n ) O (f (n )),存在正常数c 1和自然数n 1,使得对所有n n 1,有f 1(n ) c 1f (n )成立。

类似,对于任意g 1(n )O (g (n )),存在正常数c 2和自然数n 2,使得对所有n n 2,有g 1(n )c 2g (n )成立。

令c 3=max{c 1, c 2},n 3 =max{n 1, n 2},则对所有的nn 3,有f 1(n ) +g 1(n ) c 1f (n ) + c 2g (n )c 3f (n ) + c 3g (n ) = c 3(f (n ) + g (n ))即()()()()()()()O f n O g n O f n g n +=+成立。

2. 将下列5个函数按渐近增加率由低至高进行排序,要求写出比较进程。

(15分)解: 100log 2log log log 24()log 100log ,()2log ,n n n f n n n f n n n +====(1) 2()f n 是对数函数的幂,5()f n 是幂函数,因此()25()()f n O f n =; (2) ()()()491105log limlimlim log n n n f n n nn n f n n →∞→∞→∞===∞,因此()54()()f n O f n =; (3) ()()423log 1limlimlim 0log n n n f n n n f n n n n→∞→∞→∞===,因此()43()()f n O f n =;(4) 对1()f n 和3()f n 取对数,有()()() 13log ()log loglog loglog ,log ()2log loglog log f n n n n n n n f n n n n =+=Θ=Ω=+=Θ,因为()log n O n =,所以()31()()f n O f n =;因此,5个函数按渐近增加率由低至高排序为25431(),(),(),(),()f n f n f n f n f n 。

算法设计期中试卷、平时作业参考解答

算法设计期中试卷、平时作业参考解答

《算法分析与设计》2012-2013-2学期期中测试(信息安全专业DQ 教学班)姓名: 学号: 得分:1. 证明()()()()()()()O f n O g n O f n g n +=+。

(10分)证明:对于任意f 1(n ) ∈ O (f (n )),存在正常数c 1和自然数n 1,使得对所有n ≥ n 1,有f 1(n ) ≤ c 1f (n )成立。

类似,对于任意g 1(n ) ∈ O (g (n )),存在正常数c 2和自然数n 2,使得对所有n ≥ n 2,有g 1(n ) ≤ c 2g (n )成立。

令c 3 = max{c 1, c 2},n 3 = max{n 1, n 2},则对所有的n ≥ n 3,有 f 1(n ) +g 1(n ) ≤ c 1f (n ) + c 2g (n ) ≤ c 3f (n ) + c 3g (n ) = c 3(f (n ) + g (n ))即()()()()()()()O f n O g n O f n g n +=+成立。

2. 将下列5个函数按渐近增长率由低至高进行排序,要求写出比较过程。

(15分)解: 100log 2log log log 24()log 100log ,()2log ,n n n f n n n f n n n +====(1) 2()f n 是对数函数的幂,5()f n 是幂函数,因此()25()()f n O f n =; (2) ()()()491105log limlimlim log n n n f n n nn n f n n →∞→∞→∞===∞,因此()54()()f n O f n =; (3) ()()423log 1limlimlim 0log n n n f n n n f n n n n→∞→∞→∞===,因此()43()()f n O f n =;(4) 对1()f n 和3()f n 取对数,有()()() 13log ()log loglog loglog ,log ()2log loglog log f n n n n n n n f n n n n =+=Θ=Ω=+=Θ,因为()log n O n =,所以()31()()f n O f n =;因此,5个函数按渐近增长率由低至高排序为25431(),(),(),(),()f n f n f n f n f n 。

(完整版)算法设计与分析考试题及答案

(完整版)算法设计与分析考试题及答案

一、填空题(20分)1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。

2.算法的复杂性有_____________和___________之分,衡量一个算法好坏的标准是______________________。

3.某一问题可用动态规划算法求解的显著特征是____________________________________。

4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y的一个最长公共子序列_____________________________。

5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含___________。

6.动态规划算法的基本思想是将待求解问题分解成若干____________,先求解___________,然后从这些____________的解得到原问题的解。

7.以深度优先方式系统搜索问题解的算法称为_____________。

8.0-1背包问题的回溯算法所需的计算时间为_____________,用动态规划算法所需的计算时间为____________。

9.动态规划算法的两个基本要素是___________和___________。

10.二分搜索算法是利用_______________实现的算法。

二、综合题(50分)1.写出设计动态规划算法的主要步骤。

2.流水作业调度问题的johnson算法的思想。

3.若n=4,在机器M1和M2上加工作业i所需的时间分别为a i和b i,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。

4.使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。

算法分析与设计期中练习

算法分析与设计期中练习

算法分析与设计期中练习一、选择题1. 实践表明可操作性最好且最有实际价值的是(B)情况下的时间复杂性。

A.最好B.最坏C.平均D.特殊2. 算法的时间复杂性函数用T(n)表示,其中参数n是指( A )。

A.问题规模B.运行时间C.输入量D.输出量3. 函数105logn2+n2logn+n3的渐近表达式为(C)。

A.logn2B.n2lognC.n3D. 1054. 二分搜索算法中,如果待查找元素x不在已排好序的n个元素中,则完成该搜索任务需用(B)时间。

A.O(nlogn)B.O(logn)C.O(n)D.O(n2)5. Strassen矩阵乘法问题中,改进算法的计算复杂性关键在于( A )。

A.减少矩阵乘法B.增加矩阵乘法C.减少矩阵加法D.增加矩阵加法6. 最优子结构和重叠子问题是(A)算法的两个基本要素。

A.动态规划B. 贪心C.分支限界D. 分治7. 使用贪心算法解决活动安排问题时使用了(B)优先的贪心选择策略。

A.最早开始活动B.最早结束活动C.时间最短活动D.时间最长活动8. f(n)= log7n,g(n)= 100logn,满足f(n)= ( B )(g(n))。

A. OB.ΩC.Θ9. f(n)= logn8,g(n)= log(100n),满足f(n)= (C)(g(n))。

A. OB.ΩC.Θ10. f(n)= 30(logn)10,g(n)= 30n5,满足f(n)= (A)(g(n))。

A. OB.ΩC.Θ11. f(n)= 105n,g(n)= log10n,满足f(n)= ( C )(g(n))。

A. OB.ΩC.Θ12. f(n)= 4n ,g(n)= 410(3n),满足f(n)= (B)(g(n))。

A. OB.ΩC.Θ13. 贪心法解装载问题时,采用的解题策略是(B)。

P95A.平均分配两艘轮船的载重B. 按集装箱重量从轻至重装船C. 将第一艘轮船尽可能装满D. 将第二艘轮船尽可能装满14. 用回溯法解0-1背包问题时,解空间可构造为(C)的形式。

中南大学算法分析与设计期中测试2011答案

中南大学算法分析与设计期中测试2011答案

测试题1. 简述下列策略的基本思想 (15) (1) 分治将输入规模为n 的问题分成k (一般取k=2)个子问题,子问题相互独立,与原问题性质相同。

先分别对k 个子问题求解,再将子问题的解合并成原问题的解。

由于子问题还很大,故采用递归技术对子问题不断分割,直至子问题可直接简单地解出。

(2) 贪心贪心法希望从求局部最优达到全局最优,即依据贪心策略逐步构造最优解。

即先按确定贪心策略,将输入量排序。

再依次做出当前最优的选择,即当前输入可以构成合法的部分解,则将此输入量选入。

决策一旦做出,就不可再更改。

(3) 动态规划动态规划也是将问题求解过程分成k 个阶段(划分子问题),逐步决策的方法。

与贪心法不同的是,动态规划采用划分子问题,自底向上规划的方法。

要求子问题的划分具备最优子结构性质,即“最优化原理”成立。

需列出当前决策对前阶段决策状态的依赖关系(贝尔曼方程),求出各子问题的最优解,并将子问题的最优解代到下一步的决策中,逐步规划,解出原问题的解。

贝尔曼方程:⎪⎩⎪⎨⎧+==≠}.{min ,0ij i j i j s w u u u2. 下列数组4,1,3,2,16,9,10,14,8,7构成一个堆吗?如果不是,请用自底向上算法建一个 a max-heap.(10) 1) 不是一个最大堆2)按照算法,从i=n/2-5处开始测试i=5 它的孩子节点 2*i=10 ,满足最大堆的规定i=4 ,2i=8,2i+1=9 不满足,整理如下:i=3 ,2i=6,2i+1=7 不满足,整理如下:i=2 ,2i=4,2i+1=5不满足,整理如下:i=1 ,2i=2,2i+1=3不满足,依次整理如下:3. 针对下列叙述,根据正确或错误,选择T或F,并简要说明卫生么.(30)(1) T F nlogn=O(n3) 是上界(2) T F根据master定理, 递归方程T(n)=3T(n/3)+n 的解是T(n)=Θ(n)正确答案:T(n)=O(nlogn)(3)T F 最坏情况下, 归并排序的时间渐进阶是O(n2).归并排序最坏情况下的时间是:T(n)=O(nlogn)(4)T F 图的深度优先搜索的时间是O(n+|E|)。

高一《算法与程序设计》期中考试试卷

高一《算法与程序设计》期中考试试卷

平湖中学2007学年第二学期信息技术期中考试卷考试时间90分钟命题:吴海忠审题:史玮卷Ⅰ客观题本部分题目的答案请涂写在机读卡上一、判断题(每小题2分,共20分;认为正确的在机读卡上涂A,认为错误的涂C)1、事件就是发生在该对象上的事情。

()2、用户在键盘上按下一个键,则会产生一个Click事件。

()3、在面向对象的程序设计中,用属性来描述对象的状态。

()4、在VB中,文本框具有Caption属性。

()5、语句Dim r As Double,意思是声明变量r为双精度实数型。

()6、函数Sqr(X)是求X的算术平方根。

()7、函数Fix(-5.1)和函数Int(-5.1)的返回值都是-5。

()8、a=3:b=2:c=-4是三个赋值语句。

()9、确定性是算法的一个主要特征。

()10、符号常量在程序运行过程中其值也是可以改变的。

()二、选择题(每小题2分,共50分)11、算法是解决问题的()A.程序代码B.方法与步骤C.计算公式D.最终结果12、结构化程序设计的三种基本结构是()A.顺序结构、选择结构、树型结构B选择结构、树型结构、循环结构C.选择结构、赋值结构、树型结构D顺序结构、选择结构、循环结构13、流程图中开始/结束框用来表示算法的开始和结束,以下哪个表示开始/结束框()A. B. C. D.14、“高速公路上的某处有一测速拍照系统,当车速超过规定时速时,照相机启动拍照,否则不拍照”。

用算法描述照相机的工作流程,合适的算法模式是()A.顺序模式B.选择模式C.循环模式D.树型模式15、Visual Basic是一种面向()的程序设计语言。

A.用户B.系统C.电脑D.对象16、如果要改变窗体的标题,则需要设置的属性是()A.Caption B.Name C.Text D.Label17、VB控制工具箱中的控件是()A.文本框B.单选按钮C.图片框D.标签18、下列控件中既可用于接受用户输入文本,又可用于显示文本的是()A.Label 控件B.T extBox 控件C.Timer 控件D.CommandButton 控件19、下列可以作为VB变量名的是()A.num-3 B.3num C.True D.num_220、在程序中用到某一整型变量的数据范围是-40000~40000,则该变量类型应说明为()A.Integer B.Byte C.Long D.Boolean21、用下面语句定义的数组的元素个数是()Dim A (-3 To 5) As IntegerA.6 B.7 C.8 D.922、下列给出的赋值语句中正确的是()A.4 = M B.-M =MC.B=A-3D.x + y = 023、要从文本框TxtShow中输出“中国您好!”,则以下语句正确的是()A.T extBox.Text="中国您好!" B.TxtShow.Text="中国您好!"C.bel="中国您好!" D.TxtShow.Text=“中国您好!”24、与数学表达式|x-31|对应的VB表达式是()A.Sqr(x-31) B.Val(x-31) C.Abs(x-31) D.Str(x-31)25、Len(“Friend”)的值是()。

算法分析与设计试题及答案

算法分析与设计试题及答案

算法分析与设计试题及答案一、选择题1. 下列哪个是属于分治算法的例子?A. 冒泡排序B. 归并排序C. 顺序查找D. 选择排序答案:B2. 在排序算法中,时间复杂度最优的是:A. 冒泡排序B. 插入排序C. 归并排序D. 快速排序答案:C3. 哪个不是动态规划的特点?A. 具有重叠子问题B. 通过递归求解C. 需要保存子问题的解D. 具有最优子结构答案:B4. 在图的广度优先搜索算法中,使用的数据结构是:A. 栈B. 队列C. 数组D. 堆栈答案:B5. 在最小生成树算法中,下列哪个不属于贪心策略?A. Kruskal算法B. Prim算法C. Dijkstra算法D. Prim-Kruskal混合算法答案:C二、简答题1. 请简述分治算法的思想和应用场景。

答案:分治算法的思想是将原问题分解成若干个规模较小且类似的子问题,然后解决子问题,最后将子问题的解合并得到原问题的解。

其应用场景包括排序算法(如归并排序、快速排序)、搜索算法(如二分查找)等。

2. 什么是动态规划算法?请给出一个动态规划算法的示例。

答案:动态规划算法是一种通过将问题分解成子问题并解决子问题来解决复杂问题的方法。

它的特点是具有重叠子问题和最优子结构性质。

以斐波那契数列为例,可以使用动态规划算法求解每一项的值,而不需要重复计算。

3. 图的深度优先搜索和广度优先搜索有什么区别?答案:图的深度优先搜索(Depth First Search,DFS)是一种先访问子节点再访问兄弟节点的遍历算法,通常使用递归或者栈实现。

而广度优先搜索(Breadth First Search,BFS)则是以层次遍历的方式展开搜索,使用队列来实现。

DFS更适合用于搜索路径,BFS则适用于寻找最短路径等。

4. 请简述贪心算法的特点及其应用场景。

答案:贪心算法的特点是每一步都采取当前状态下最优的选择,以期望得到全局最优解。

然而,贪心算法并不一定能求解所有问题的最优解,但对于一些特定问题,贪心算法往往能得到近似最优解。

算法分析与设计试题完整版

算法分析与设计试题完整版

算法分析与设计试题完整版算法分析与设计试题 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】⼀、选择题(20分)1.最长公共⼦序列算法利⽤的算法是(B )。

A、分⽀界限法B、动态规划法C、贪⼼法D、回溯法2.实现棋盘覆盖算法利⽤的算法是(A )。

A、分治法B、动态规划法C、贪⼼法D、回溯法3.下⾯是贪⼼算法的基本要素的是(C )。

A、重叠⼦问题B、构造最优解C、贪⼼选择性质D、定义最优解4.回溯法的效率不依赖于下列哪些因素( D )A.满⾜显约束的值的个数B. 计算约束函数的时间C. 计算限界函数的时间D. 确定解空间的时间5.下⾯哪种函数是回溯法中为避免⽆效搜索采取的策略(B )A.递归函数 B.剪枝函数C。

随机数函数 D.搜索函数6.采⽤最⼤效益优先搜索⽅式的算法是(A )。

A、分⽀界限法B、动态规划法C、贪⼼法D、回溯法7.贪⼼算法与动态规划算法的主要区别是(B )。

A、最优⼦结构B、贪⼼选择性质C、构造最优解D、定义最优解8. 实现最⼤⼦段和利⽤的算法是(B )。

A、分治策略B、动态规划法C、贪⼼法D、回溯法9.优先队列式分⽀限界法选取扩展结点的原则是(C )。

A、先进先出B、后进先出C、结点的优先级D、随机10.下列算法中通常以⼴度优先⽅式系统搜索问题解的是(A )。

A、分⽀限界法B、动态规划法C、贪⼼法D、回溯法⼆、填空题(22分每空2分)1.算法是由若⼲条指令组成的有穷序列,且要满⾜输⼊、输出、确定性和有限性四条性质。

2、⼤整数乘积算法是⽤分治法来设计的。

3、以⼴度优先或以最⼩耗费⽅式搜索问题解的算法称为分⽀限界法。

4、舍伍德算法总能求得问题的⼀个解。

5、贪⼼选择性质是贪⼼算法可⾏的第⼀个基本要素,也是贪⼼算法与动态规划算法的主要区别。

6.快速排序templatevoid QuickSort (Type a[], int p, int r){if (pint q=Partition(a,p,r);QuickSort (a,p,q-1); 哈密顿环问题的算法可由回溯法设计实现。

最新湖南大学算法设计与分析期中试题(及答案)

最新湖南大学算法设计与分析期中试题(及答案)

一、函数渐进阶。

对于下列各组f(x)和g(x),确定他们的关系(15分)a)f(x)=log n10+1;g(x)= log n – 10b)f(x)=5 n10;g(x)=10nc)f(x)=;g(x)= log n +5二、设n个不同的整数排好序后存于T[0:n-1]中。

若存在下标i,0≤i<n,使得T[i]=i,试设计一个时间复杂度为O(logn)的算法找到该下标(15分),并用C/C++编程实现(10分)。

三、分别用贪心算法(20分)、动态规划法(20分)设计求解0-1背包问题的算法。

要求:1.说明算法策略(每种方法5分);2.主要算法步骤(10分);3.分析算法的时间复杂度(5分)四、试设计解决TSP问题的贪心算法(10分),分析时间复杂度(5分),试分析是否存在O(n2log n)的有效算法(5分)。

1函数渐进阶。

对于下列各组f(x)和g(x),确定他们的关系(15分)a)f(x)=log n10+1;g(x)= log n – 10b)f(x)=5 n10;g(x)=10nc)f(x)=;g(x)= log n +52设n个不同的整数排好序后存于T[0:n-1]中。

若下标i,0≤i<n,使得T[i]=i,试设计一个时间复杂度为O(logn)的存在算法找到该下标(15分),并用C/C++编程实现(10分)。

解答:由题可知,数组T[ ]是排列好的整数集。

可以用二分搜索的算法对问题进行操作。

取中间值T[mid],如果T[mid]=mid则可以返回mid;如果T[mid]<mid在mid+1到n-1之间进行上述操作;如果T[mid]>mid在0到mid-1之间进行上述操作。

Int Findi(int T[],int m,int n){Int mid=(m+n)/2;If (T[mid]==mid) return mid;else if(T[mid]>mid) return Findi(T[],m,mid-1);else return Findi(T[],mid+1,n);}算法设计:输入:一个数组T[ ],起始地址m,末端地址n比较指定数组位置的中间元素T[(m+n)/2]与中间地址(m+n)/2.1)如果T[(m+n)/2]等于(m+n)/2,则返回(m+n)/2;2)如果T[(m+n)/2]大于(m+n)/2,则返回在数组T[ ]中m位到(m+n)/2-1之间进行此算法的返回值;3)如果T[(m+n)/2]小于(m+n)/2,则返回在数组T[ ]中(m+n)/2+1到n之间进行此算法的返回值;输出:一个值,若存在则返回i;若不存在则返回0.3分别用贪心算法(20分)、动态规划法(20分)设计求解0-1背包问题的算法。

算法设计期中试卷

算法设计期中试卷

选择题:(每题2分,共30分)1.衡量一个算法好坏的标准是( C )。

A.运行速度快B.占用空间少C.时间复杂度低D.代码短2.当输入规模为n时,算法增长率最快的是( C )。

A.12nB. 100log2nC.2n2D.3nlog3n3.渐进算法分析是指( B )。

A.算法在最好情况、最坏情况和平均情况下的代价B.当规模逐步往极限方向增大时,对算法资源开销“增长率”上的简化分析C.数据结构所占用的空间D.在最小输入规模下算法的资源代价4.当上下限表达式相等时,我们使用下列( C )来描述算法代价?A.大O 表示法B.大Ω表示法C.θ表示法D.小o表示法5.二分搜索算法是利用( A )实现的算法。

A.分治策略B.动态规划法C.贪心法D.回溯法6.下列不是动态规划算法基本步骤的是( A )。

A.找出最优解的性质B.构造最优解C.算出最优解D.定义最优解7.动态规划算法的基本要素为( C )。

A. 最优子结构性质与贪心选择性质B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质D. 预排序与递归调用8.能采用贪心算法求最优解的问题,一般具有的重要性质为( A )。

A. 最优子结构性质与贪心选择性质B.重叠子问题性质与贪心选择性质C.最优子结构性质与重叠子问题性质D. 预排序与递归调用9.备忘录方法是那种算法的变形。

( B )。

A.分治法 B.动态规划法 C.贪心法 D.回溯法10.实现大整数乘法利用的算法是( A )。

A.分治策略B.动态规划法C.贪心法D.回溯法11.使用分治法求解不需要满足的条件是( A )。

A. 子问题必须是一样的B. 子问题不能够重复C. 子问题的解可以合并D. 原问题和子问题使用相同的方法解12.贪心算法与动态规划算法的主要区别是( B )。

A.最优子结构B.贪心选择性质C.构造最优解D.定义最优解13.实现最长公共子序列利用的算法是( B )。

A.分治策略B.动态规划法C.贪心法D.回溯法14.使用二分搜索算法在1000个有序元素表中搜索一个特定元素,在最坏情况下,搜索总共需要比较的次数是( A )。

浙师大附中高二期中测试-算法专题(答案及解析)

浙师大附中高二期中测试-算法专题(答案及解析)

浙师大附中2019学年第一学期期中教学质量检测第一部分信息技术(共50分)一、选择题(本大题共15小题,每小题2分,共30分。

每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1.【答案】B【解析】本题主要考察了对vb对象、方法、事件的了解。

在学习中应结合具体案例进行理解。

截图中AddItem、Clear同属于对象List1的方法,故B正确。

2.【答案】C【解析】本题考查VB对象属性格式,引用对象属性的格式为:对象名称.属性名称,Text控件文本属性为text。

3.【答案】D【解析】本题考查事件过程的格式,应通过上机实践加深理解,熟练使用。

根据VB中事件过程的一般格式可知,该过程的过程名为“Obj_Click”;该对象的对象名为“Obj”;“Sub”是过程语句组成部分,不是该对象的类名。

4. 【答案】D【解析】本题主要考查VB程序的基本运算与表达式,Mid(″123456″,6,1) =″6″。

5. 【答案】D【解析】本题主要考查VB语言的基本运算式与基本语句,数学表达式在VB程序设计中应该表示为(-b+sqr(b*b-4*a*c))/2/a ,故D正确。

6. 【答案】D【解析】文本框Text1的text属性值为“H”。

选项B不是赋值语句,通过赋值语句“Label1.caption="input" ”可把Label1中的文字改为“input”。

运行期间,命令按钮Command1的Caption属性值可以修改。

7.【答案】D【解析】本题主要考查的是算法的流程图,分析流程图、执行流程图,并对流程图进行分析,掌握流程图8.【答案】D【解析】本题考查数组的定义,下标越界就是针对数组变量的使用。

而a(1 To 5)只定义了a(1)~ a(5)。

11.【答案】D【解析】本题主要考查的是VB程序的相关知识,熟悉VB程序的代码是解题的关键。

阅读程序,分析得出,该段代码能实现的功能是:求100—999之间的两个连续奇数之和能被7整除的奇数对的个数,故D正确。

算法设计与分析期中笔试题(2015)(答案)

算法设计与分析期中笔试题(2015)(答案)

…,
rn 是给定正整数,试
给出一个购买许可证的顺序,以使得花费的总钱数最少. 设计一个算法
求解这个问题,说明设计思想,证明其正确性并分析算法最坏情况下的
时间复杂度.
答案
排序 ri 为递减次序,使得 r1 r2 … rn,依次购买. 设最优解为 OPT(I),假设在 OPT(I)存在逆序,即 rj < ri,但是 j 在 i 前面购买. 一定有相邻的逆序, 即存在 i 和 j, 使得 j 在 i 前面与 i
4/8
得分
五、(15 分)在一组服务器S = {������1, ������2, … , ������������}上放置文件副本, 如果 副本放置在������������上, 则产生������������(正的整数值)的存储代价. 当在������������上发生对 该文件的访问时, 如果文件副本在������������上, 则无访问代价; 如果不在������������上,
至多可得到一个软件许可证. 每个许可证当前售价都是 1000 元,但是第
i 个许可证的售价将按照 ri >1 的指数因子增长,i=1,2,…,n. 例如,
第 i 个许可证的售价在 1 个月后将是 ri 1000 元,2 个月后将是 ri21000
元,k
个月后将是
rk i
1000
元.
假设
r1,
r2,
出求解过程.
������(������)
=
4������
������ (2)
+
������2
log ������ ������
������(1) = 1
解答:
������(������) = ������(������2 log������+1������ )

计算机算法设计分析试题及答案

计算机算法设计分析试题及答案

算法设计与分析试卷一、填空题(20分,每空2分)1、算法的性质包括输入、输出、___、有限性。

2、动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。

3、设计动态规划算法的4个步骤:(1)找出____,并刻画其结构特征。

(2)_______。

(3)_______。

(4)根据计算最优值得到的信息,_______。

4、流水作业调度问题的johnson算法:(1)令N1=___,N2={i|ai>=bj};(2)将N1中作业依ai的___。

5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson 不等式_____。

6、最优二叉搜索树即是___的二叉搜索树。

二、综合题(50分)1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分)2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)3、最大子段和问题的简单算法(10分)int maxsum(int n,int *a,int & bestj){intsum=0;for (int i=1;i<=n;i++)for (int j=i;j<=n;j++)int thissum=0;for(int k=i;k<=j;k++)_____;if(thissum>sum){sum=thissum;______;bestj=j;}}return sum;}4、设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree? (15分)Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w){for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;}for(int r=0;r<n;r++)for(int i=1;i<=n-r;i++){int j=i+r;w[i][j]=w[i][j-1]+a[j]+b[j];m[i][j]=______;s[i][j]=i;for(int k=i+1;k<=j;k++){int t=m[i][k-1]+m[k+1][j];if(_____) {m[i][j]=t; s[i][j]=k;}}m[i][j]=t; s[i][j]=k;}}5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,b3,b4)=(6,2,9,15) 用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式? (10分)3、0——1背包求最优值的步骤分为哪几步?(10分)参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算出最优值构造最优解{i|ai<bi} ai的非减序排序;将N2中作业依bi的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}最小平均查找长度综合题:20 min{ai+T(N-{i},bi)}(1=<i<=n) thissum+=a[k] besti=i 0 m[i+1][j] t<m[i][j]法一:min(ai,bj)<=min(aj,bi)因为min(a1,b2)<=min(a2,b1) 所以1→2 (先1后2) 由min(a1,b3)<=min(a3,b1) 得1→3 (先1后3)同理可得:最后为1→3→4→2法二:johnson算法思想 N1={1,3,4} N2={2} N¹1={1,3,4} N¹2={2} 所以 N¹1→N¹2 得:1→3→4→2简答题:1 、(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《算法设计与分析》期中试卷
一、叙述分治算法的基本思想及一般算法设计模式;
二、叙述动态规划算法的基本步骤及动态规划算法的基本要素;
三、改进课本P74的Lcs算法,使改进算法不用数组b亦可在O(m+n)
的时间内构造最长公共序列;
四、求下列函数的渐近表达式
(1). 3n2+10n
(2).n2/10+2n
(3)21+1/n
(4)logn3
(5)10log3n
五、对于下列各组函数发f(n)和g(n),确定f (n)=O((g(n)))或者f(n)
= ((g(n)))或者f(n)=θ((g(n))),并简述理由
(1). f(n)=logn2 , g(n)=logn+5;
(2). f(n)=logn2 , g(n)= √n;
(3), f(n)=n , g(n)= logn2;
(4). f(n)=nlogn+n,g(n)=logn;
(5). f(n)=10.g(n)=log10;
(6). f(n)=log2n g(n)=logn
(7). f(n)=2n g(n)= 3n;
(8). f(n)=2n g(n)= 100n2;
六、设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当搜索元素x不
----------------------------精品word文档值得下载值得拥有----------------------------------------------
再数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。

当搜索元素在数组中时,i和j相同,均为x在数组中的位置
七、设a[0:n-1]是有n个元素的数组,k(0<=k<=n-1)是非负整数。

试设计一个
算法将子数组a[0:k]与a[k+1:n-1]换位。

要求算法在最坏的情况下耗时O(n),且只用到O(1)的辅助空间。

八、在一个由元素组成的表中出现次数最多的元素称为众数。

试写一个寻找众数
的算法,并分析其计算复杂性。

九、设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。

十、给定n中物品和一背包,物品i的重量是ω,体积是b i,其价值为v i ,背包
的容量为C,容积为D。

问:应该如何选择装入背包中的物品,使得装入背包中的物品的总价值最大?在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包,不能将物品i装入背包多次,也不能只装入部分的物品i。

试设计一个解此问题的动态规划算法,并分析算法的计算复杂性。

她含着笑,切着冰屑悉索的萝卜,
她含着笑,用手掏着猪吃的麦糟,
她含着笑,扇着炖肉的炉子的火,
她含着笑,背了团箕到广场上去
晒好那些大豆和小麦,
大堰河,为了生活,
在她流尽了她的乳液之后,
她就用抱过我的两臂,劳动了。

大堰河,深爱着她的乳儿;
在年节里,为了他,忙着切那冬米的糖,
为了他,常悄悄地走到村边的她的家里去,
为了他,走到她的身边叫一声“妈”,
大堰河,把他画的大红大绿的关云长
贴在灶边的墙上,
大堰河,会对她的邻居夸口赞美她的乳儿;
大堰河曾做了一个不能对人说的梦:
----------------------------精品word文档值得下载值得拥有----------------------------------------------
在梦里,她吃着她的乳儿的婚酒,
坐在辉煌的结彩的堂上,
而她的娇美的媳妇亲切的叫她“婆婆”
…………
大堰河,深爱她的乳儿!
大堰河,在她的梦没有做醒的时候已死了。

她死时,乳儿不在她的旁侧,
她死时,平时打骂她的丈夫也为她流泪,
五个儿子,个个哭得很悲,
她死时,轻轻地呼着她的乳儿的名字,
大堰河,已死了,
她死时,乳儿不在她的旁侧。

大堰河,含泪的去了!
同着四十几年的人世生活的凌侮,
同着数不尽的奴隶的凄苦,
同着四块钱的棺材和几束稻草,
同着几尺长方的埋棺材的土地,
同着一手把的纸钱的灰,
大堰河,她含泪的去了。

这是大堰河所不知道的:
她的醉酒的丈夫已死去,
大儿做了土匪,
第二个死在炮火的烟里,
第三,第四,第五
而我,我是在写着给予这不公道的世界的咒语。

当我经了长长的飘泊回到故土时,
在山腰里,田野上,
兄弟们碰见时,是比六七年
----------------------------精品word文档值得下载值得拥有----------------------------------------------。

相关文档
最新文档