贪心算法例子课件.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文档。上传文档
查看更多
贪心算法例子课件

Chapter 5 贪心法实例; 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。 当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。;活动安排问题 ;活动安排问题;活动安排问题;活动安排问题;活动安排问题;活动安排问题 ;活动安排问题;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;贪心算法的基本要素;删数问题;算法分析;1;程序;quee *init() { char str[250]; quee *n; node *tmp; node * tail; n=new quee; n-first=NULL; cinstr; cins; int i=0; while(str[i]!=\0) { tmp=new node; tmp-c=str[i]; tmp-next=NULL; if(n-first==NULL) { n-first=tmp; tail=tmp; } else { tail-next=tmp; tail=tmp; } i++; } return n; };;void del(quee *start, node *p) { node *x; x=start-first; if (x-next) { while(x-next!=p) x=x-next; } x-next=p-next; delete p; };;void print(quee *start) { node *tmp; if(start-first==NULL) return; tmp=start-first; while(tmp) { printf( %c,tmp-c); tmp=tmp-next; } printf(\n); };;node *find(quee *start) { node *tmp; tmp=start-first; while(tmp-next!=NULL tmp-c=tmp-next-c) tmp=tmp-next; return tmp; }; ;int main(int argc, char* argv[]) { quee *n; node *p; n=init(); while(s!=0) { p=find(n); del(n,p); s--; } print(n); return 0; } ;POJ 1017;Packets;Packets;Packets;Packets;;Packets;Packets;Packets;Packets;Packets;Packets; 6) 放 1 * 1 并输出结果 if( b1 c1 ) { nTotal += ( b1 - c1 ) / 36; if(( b1 - c1) % 36 ) nTotal ++; } cout nTotal endl;;#include iostream.h int Contain1[4] = { 0, 7, 6, 5 }; int Contain2[4] = { 0, 5, 3, 1 }; int nTotal; void main() { int b1,b2,b3,b4,b5,b6; for(;;) { cinb1b2b3b4b5b6; if(b1==0 b2==0 b3==0 b4==0 b5==0 b6==0) break; nTotal = b6 + b5 + b4 + b3/ 4; if( b3 % 4) nTotal ++; int c1; //当前能放 1*1 木块的空格数目 c1 = b5 * 11; //每个放5*5的箱子,还能放11个 1 * 1 的木块 c1 += Contain1[b3 % 4] ; //加上3*3箱子里能放的数目 int c2; //当前能放 2*2 木块的空格数目(先不考虑将1*1的木块放在 // 2*2的空格里) c2 = b4 * 5; //每个放5*4的箱子,还能放5个 2 * 2 的木

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档