- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
算法设计与分析
什么是算法—定义
输入:有零个或多个外部量作为算法的输入。
输出:算法产生至少一个量作为输出。
确定性:组成算法的每条指令清晰、无歧义。
有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。
算法是解决问题的方法或过程,严格地讲是满足下述性质的指令序列。
“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,…)和状态转移方程,递归地定义最优值
确定状态转移顺序,以自底向上的方式计算出最优值
根据计算最优值时得到的信息,构造最优解
前事不忘,后事之师
矩阵连乘、多段图最短路径、最长公共子序列
算法篇-贪心算法
活动安排问题、哈夫曼编码,最小生成树
贪心算法的三个逻辑步骤:
分解将原问题求解过程划分为连续的若干个决策阶段
决策在每一个阶段依据贪心策略进行局部贪心决策,并缩小待求解问题的规模
合并将各个阶段的局部解合并为原问题的一个全局可行解
贪心算法也是一种基于子问题思想的策略。贪心算法是一个分阶段决策过程,在每个局部阶段,贪心法都做出一个当前最优的局部决策,并期
您可能关注的文档
- 生理学实验:实验基本技术及要求.ppt
- 生理学实验:实验六 反射弧分析.ppt
- 生理学实验:实验五 离体肠段运动的描记.ppt
- 生理学实验:影响尿生成的因素.ppt
- 大学信息技术基础:面向对象程序设计基本概念.ppt
- 动物遗传学:X染色体失活.ppt
- 动物遗传学:性别控制.ppt
- 模拟电子技术基础:第1章 绪论.ppt
- 模拟电子技术基础课件:第九章 功率放大电路.ppt
- 模拟电子技术基础课件:第四章 集成运算放大电路.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
最近下载
- 贵州省贵阳市普通中学2021-2022学年高一上学期信息技术期末监测考试试卷.docx VIP
- PCB镀铜针孔专案改善报告.ppt
- 体表肿块切除操作评分标准.doc
- (苏教版)数学二年级上册寒假作业计算题“天天练”,含30份题组,附参考答案.doc
- 2023年福建考评员考试答案.docx VIP
- 第二单元跨学科实践活动1微型空气质量“检测站”的组装与使用课件-九年级化学人教版(2024)上册.pptx
- 数学核心素养在小学教育中的具体应用教学研究课题报告.docx
- 人防工程战时给排水设备安装深度及注意问题.pptx
- 上海交通大学《社会心理学》内部题库练习期末真题汇编及答案.pdf
- 《工程制图及 CAD》课程思政教学案例(一等奖).docx
文档评论(0)