欢迎来到天天文库
浏览记录
ID:44655084
大小:65.02 KB
页数:4页
时间:2019-10-24
《算法分析的复习总结(精品)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、递归:直接或间接的调用自身算法称为递归算法;用函数自身给出定义的函数称为递归函数。分治法的设计思想是,将一个难以肓接解决的人问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治法(divide-and*conquer)的基本思想:A分割成k个更小规模的子问题。B对这k个了问题分别求解。如果了问题的规模仍然不够小,则再划分为k个了问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。C将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。设计动态规划算法的步骤(1)找出最优解的性质,并刻划莫
2、结构特征。(2)递归地定义最优值。(3)以白底向上的方式计算岀最优值。(4)根据计算最优值时得到的信息,构造最优解。最优子结构性质:矩阵连乘计算次序问题的最优解包含着其了问题的最优解。递归算法求解问题时,每次产生的子问题并不总是新问题,冇些了问题被反复计算多次。这种性质称为子问题的重叠性质贪心算法:贪心算法总是作出在当前看來授好的选择,它并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。活动安排问题就是要在所给的活动集合中选出最犬的相容活动子集合,是可以用贪心算法有效求解的很好例子。贪心算法:贪心算法求解的这类问题一般具冇2个
3、重要的性质:贪心选择性质和最优子结构性质。贪心选择性质是指所求问题的整体最优解可以通过-•系列局部最优的选择,即贪心选择来达到。当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质贪心算法与动态规划算法的爰异:贪心算法和动态规划算法都要求问题具有最优了结构性质,这是2类算法的一个共同点。动态规划算法通常以自底向上的方式解各了问题,而贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。背包问题:给定n种物品和一个廿包。物品i的重量是Wi,其价值为Vi,背包的容量
4、为C。应如何选择装入背包的物品,使得装入背包屮物品的总价值最人?单源最短路径基本思想是,设置顶点集合S并不断地作贪心选择來扩充这个集合。一•个顶点属于集合S当且仅当从源到该顶点的最煎路径长度已知。初始吋,S中仅含有源。设u是G的某一个顶点,把从源到u中间只经过S中顶点的路称为从源到u的特殊路径,并用数组dist记录当前每个顶点所对应的最短特殊路径长度。Dijkstra算法每次从V-S屮取出具有最短特殊路长度的顶点u,将u添加到S屮,同时对数纟FUlist作必要的修改。一旦S包含了所冇V中顶点,dist就记录了从源到所冇其它顶点Z间的最短路径长
5、度。回溯法的基本思想:(1)针对所给问题,定义问题的解空间:(2)确定易于搜索的解空间结构;(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。常见的两种分支限界法:(1)队列式(FIFO)分支限界法。按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。(2)优先队列式分支限界法。按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点。布线问题算法思想:解此问题的队列式分支限界法从起始位置a开始将它作为第一个扩展结点。与该扩展结点相邻并且可达的方格成为可行结点被加入到活结点队列中,并且将这些方格标记为1,即从起
6、始方格a到这些方格的距离为1。接着,算法从活结点队列中取出队首结点作为下一个扩展结点,并将与当前扩展结点相邻且未标记过的方格标记为2,并存入活结点队列。这个过程一直继续到算法搜索到目标方格b或活结点队列为空时为上。即加入剪枝的广度优先搜索。随机存储机RAM它描述的形式计算机是一台带累加器计算机,他不允许程序修改其自身,RAM由只读输入带、只写输入带、程序存储部件、内存储器和指令计数器5个部分组成。P类和NP类语言的定义P={LIL是一个能在多项式时间内被一台DTM所接受的一眼}NP+{LIL是一个能在多项式时间内被一台NDTM所接受的语言}由
7、于一台确定性图灵机可看作是非确定性图灵机的特例,所以可在多项式时间内被非确定性图灵机接受。故P属于NPP类问题:是确定性计算模型下的易解问题类。NP类问题:是非确定性计算模型下的易验证问题类。NP完全类问题:即多项式复杂度的非确定性问题类;简单的写法是NP二P?问题就在这个问号上,到底是NP等于P,述是NP不等于P。算法的渐进时间复杂性的含义?答:当问题的规模n趋向无穷大时,彩响算法效率的重要因索是T(n)的数量级,而具他因索仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。时间复杂度T(n)的数量级(阶)称为渐进时间复杂
8、性o最坏情况下的时间复杂性和平均时间复杂性有什么不同?答:最坏情况下的时间复杂性和平均时间复杂性考察的是n固定时°,不同输入实例下的算法所耗时间。最坏情况卜的时间复
此文档下载收益归作者所有