ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:16.87KB ,
资源ID:20631074      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20631074.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(递归方法实现哈密顿回路问题Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

递归方法实现哈密顿回路问题Word文档格式.docx

1、 x = y; y = t;void hamilton(int k ) if(kn & cxk-1x1=1)/一个解 output(x); else for(int i=k;i+) swap(xk,xi); if (cxk-1xk=1) hamilton(k+1); swap(xi,xk); int main() int i; for (i = 1; i 6 ; + i) xi = i; output(x); return 0; int n = 5; memset(c, 0, sizeof(c); c12 = true; c21 = true; c14 = true; c41 = true;

2、c24 = true; c42 = true; c23 = true; c32 = true; c35 = true; c53 = true; c45 = true; c54 = true; c25 = true; c52 = true; c34 = true; c43 = true; for(int i = 1;= n; i+) xi = i; /swap(x1,x5); hamilton(2); /默认以第一个城市开始,搜索解空间树(子集树形式)直接从第二层开始 cout 1) xk+; while(xk = n) if(visitedxk=0 & cxk - 1xk=1)/未到,有边 b

3、reak; if(xk = n & k=n & cxkx1=1)/一个解 for(k=1;kk+) coutxk cout k-; / break; 输出一个解结束时用他替代上两句 else if (xk=n & k/*程序在此书写*/stdlib.hmath.h/*程序书写完毕*/ #ifdef DEBUG start(); #endif /*程序在此书写*/ int base = 1,5,10,20,50,100,200,500,1000,2000; int k = sizeof(base)/sizeof(int); /*0-9*/ unsigned long int f1050001;

4、int x; int i,j; memset(f,0,sizeof(f); for(i = 0; 50001; +i) f0i = 1; 10; fi0 = 1; for(j = 1; j +j) if(j0) count += atoi(str); p = strstr(p,str)+strlen(str); if(count50000) printf(%dn,count); else%ldn,f9count-1); /*程序书写完毕*/ end(_FILE_);/*/迭代递归 int a11; /*int base = 0,1,5,10,20,50,100,200,500,1000,200

5、0;*/ int base = 0,2000,1000,500,200,100,50,20,10,5,1; int k = sizeof(base)/sizeof(int)-1; /*1-10*/ int x,m; int i,j,s; int lines = 0; char *p,*q,msg5000,str500,num500; int maxnum = 0; lines = k; memset(a,0,sizeof(a); x = atoi(str); alines = x; count += x; lines -; /*printf( continue; int s10; int sp

6、10; memset(s,0,sizeof(s); int row = 1; sprow = -baserow; s0 = count; s1 = count; long long int l = 0; while(row sprow += baserow; if(baserow=1&srowsprow) sprow = srow; /printf(%d-%d-%dn,row,srow,sprow); if(srow if(rown) output(x); for (int i=1;=m;i+) xt=i; if (ok(t) backtrack(t+1); xt=0; int i, j; 5; for(j = 1; j+) cij = false; c13 = true; c31 = true; backtrack(1);着色 回溯 迭代/第一个结点也可以有m种着色方案void m_coloring(int n, int m) k =1;=1)= m) if( ok(k)=1) break; else xk+; = m & k=n) /一个解 for(i=1; /return; 如果只需要一个解可以将上两句去掉,加入返回语句=m &n) else/回溯! /memsetc54 = true;m_coloring(5, 100);return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1