9512.net
甜梦文库
当前位置:首页 >> 其它课程 >>

算法复习材料


☆设计思想:动态规划法将待求解问题分解成若干个相互重叠的子问题, 每个子 问题对应决策过程的一个阶段, 一般来说,子问题的重叠关系表现在对给定问题 求解的递推关系中, 将子问题的解求解一次并填入表中,当需要再次求解此子问 题时, 可以通过查表获得该子问题的解而不用再次求解,从而避免了大量重复计 算。 解题过程:原问题→(子问题 1、子问题 2?子问题 n)→填表→原问题的解 解题步骤:找出最优解的性质,并刻画其结构特征。递归地定义最优值。以自底 向上的方式计算出最优值。根据计算最优值时得到的信息,构造最优解。 适用范围:满足最优性原理。 ☆设计思想:根据已有的信息和局部最优原则做出选择, 并且无论结果是什么都 不会改变。 解题过程:考虑以下几个方面: (1)候选集合 C(2)解集合 S: (3)解决函数 solution (4)选择函数 select(5)可行函数 feasible 解题步骤:使用选择函数 select 按照某种贪心策略,从候选集合 c 中选择一个元 素 x,用可行函数 feasible 去判断解集合 s 加入 x 后是否可行,如果可行,把 x 合并到解集合 s 中,并把它从候选集合 c 中删去;否则,丢弃 x,从候选集合 c 中根据贪心策略再选择一个元素,重复上述过程,直到找到一个满足解决函数 solution 的完整解。 适用范围:具有最优子结构性质和贪心选择性质的问题 ☆贪心算法与动态规划算法的差异:以 0-1 背包问题为例,贪心选择之所以不能 得到最优解是因为在这种情况下,它无法保证最终能将背包装满,部分闲置的背 包空间使每公斤背包空间的价值降低了。事实上,在考虑 0-1 背包问题时,应比 较选择该物品和不选择该物品所导致的最终方案,然后再作出最好选择。由此就 导出许多互相重叠的子问题。 这正是该问题可用动态规划算法求解的另一重要特 征。

☆回溯法的一半框架(递归形式) :主算法 1、X={};2、flag=false;3、advance (1) ;4、if(flag)输出解 X else 输出“无解” ; Advance(int k)1、对每一个 x∈S(下标 k)循环执行下列操作 1.1 x(下标 k) =x;1.2 将 x(下标 k)加入 X;1.3 if(X 是最终解)flag=true;return;1.4 else if (X 是部分解)advance(k+1) ; 回溯法的非递归迭代形式的一半框架: 1、X={};2、flag=flag;3、k=1;4while(k)=1)4.1 当(S(下标 k)没有被 穷举)循环执行下列操作 4.1.1 x(下标 k)=S(下标 k)中的下一个元素;4.1.2 将 x(下标 k)加入 X;4.1.3 if(X 为最终解)flag=true;转步骤 5;4.1.4 else if (X 为部分解)k=k+1;转步骤 4; 4.2 重置 S(下标 k) ,使得下一个元素排在 第 1 位; 4.3 k=k-1; 5、if flag 输出解 X;else 输出“无解” ☆设计思想:首先,确定一个合理的限界函数,并根据限界函数确定问题的目标 函数的界[down, up];然后,按照广度优先策略遍历问题的解空间树:当搜索到 达一个扩展结点时, 一次性扩展它的所有孩子,估算每一个孩子结点的目标函数 的上(下)界值(又称为耗费函数值);将那些满足约束条件且耗费函数值不超过目 标函数的界的孩子, 插入活动结点表 PT 中,再从 PT 表中取耗费函数值极大(小)

的下一结点同样扩展;直到找到所需的解或 PT 表为空为止。其耗费函数值是极 值(极大或极小),则该叶子结点对应的解就是问题的最优解;否则,调整问题的 目标函数的界为该叶子结点的耗费函数值,然后丢弃 PT 表中超出目标函数界的 结点,再次选取结点继续扩展。 解题过程:1.根据限界函数确定目标函数的界[down, up];2.将待处理结点表 PT 初始化为空;3.对根结点的每个孩子结点 x 执行下列操作 3.1 估算结点 x 的目标函数值 value; 3.2 若(value>=down),则将结点 x 加入表 PT 中;4.循环直到某个叶子结点的目 标函数值在表 PT 中最大 4.1 i=表 PT 中值最大的结点; 4.2 对结点 i 的每个孩 子结点 x 执行下列操作 4.2.1 估算结点 x 的目标函数值 value; 4.2.2 若(value>=down),则将结点 x 加入表 PT 中; 4.2.3 若(结点 x 是叶子结点 且结点 x 的 value 值在表 PT 中最大), 则将结点 x 对应的解输出, 算法结束;4.2.4 若(结点 x 是叶子结点但结点 x 的 value 值在表 PT 中不是最大), 则令 down=value, 并且将表 PT 中所有小于 value 的结点删除; ☆分支限界法与回溯法的区别: 求解目标不同: 回溯法——找出满足约束条件的 所有解 分支限界法——找出满足条件的一个解,或某种意义下的最有解搜索方式不同: 回溯法——深度优先分支限界法——广度优先或最小耗费优先。此外,在分支限 界法中,每一个活结点只有一次机会成为扩展结点。


赞助商链接

更多相关文章:
算法导论复习资料
算法导论复习资料_工学_高等教育_教育专区。这是关于算法导论的一份复习提纲算法导论复习资料——软件 0902 高超 算法导论复习资料 一、选择题:第一章的概念、术语...
常用算法复习资料
假定二叉树 B 共有 n 个结点,试分析算法 traversal(root)的时间 C 算法如下...直至图中所有顶点都被访问为 止 数据结构复习资料 1 2010-01-06 10:43 一...
算法复习提纲
算法复习提纲_其它课程_高中教育_教育专区。第一章 1.计算机解决问题的基本过程 分析问题—设计算法—编写程序—程序运行 2.算法及特征、描述算法的方法 (1)算法就...
算法期末复习
算法分析与设计》期末... 13页 1下载券 必修3算法初步复习题(答... 2页...口腔执业医师实践技能复习资料 中医护理学基础重点 执业医师实践技能考试模拟试题 ...
算法复习
算法复习题 - 算法与程序设计 1、 统计一个用户一年的水费、电费、天然气费。由键盘输入用水立方数,用电度数和使用 天然气立方数,计算出总费用并输出。已知生活...
算法复习试题
算法复习试题(仅供参考)2009 一、填空题(每空 1 分,共 15 分) 1、一个正确的算法应当具有五个特性: (有穷性) 、 (确定性) 、( 能行性 )、 输入和...
《集合与算法复习材料
《集合与算法复习材料一、集合元素的性质(确定性、互异性、无序性) 例 1: (1)已知 1?{x2 , x} ,则 x ? ;, (2)已知集合 A= {(x,y)|y=2x ...
算法分析与设计》期末考试复习题纲(完整版)
算法分析与设计》期末复习题一、选择题 1. 算法必须具备输入、输出和( D )...口腔执业医师实践技能复习资料 中医护理学基础重点 执业医师实践技能考试模拟试题©...
算法设计与分析复习题目及答案
算法设计与分析复习题目及答案_IT认证_资格考试/认证_教育专区。一。选择题 1...算法设计与分析复习资料 2页 1下载券 ©2016 Baidu 使用百度前必读 | 文库协议...
算法复习大纲
算法复习大纲_研究生入学考试_高等教育_教育专区。第一章: 1、 通俗地将,算法...2014教师资格材料分析辅... 2014小学教师资格考试《... 2014年幼儿园教师资格考...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图