算法设计分析期中试题

  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不再数组中时,返回小于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。

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

相关文档
最新文档