- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0031算法笔记——【回溯法】旅行员售货问题和圆排列问题概论
?1、旅行员售货问题
? ??问题描述
? ???某售货员要到若干城市去推销商品,已知各城市之间的路程(旅费),他要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使总的路程(总旅费)最小。
? ??问题分析
? ? ?旅行售货员问题的解空间是一棵排列树。对于排列树的回溯法与生成1,2,……n的所有排列的递归算法Perm类似。开始时x=[1,2,……n],则相应的排列树有x[1:n]的所有排列构成。
? ? ?在递归算法Backtrack中,当i=n时,当前扩展节点是排列树的叶节点的父节点。此时算法检测图G是否存在一条从顶点x[n-1]到顶点x[n]的边和一条从顶点x[n]到顶点1的边。如果这两条边都存在,则找到一条旅行员售货回路。此时,算法还需要判断这条回路的费用是否优于已找到的当前最优回流的费用bestc。如果是,则必须更新当前最优值bestc和当前最优解bestx。
? ? ?当in时,当前扩展节点位于排列树的第i-1层。图G中存在从顶点x[i-1]到顶点x[i]的边时,x[1:i]构成图G的一条路径,且当x[1:i]的费用小于当前最优值时算法进入树的第i层,否则将剪去相应的子树。
? ? ?算法具体代码如下:
[cpp]?view plain?copy
1. //5d9?旅行员售货问题?回溯法求解??
2. #include?stdafx.h??
3. #include?iostream??
4. #include?fstream???
5. using?namespace?std;??
6. ??
7. ifstream?fin(5d9.txt);???
8. const?int?N?=?4;//图的顶点数????
9. ??
10. templateclass?Type??
11. class?Traveling??
12. {??
13. ????templateclass?Type??
14. ????friend?Type?TSP(Type?**a,?int?n);??
15. ????private:??
16. ????????void?Backtrack(int?i);??
17. ????????int?n,???????????//?图G的顶点数??
18. ????????????*x,??????????//?当前解??
19. ????????????*bestx;??????//?当前最优解??
20. ????????????Type?**a,????//?图G的领接矩阵??
21. ????????????cc,??????????//?当前费用??
22. ????????????bestc;???????//?当前最优值??
23. ????????????int?NoEdge;??//?无边标记??
24. ?};???
25. ??
26. template?class?Type??
27. inline?void?Swap(Type?a,?Type?b);??
28. ??
29. templateclass?Type??
30. Type?TSP(Type?**a,?int?n);??
31. ??
32. int?main()??
33. {??
34. ????cout图的顶点个数?n=Nendl;??
35. ??
36. ????int?**a=new?int*[N+1];??
37. ????for(int?i=0;i=N;i++)??
38. ????{??
39. ????????a[i]=new?int[N+1];??
40. ????}??
41. ??
42. ????cout图的邻接矩阵为:endl;??
43. ??
44. ????for(int?i=1;i=N;i++)??
45. ????{??
46. ????????for(int?j=1;j=N;j++)??
47. ????????{??
48. ????????????fina[i][j];??
49. ????????????couta[i][j]?;??
50. ????????}??
51. ????????coutendl;??
52. ????}??
53. ????cout最短回路的长为:TSP(a,N)endl;??
54. ??
55. ????for(int?i=0;i=N;i++)??
56. ????{??
57. ????????delete?[]a[i];??
58. ????}??
59. ????delete?[]a;??
60. ??
61. ????a=0;??
62. ????return?0;??
63. }??
64. ??
65. te
您可能关注的文档
最近下载
- 小学奥数教师版(合辑)1-1-2-3 分数四则混合运算综合.pdf VIP
- 小学奥数合辑(学生用书)1-1-2-3 分数四则混合运算综合.pdf VIP
- 心电监护操作流程课件(PPT 34张).pptx VIP
- 高考数学三年真题(2023-2025年)《统计与概率》真题分类汇编含答案.docx VIP
- 高斯小学奥数五年级上册含答案_分数应用题.doc VIP
- 药食同源发酵项目可行性研究报告建议书新建申请备案案例范文解读.doc VIP
- 2024年广东省高考政治试卷(真题+答案).pdf VIP
- 小学数学 奥数思维《计算:小数的巧算》专项训练2(含解析).docx VIP
- 智慧城市排水防涝系统改造与优化创新研究.docx VIP
- 核心稳定性与核心力量训练.ppt
文档评论(0)