- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈工程算法期末考试知识点(可缩印)
简答题:
算法分类
按照问题类型分类:查找/排序/串处理/图/组合问题/几何问题/数值问题等
按照算法技术分类:直接法/分治技术/贪婪技术/动态规划/近似算法/分支定界法/回溯法/线性规划/网络流/概率算法/并行算法等
算法评价
常见的多项式阶有:O(1) O(logn)O(n) O(nlogn)O(n2) O(n3)
常见的指数阶有:O(2n)O(n!) O(nn)
分治算法总体思想:
1. 将要求解的较大规模的问题分割成多个更小规模的子问题。
2. 对这些子问题分别求解。
3. 将求出的小规模的问题的解合并为一个更大
规模的问题的解,自底向上逐步求出原来问题的解。
分治法的适用条件:
1. 该问题的规模缩小到一定的程度就可以容易地解决;
2. 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质
3. 利用该问题分解出的子问题的解可以合并为该问题的解;
4. 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。
大整数乘法: XY = ac 2^n + ((a-c)(b-d)+ac+bd) 2^n/2 + bd
Strassen矩阵乘法
使用动态规划方法的基本条件:
– 最优子结构
? 当一个问题的优化解包含了子问题的优化解时,我们说这
个问题具有优化子结构
? 缩小子问题的集合,只要哪些优化问题包含了优化子问题,
降低实现复杂性
– 重叠子问题
? 在问题的求解过程中,很多子问题的解被多次重复使用
– 无后效性
? 即一个问题被划分阶段后,阶段I中的状态只能由i+1中
的状态通过状态转移方程得来,与其他状态没有关系,
特别是与未发生的状态没有关系
动态规划法的求解步骤:
? 找出最优解的性质,并刻划其结构特征。
? 递归地定义最优值。
? 以自底向上的方式计算出最优值。
? 根据计算最优值时得到的信息,构造最优解
矩阵连乘:
最长公共子序列:
设序列X=x1,…,xm和Y=y1,…,yn的最长公共子序列是Z=z1, …, zk
如果xm=yn
zk=xm=yn
z1,…, zk-1是x1,…,xm-1和y1,…,yn-1的最长公共子序列
如果xm(yn且zk ( xm
z1,…, zk是x1,…,xm-1和y1,…,yn的最长公共子序列
如果xm(yn且zk ( yn
z1,…, zk是x1,…,xm和y1,…,yn-1的最长公共子序列
凸多边形的最优三角剖分:
0-1背包问题:
贪心法适合的问题:它有n个输入,而他的解就由这n个输入满足某些事先给定的约束条件的某个子集组成,而把满足约束条件的子集称为该问题的可行解。显然,可行解一般来说是不唯一的。那些使目标函数取极值的可行解,成为最优解。
Greedy 算法的处理流程
?1、读入一个问题?2、进行贪心排序?3、处理问题?4、综合结果并输出
Greedy 算法产生优化解的条件: 贪心选择性质和最优子结构性质
贪心与动态规划法的比较:
动态规划:每一步作一个选择— — 依赖于子问题的解。
Greedy 方法:每一步作一个选择 — — 不依赖于子问题的解。
动态规划方法可用的条件
① 优化子结构
② 子问题相交性
③ 子问题空间小
Greedy 方法可用的条件
① 优化子结构
② Greedy 选择性
Greedy算法正确性证明方法:
① 证明算法所求解的问题具有优化子结构;
② 证明算法所求解的问题具有Greedy 选择性;
③ 算法按照②中的Greedy 选择性进行局部优化选择
回溯法的解题步骤:
针对所给问题,定义问题的解空间;(2)确定易于搜索的解空间结构;(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。
常见的两种分支限界法:
(1)队列式(FIFO/LIFO)分支限界法按照队列先进先出(FIFO)或后进先出(LIFO)原则选取下一个结点为扩展结点。(2)优先队列式分支限界法按照优先队列中规定的优先级选取优先级最高的结点成为当前扩展结点。
分支限界法与回溯法的对比:
证明题:
凸多边形最优三角剖分: 最优子结构性质
证明:若凸(n+1)边形P={v0 ,v1 ,…,vn-1 }的最优三角剖分T包含三角形v0 vk vn ,1≤k≤n-1,则T的权为3个部分权的和:三角形v0 vk vn 的权,子多边形{v0 ,v1 ,…,vk }和{vk ,vk+1 ,…,vn }的权之和。可以断言,由T所确定的这2个子多边形的三角剖分也是最优的。因为若有{v0 ,v1 ,…,vk }或{vk ,vk+1 ,…,vn }的更小权的三角剖分将导致T不是最优三角剖分的矛盾。
0-1背包问题: 0-1背包问题具有最优子结构性质
活动选择问题
引理. 1. 设S={1,2,…,n}是n 个活动集合,[si,fi ]是活动的起
文档评论(0)