算法设计与分析算法汇总概述.ppt
《算法设计与分析算法汇总概述.ppt》由会员分享,可在线阅读,更多相关《算法设计与分析算法汇总概述.ppt(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲:白静Email:算法设计与分析-算法汇总2023/5/31算法设计与分析2第一局部:问题集锦2023/5/31算法设计与分析3问题 问题描述搜索排好序的数组中找到某个特定元素x排序对n 个元素进行排序大整数乘法x、y 都是n 位的二进制整数,计算它们的乘积XYStrassen 矩阵乘法 A、B 是两个n*n 矩阵,求解它们的成绩AB矩阵连乘 矩阵连乘的最优计算次序问题(加括号问题)棋盘覆盖用L型骨牌覆盖特定的特殊棋盘2k*2k(包含一个不同方格)最接近点对给定平面上n 个点,找其中的一对点,使得在n 个点组成的所有点对中,该点对间的距离最小循环赛日程表设有n=2k个运动员进行网球循环赛。
2、设计一个比赛日程表,满足1)每个选手必须与其他n-1 个选手各赛一次;2)每个选手一天只能赛一次;3)循环赛一共进行n-1 天最长公共子序列给定两个序列X=x1,x2,xm 和Y=y1,y2,yn,找出X 和Y 的最长公共子序列凸多边形最优三角剖分给定凸多边形P=v0,v1,vn-1,以及定义在由多边形的边和弦组成的三角形上的权函数W。要求确定该凸多边形的三角剖分,使得该三角剖分所对应的权,即该三角剖分中诸三角形上权之和为最小。圆排列给定n 个大小不等的圆c1,c2,Cn,现要将这n 个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n 个圆的所有排列中找出有最小长度的圆排列
3、连续邮资n 中不同面值的邮票,每张信封上最多允许贴m 张邮票,给出邮票面值的最佳设计,使邮封上可提出最大连续邮资。2023/5/31算法设计与分析4问题0-1 背包问题背包问题活动安排问题最优装载装载问题哈夫曼编码单源最短路径旅行售货员最小生成树多机调度流水作业调度批处理作业调度符号三角形n 后问题最大团问题图的m 着色线性时间选择给定线性序集中n 个元素和一个整数k,要求找出这n 个元素中第k 小的元素2023/5/31算法设计与分析5其次局部:算法集锦2023/5/31算法设计与分析6算法 一句话描述递归算法 循环调用自己的算法分治算法 大问题分割为小问题,一直分解到非常容易求解的问题,再
4、通过合并算法合并求出大问题的解贪心算法 优化问题,总是做出当前看来最好的选择。该类问题往往具有贪心选择性质及最优子结构性质贪心选择:所求问题的整体最优解可以通过一系列局部最优的选择,及贪心选择来达到。反正,如果A 是最优解,A包含当前最优选择,本来就满足;否则,将A 中某个选择替换为当前最优选择,仍然满足最优解。最优子结构性质:一个问题的最优解包含其子问题的最优解。动态规划 优化问题,递推中往往包含min,max,即当前【i,j】规模的问题往往可以转换为min(【i,k】+【k+1,j】+v(k,k+1)动态规划问题满足最优子结构性质回溯法 通用解题法。既带有系统性又带有跳跃性。找出满足约束条
5、件的所有解。深度优先搜索。盲目搜索。系统性:体现为子集树或排列树的构造跳跃性:体现为子树的剪枝,包括约束性剪枝(不满足约束条件)和限界性剪枝(得不到最优解剪枝)分支限界法 找出满足约束条件的一个解。广度优先搜索或最小耗费优先搜索。启发式搜索。概率算法近似算法根本思想分析-回溯法&分支限界法 回溯法:首先确定解空间的组织构造,接着就从开头结点(根结点)动身,以深度优先的方式搜寻整个解空间。这个开头结点就成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结点处,搜寻向纵深方向移至一个新结点。这个新结点就成为一个新的活结点,并成为当前扩展结点。假设在当前的扩展结点处不能再向纵深方向移动,则当前扩
6、展结点就成为死结点。换句话说,这个结点不再是一个活结点。此时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点。回溯法即以这种工作方式递归地在解空间中搜寻,直至找到所要求的解或解空间中已没有活结点时为止 分支限界法:确定解空间的组织构造,以广度优先或以最小消耗(最大效益)优先的方式搜寻问题的解空间树。在搜寻问题的解空间树时,分支限界法与回溯法对当前扩展结点所使用的扩展方式不同。在分支限界法中,每一个活结点只有一次时机成为扩展结点。活结点一旦成为扩展结点,就一次性产生其全部儿子结点。在这些儿子结点中,那些导致不行行解或导致非最优解的儿子结点被舍弃,其余儿子结点被子参加活结
7、点表中。此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程始终持续到找到所求的解或活结点表为空时为止。7用法比较-回溯法&分支限界法 分支限界法类似于回溯法,也是一种在问题的解空间树T 上搜寻问题解的算法。但在一般状况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T 中满足约束条件的全部解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出访某一目标函数值到达极大或微小的解,即在某种意义下的最优解。由于求解目标不同,导致分支限界法与回溯法在解空间树T 上的搜寻方式也不一样。回溯法以深度优先的方式搜寻解空间树T,而分支限界法
8、则以广度优先或以最小消耗优先的方式搜寻解空间树T。分支限界法的搜寻策略是:在扩展结点处,先生成其全部的儿子结点(分支),然后再从当前的活结点表中选择下一个扩展对点。为了有效地选择下一扩展结点,以加速搜寻的进程,在每一活结点处,计算一个函数值(限界),并依据这些已计算出的函数值,从当前活结点表中选择一个最有利的结点作为扩展结点,使搜寻朝着解空间树上有最优解的分支推动,以便尽快地找出一个最优解。8用法比较-回溯法&分支限界法 分支限界法常以广度优先或以最小消耗(最大效益)优先的方式搜寻问题的解空间树。问题的解空间树是表示问题解空间的一棵有序树,常见的有子集树和排列树。在搜寻问题的解空间树时,分支限
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 汇总 概述
限制150内