1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 算法设计与分析选择题 简答题 证明题整理

算法设计与分析选择题 简答题 证明题整理

时间:2020-08-26 09:49:00

相关推荐

算法设计与分析选择题 简答题 证明题整理

一、选择题

排序问题不适合用动态规划的方法解决计算过程与算法相比,缺少有穷性对回溯法描述正确的是

A 解必须表示成2n-元组的形式(x1,x1,…,xn,xn)

B 回溯法的解必须满足一组综合的约束条件,称为解函数

C 满足显式约束条件的所有元组不能确定一个可能的解空间

D 隐式约束描述于元组中元素xi必须被此相关的情况

DA n-元组B 解空间C 能

以比较为基础的分类算法在最坏情况下的时间下届是oumiga(nlogn)

二、简答题

以比较为基础的检索算法的时间下界

O(logn)FIND(n)不大于树中的根到一个叶子结点的最长路径的距离,在所有的树中都必定有n个内结点与X在A中可能的n中情况相对应,所有内结点所在的级数小于等于k,最多有2^k-1个内结点,因此n<=2^k-1,FIND(n)=k>=「log(n+1)」(取上)

算法的重要特性

确定性、可行性、输入、输出、有穷性

分治法的三个主要步骤

- 将n个输入分成k个不同的可独立求解的子问题- 求出这些子问题的解- 通过适当方法将子问题合并成整个问题的解

什么是最优性原理?举一个最优性原理不成立的例子

无论过程的初始状态和初始决策是什么,其余的决策都必须相对于初始决策所产生的状态构成一个最优决策序列。多段图问题:路径和改成路径乘积并允许出现负数(成立问题:流水线调度问题、货郎担问题)

举例说明贪心算法中将目标函数直接作为度量标准不一定能得到最优解

背包问题:M=6;(p1,p2,p3)=(6,4,3);(w1,w2,w3)=(6,2,1);取效益值最大的选了p1,此时背包已经无法再继续装载,(1,0,0)不是最优解,最优解是(0.5,1,1)

简述回溯法中问题状态、解状态和答案状态的定义

问题状态:树中的每一个节点确定所求解的一个问题状态解状态:解状态是这样一些状态s,对于这些问题状态,由根到S的这条路径确定了这个解空间中的一个元组答案状态:答案状态是这样一些状态s,对于这些解状态而言,由根到s的这条路径确定了问题的一个解元组大小可变的树中,所有的结点都是解状态;在元组大小不变的树中,只有叶结点是解状态。解状态的树结构称为状态空间树

贪心方法设计求解的核心问题是什么?给出贪心方法解决背包问题的形式化描述,包括约束条件、可行解、目标函数和最优解

核心问题是选择能产生问题最优解的最优度量标准形式化描述:极大化:sigma(PiXi)约束条件:sigma(WiXi)<=M0<=Xi<=1,Pi>0,Wi>0,1<=i<=n满足约束条件的任一集合(X1,...,Xn)是一个可行解,使目标函数取得最大值的可行解是最优解

采用Merge算法进行一次归并,两个待归并序列的元素数均为m,试问Merge最好和最坏情况下的执行时间分别是多少?简要解释。

最好情况下是O(n),最坏情况下是O(n^2)

贪心方法对于0/1背包问题能否得到最优解?简述理由

不一定,按物品效益值的非递增次序装包不能得到最优解

简述回溯法与分支限界法的主要区别

回溯法用限界函数去杀死还没有全部生成其儿子节点的那些活节点,而分支限界法E-结点一直保持到死为止。

分支限界算法中,c🎩和c是什么关系》给出一种求解15谜问题的c🎩定义

c🎩是c的下界,c🎩=f(x)+g🎩(x)f是由根到结点x路径的长度,g🎩是以x为根的子树中由x到目标状态的一条最短路径长度的估计值

NP难问题和NP完全问题有什么区别?

NP完全问题一定是NP难问题,NP难问题不一定是NP完全问题NP问题:能在多项式时间内验证得出一个正确解的问题NP完全问题:存在这样一个NP问题,所有的NP问题哦度可以约化到它NP难问题:所有的NP问题都可以约化到它,但它不一定是一个NP问题COOK定理:可满足在P内,当且仅当P=NP可满足性问题:对于变量的任意一组真值指派确定的公式表示为真

LC检索算法的思想

选取成本函数估计值最小的活节点作为下一个E-结点

求解最优二分检索树算法OBST中,在计算C(i,j)时,Knuth通过吧检索限制在什么范围内得到最优的K,使算法的时间复杂度由O(n3)降到O(n2)

使C(i,j)去最小值的k可以在区间R(i,j-1)<=k<=R(i+1,j)中求出,而不必在i<=k<=j这个相对较大的范围内求出

LC算法是否每次都能选择出具有最小结点成本函数的结点作为下一个E结点?简述理由

不一定。如果满足以下两点:- 对于每一个结点X,有c🎩<=c且对于答案结点X有c🎩=c- 采用改进后的算法LC1:从活节点表中删除元素时判断是否为答案结点

给出活节点、死节点、E-结点的定义,由此说明回溯法与分支限界法的联系和区别

活节点:自己已经生成而其所有儿子节点还没有全部生成的结点,表示已经开始处理但是还没有处理完的结点集合。死节点:不需要再进一步扩展或者儿子结点已经全部生成的结点,表示已处理完毕的结点E-结点:当前正在生成其儿子结点的结点,即正在处理的结点

给出LC分支限界检索中活节点表使用的数据结构,并阐述LC分支限界检索的检索策略

队列(FIFO)、堆栈(LIFO)

给出回溯法求解问题的思想及步骤

回溯法运行过程中,状态空间树的所有节点没有完全遍历到,但为什么没有丢解?

不满足条件的节点被杀死,所以后面的节点即使没有遍历到也不会影响最终的结果。

三、证明题

证明对于带有期限的作业排序问题用贪心方法总是得到一个最优解

定理5.2

证明如果n mod (k-1)=1,则对于所有的(q1,q2,…,qn)利用贪心方法可以生成一棵最优的n元归并树

pass

证明对于背包问题,算法GREEDY KNAPASACK对于给定的背包问题实例生成一个最优解

证明定理5.3

设I使在两台设备上做流水调度的任一实例,证明对于同一个I,每种POFT调度的长度和每种OFT调度的长度相同。因此6.8节的算法也生成一种POFT调度。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。