- 1、本文档共169页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析-08-复习-ff
算法设计与分析
Algorithms Design and Analysis;-考试时间和地点;各章分值分布;一、单选题(10题,10*2’=20分)
主要考察内容:细节知识点
二、简答题(4题,4*5’=20分)
主要考察内容:算法思想及算法思想对比
三、算法理解题(4题,4*12’=48分)
主要考察内容:算法应用问题理解
四、算法设计题(1题,1*12’=12分)
主要考察内容:利用算法思想求解问题(要求写出具体算法);第一章 绪论
时间复杂度分析
主定理法求解递归算法时间复杂度;算法设计方法;折半搜索
归并排序
快速排序
Huffman算法
Dijkstra算法
Kruskal算法
Prim算法
拓扑排序
Floyed算法;-示例:效率(Efficiency);-基本的效率类型;-递归算法的数学分析;-解递归方程;用代入法求解递归式
用递归树方法求解递归式
用主方法求解递归式
——《算法导论》第4章;主方法为如下形式的递归提供了一种“菜谱”式的求??方法
其中a≥1和b1是常数,f(n)是渐近函数。
上述递归式描述的是这样一种算法的运行时间:
它将规模为n的问题分解为a个子问题,每个子问题规模为n/b,其中a和b都是正常数。
a个子问题递归地进行求解,每个花费时间T(n/b)。
函数f(n)包含了问题分解和子问题解合并的代价。
其中n/b指n/b的上取整或者是下取整,对结果不会造成影响。;-主定理(Master Theorem);确定主定理的哪种情况成立,即可得到解。;-使用主方法(2);-使用主方法(3);-Please have a try!;?;第二章 递归与分治
递归的概念及与分治的关系
分治算法的思想
重点实例:
全排列问题的递归算法(Perm)
大整数乘法及算法时间复杂度
矩阵乘法的Strassen算法及时间复杂度
棋盘覆盖
线性时间选择
循环赛日程表
;-分治法的一般方法;-递归示例-排列问题;两个数的全排列:4,5;设一组数p = {r1, r2, r3, ... ,rn}, 全排列为perm(p)
pn = p - {rn}
perm(p) = r1perm(p1), r2perm(p2), r3perm(p3), ... , rnperm(pn)。
当n = 1时,perm(p} = r1。
;template class Type
void Perm(Type list[], int k, int m )
{ //产生[list[k:m]的所有排列
if(k==m)
{ //只剩下一个元素
for (int i=0;i=m;i++) coutlist[i];
coutendl;
}
else //还有多个元素待排列,递归产生排列
for (int i=k; i=m; i++)
{
Swap(list[k],list[i]);
Perm(list,k+1,m);
Swap(list[k],list[i]);
}
} ;-分治法的适用条件;2.3.1 大整数乘法
2.3.2 矩阵乘法的Strassen算法
2.3.3 棋盘覆盖
2.3.4 线性时间选择
2.3.5 最接近点对问题
2.3.6 循环赛日程表
;2.3.1 大整数乘法;;2.3.2 矩阵乘法的Strassen算法; 将矩阵A,B和C中每一矩阵都分块成4个大小相等的子矩阵。由此可将方程C=AB重写为:;为了降低时间复杂度,必须减少乘法的次数。
;【问题描述】 2k*2k个方格的一个棋盘,有一个方格残缺;
要求用三格板覆盖棋盘,三格板不重叠,不覆盖残缺方格,覆盖所有其它方格。 ;-k=2 的残缺棋盘和不同方向的三格板;-分而治之法求解残缺棋盘;实际应用:如网页排序等,只需要top k。;2.3.6 循环赛日程表 ;-分治算法小结;第三章 动态规划算法
动态规划VS.分而治之
动态规划算法的基本思想
什么是最优子结构性质
动态规划算法重点应用问题
矩阵链乘法
最长公共子序列
0-1背包
最大子段和;分治方法将问题划分为互不相交的子问题,递归地求解子问题,再将它们组合起来,求出原问题的解;
动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题)。对每个子子问题只求解一次,将其解保存在一个表格中,从而无需每次求解一个子子问题时都重新计算。;-一个简单的例子:最大子段和;-简单算法;-动态规划算法;-动态规划算法代码;给定一个n个矩阵的序列(矩阵链)A1,A
您可能关注的文档
- 第四节 地域文化与人口-2013.ppt
- 第四章:内部招聘和外部招聘.ppt
- 第四节 刚性扩大基础施工ppt.ppt
- 第四节 酸、碱、盐的应用(第一课时).ppt
- 第四节__地域文化与人口111.ppt
- 第四节 走向整体的世界说课.ppt
- 第四节-细胞的癌变.ppt
- 第四节 著名旅游景观的特点.ppt
- 第四节地域文化与人口(文科).ppt
- 第四讲 简单国民收入决定模型AS-AD模型.ppt
- 2025至2030年中国超轻粘土行业市场研究分析及投资战略规划报告.docx
- 2025至2030年中国车载发电机系统行业市场调查分析及未来前景分析报告.docx
- 2025至2030年中国车载逆变器行业市场调查分析及未来前景分析报告.docx
- 2025至2030年中国电控机械式自动变速器行业市场研究分析及发展趋向研判报告.docx
- 2025至2030年中国精米行业市场供需规模及投资策略研究报告.docx
- 2025至2030年中国航空航天用钛材行业市场深度分析及未来趋势预测报告.docx
- 2025至2030年中国荧光探针行业市场行情监测及未来趋势研判报告.docx
- 2025至2030年中国虚拟机(VM)行业发展现状及未来前景分析报告.docx
- 2025至2030年中国蜜饯制造行业投资机会分析及市场前景趋势报告.docx
- 2025至2030年中国计量检测行业市场发展态势及投资前景研判报告.docx
文档评论(0)