- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11-有算法的设计
第 11章 有效算法的设计; 处理大规模问题时,求解可能比较困难,对于这类问题,往往把它分解为若干个子问题求解,求出几个子问题后,在找合适的方法,把它们组合成整个问题的解。如果处理子问题仍然困难,则再次进行分割,直到可以直接求解为止。这种大化小的策略称为分治策略。;动态规划;分析:
(1)贪心法往往得不到最优解;分析:
(1)贪心法往往得不到最优解;分析:
(1)贪心法往往得不到最优解;分析:
(1)贪心法往往得不到最优解;分析:
(1)贪心法往往得不到最优解;分析:
(1)贪心法往往得不到最优解;分析:
(1)贪心法往往得不到最优解
(2)穷举法往往是不可能的;动态规划求解:
采用:自顶向下分析,自底向上求解;方法:
(1)从底层开始,本身数值即为最大值;方法:
(1)从底层开始,本身数值即为最大值;方法:
(1)从底层开始,本身数值即为最大值;方法:
(1)从底层开始,本身数值即为最大值;18 27 39 31;12 7 13 24 11;问题求解:
数塔表示;;#include iostream.h
#include iomanip.h
#include stdlib.h
#define NUM 5
struct St{
int val;
int max;
int de; };
void eva(St g[][NUM],int n)
{
int i,j;
for(i=n-2;i=0;i--)
for(j=0;j=i;j++)
if(g[i+1][j].maxg[i+1][j+1].max)
g[i][j].max=g[i][j].val+g[i+1][j].max;
else {
g[i][j].max=g[i][j].val+g[i+1][j+1].max;
g[i][j].de=1;}
};void output(St g[][NUM],int n)
{
int i,j;
int mm=0;
for(i=0;iNUM;i++)
{ for(j=0;j=i;j++)
coutsetw(3)g[i][j].val ;
coutendl;}
coutg[0][0].val;
j=0;
for(i=0;in-1;i++)
{
j+=g[i][j].de;
mm+=g[i+1][j].val;
cout-g[i+1][j].val;
}
cout:mmendl;
}
; 动态规划解题的方法是一种高效率的方法,其时间复杂度通常为O(n2),O(n3)等,可以解决相当大的信息量。(数塔在n=100层时,可以在很短的时间内得到问题解)
适用的原则:原则为优化原则,即整体优化可以分解为若干个局部优化。
动态规划比穷举法具有较少的计算次数
递归算法需要很大的栈空间,而动态规划不需要栈空间;NP完全问题; 本课程许多算法都是多项式时间,即对规模为n的输入,算法在最坏情况下的计算时间是O(nk),k是常数。; 并不是所有问题都在多项式时间内可解的。在可计算性理论中,著名的“图灵停机问题”,任何计算机不论耗费多少时间也不可能解决该问题。
有写问题,虽然可以用计算机求解,但是对于任意常数k,它们不能在O(nk)时间内得到解答。
————非确定性问题; 有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。
非确定性问题:问题无法按部就班直接地计算出来。比如,找大质数的问题。没有一个公式,用该公式,就可以一步步推算出来,下一个质数应该是多少。
再比如,大的合数分解质因数的问题,也没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?; 这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。这也就是非确定性问题。而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。 这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式时间内验证出来,就叫做多项式非确定性问题--NP问题。; 如果问题的所有可能答案,都可以在多项式时间内进行正确与否的验算的话,就叫完全多项式非确定问题。
您可能关注的文档
- (原版)千万吨2017年矿业公调研汇报材料.docx
- (精讲)一元一次方应用题归类总汇1212.doc
- 00158考资产评估第四章房地产评估学习笔记.doc
- 03.山东省中小教师专业技术职务资格评审情况一览表.doc
- 06-风险估和管理.doc
- 1-6年级数学册第五单元重点知识汇总.docx
- 100以内数的认教学设计.docx
- 10kV线送电运行启动方案.doc
- 12.2全等三形的判定.docx
- 12年上期学工作总结.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)