第二章 枚举算法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题1:寻找“水仙花数”;int m, n, sum=0; for(m=100; m999; m++) { while(m) { n=m%10; sum+=n*n*n; m=m/10; } if(m==sum) {printf(“”)} };问题2:“百钱买百鸡”问题;问题3: 九宫图;问题4:化学方程式配平;分析;第二章 枚举算法 ;枚举算法 ;枚举法求解的问题必须满足两个条件: ⑴ 可预先确定每个状态的元素个数n; ⑵ 状态元素a1,a2,…,an的可能值为一个连续的值域。 设 ai1—状态元素ai的最小值; aik—状态元素ai的最大值(1≤i≤n), 即a11≤a1≤a1k , a21≤a2≤a2k , ai1≤ai≤aik , … , an1≤an≤ank; for a1←a11 to a1k do for a2←a21 to a2k do …… for an←an1 to ank do if 状态(a1,…,ai,…,an)满足检验条件 then 输出问题的解;;如上问题的求解过程;百钱买百鸡问题:设公鸡有x,母鸡为y,小鸡为z: for(x=1; x20; x++) for(y=1; y33; y++) for(z=3; z330; z++) { if(5*x+3*y+z/3==100) printf(); };九宫图问题 分析问题,首先找到合适的数据结构来描述,然后设计对应的算法 九宫图问题对应什么样的数据结构? ;化学方程式的配平;枚举法的局限性;枚举算法的优化 枚举算法的时间复杂度可用状态总数*考察单个状态的耗时来表示,因此可以从如下几个方面来优化: ⑴ 减少状态总数(即减少枚举变量和枚举变量的值域) ⑵ 降低单个状态的考察代价;优化举例;进一步优化;旅行商问题;分析;这么大的解空间意味着漫长的搜索过程. 为了对这个时间有感性认识,请运行一下如下C#程序: Stopwatch stw = new Stopwatch(); stw.Start(); long sum = 4999000000; //4.999×109 for (long i = 1; i sum;i++ ) { int b = 0; } stw.Stop(); MessageBox.Show(“程序共运行: + stw.Elapsed.Seconds.ToString() + 秒?); ;如上程序,在我的电脑上运行需12秒,即,仅执行4.999×109 次简单的循环运算就需12秒 那么,执行4.999×1018次这样的运算,则需要 12×109秒 = 380 年;枚???法虽然效率不高,但基于该方法,我们可对相当多的、解空间并不大的问题给出比较满意的解答 对于规模较大的困难问题,需要采用其它启发式的求解算法

文档评论(0)

麻将 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档