版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法设计与分析什么是算法—定义输入:有零个或多个外部量作为算法的输入。输出:算法产生至少一个量作为输出。确定性:组成算法的每条指令清晰、无歧义。有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。算法是解决问题的方法或过程,严格地讲是满足下述性质的指令序列。“Algorithms:acommonlanguagefornature,human,andcomputer.”
—AviWigderson什么是算法—
计数判断一个byte里面有多少个bit的值为1?intCal(intiValue){while(iValue!=0){iReminder=iValue%2;if(iReminder==1)iCount++;iValue=iValue/2;
}returniCount;}如果这个子函数需要调用很多次,内存空间足够,怎样提高性能?如果既想省时间,又想省空间,怎样改进?intiTables[256]={…};iCount=iTables[iValue];HashMapMaps;If(Maps.containsKey(Value)){Count=Maps.get(Value)}else{Maps.put(Value,newInteger(Cal(iValue)))}什么是算法—最大和连续子数列问题描述:
给定一个整数数列{A1,A2,…,An},求Ai+Ai+1+…+Aj-1+Aj的最大值,并确定对应的子序列。如果所有的整数都是负数,那么最大连续子数列和为0。例如:{1,
-3,4,5}的最大子数列为{4,5},因为4+5最大;{3,4,-5,8,-4}的最大子数列为{3,4,-5,8},因为3+4-5+8最大为10;{4,3,-1,2}的最大子数列为{4,3,-1,2},因为4+3-1+2最大为8。课程内容算法复杂性枚举策略递归与分治动态规划贪心算法搜索技术时间复杂度分析
枚举算法确定枚举对象
枚举对象也可以理解为是问题解的表达形式,一般需要用若干参数来描述参数之间需要相互独立,而且参数数目越少,问题解的搜索空间的维度也相应地小;每个参数的取值范围越小,问题解的搜索空间也越小。逐一列举可能解根据枚举对象的参数构造循环,一一列举其表达式的每一种取值情况逐一验证可能解根据问题解的要求,一一验证枚举对象表达式的每一个取值,如果满足条件,则采纳它,否则,抛弃之大道至简百钱百鸡、二分枚举分治策略分治法所能解决的问题特征:该问题的规模缩小到一定的程度就可以容易地解决该问题可以分解为若干个规模较小的相同问题利用该问题分解出的子问题的解可以合并为该问题的解该问题所分解出的各个子问题是相互独立的divide-and-conquer(P){
if(|P|<=n0)adhoc(P);
//解决小规模的问题
dividePintosmallersubinstancesP1,P2,...,Pk;//分解问题
for
(i=1;i<=k;i++)
yi=divide-and-conquer(Pi);//递归的解各子问题
returnmerge(y1,...,yk);
//将各子问题的解合并为原问题的解}治众如治寡,分数是也!合并排序、快速排序、二分查找动态规划分析最优解的性质,并刻划其最优子结构特征确定状态表示S(x1,x2,…)和状态转移方程,递归地定义最优值确定状态转移顺序,以自底向上的方式计算出最优值根据计算最优值时得到的信息,构造最优解前事不忘,后事之师矩阵连乘、多段图最短路径、最长公共子序列算法篇-贪心算法活动安排问题、哈夫曼编码,最小生成树贪心算法的三个逻辑步骤:分解
将原问题求解过程划分为连续的若干个决策阶段决策
在每一个阶段依据贪心策略进行局部贪心决策,并缩小待求解问题的规模合并
将各个阶段的局部解合并为原问题的一个全局可行解贪心算法也是一种基于子问题思想的策略。贪心算法是一个分阶段决策过程,在每个局部阶段,贪心法都做出一个当前最优的局部决策,并期望通过每次所做的局部最优决策产生一个全局最优解。盲人爬山算法篇-搜索策略搜索算法的两个逻辑步骤:定义问题的解空间搜索解空间,并在搜索过程中用剪枝策略避免无效搜索搜索算法是一种通用的问题求解方法:首先把问题表示转换为一个状态空间图,然后设计特定的图遍历方法在状态空间中搜索问题的解
基于枚举策略的搜索深度优先搜索广度优先搜索
优化+枚举的搜索回溯算法=深度优先搜索+剪枝策略分支限界算法=广度优先搜索+剪枝策略
启发式搜索,启发式搜索是一种基于规则的优化搜索算法优化枚举,提前判定人生如算法有人善“分治”再多再大的难题也如庖丁解牛
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居行业产品创新与市场拓展策略方案
- 变频器调速技术与应用 项目5 变频器在离心铸造机上的应用- 电子教案
- 小学主题班会课件:好书相伴快乐成长
- 物资短缺初期响应公益组织预案
- 关于2026年Q2财务报表核对的确认函(6篇)
- 特色文化体验绩效考核评价表
- 文化旅游业景区门票预售管理指南
- SOE-MT-NOTE 三大运营商招聘考试核心考点笔记:通信原理与移动通信技术
- 小学主题班会课件:梦想起航从现在做起坚持努力方能成功
- 云计算技术与数据安全保护指南
- 2026四川成都蓉城酒店管理有限公司月校园招聘1人笔试参考试题及答案解析
- (2026年)发展对象考试测试题库(附答案)
- 2026年中国石油国际事业公司面试
- 2026年青海军转安置考试题及答案
- 2026年仓库管理员工作总结汇报
- (2026年)镇静催眠药合理应用课件
- 2025年华能集团招聘笔试真题附答案
- 疫苗接种护理保障课件
- 执业医师资格《临床执业医师》考试内部题库
- 2026年喀什职业技术学院单招综合素质考试题库带答案详解(黄金题型)
- 交通运输航运公司航运实习生实习报告
评论
0/150
提交评论