资源简介
(TSP中的回溯算法)
算法描述
旅行售货员问题的解空间是一棵排列树。在递归算法中,当i=n时,当前扩展结点是排列树的叶结点的父结点。此时算法检测图G是否存在一条从顶点x[n-1]到顶点x[n]的边和一条从顶点x[n]到顶点1的边。如果这两条边都存在,则找到一条旅行售货员回路,此时,算法还需判断这条回路的费用是否优于当前已找到的最优回路的距离V。如果是,则必须更新当前最优值bestV和当前最优解bestx。

代码片段和文件信息
#include “setting.h“
int x[34];
int v;
int bestV;
int bestX[34];
int n = 34;
int** dist;
void backtrack (int tint** dist) {
void swap(int a[] int i int j);
if (t > n - 1) {
v += dist[0][x[n - 1]];
if (v < bestV) {
bestV = v;
for (int i = 0; i < n; i++)
bestX[i] = x[i];
}
printf(“%d\n“v);
v -= dist[0][x[n - 1]];
return;
}
for (int i = t; i < n; i++) {
swap(x i t);
v += dist[x[t - 1]][x[t]];
// 剪枝函数
if (v < bestV)
backtrack(t + 1dist);
v -= dist[x[t - 1]][x[t]];
swap(x i t);
}
}
void swap(int a[] int i int j) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
void getdist(int** dist){
int i;
for ( i = 0;i x[i] = i;
bestX[i] = i;
}
v = 0;
bestV = 99999;
backtrack (1dist);
printf(“%d\n“bestV);
for (i = 0; i < n; i++)
printf(“%d\n“bestX[i]);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5022 2009-09-09 23:36 TSP回溯法\Debug\getdist.obj
文件 1933 2009-09-09 23:37 TSP回溯法\Debug\main.obj
文件 9162 2009-09-09 23:14 TSP回溯法\Debug\operation.cpp.obj
文件 9154 2009-09-09 23:36 TSP回溯法\Debug\operation.obj
文件 184381 2009-09-09 23:37 TSP回溯法\Debug\TSP回溯法.exe
文件 190948 2009-09-09 23:37 TSP回溯法\Debug\TSP回溯法.ilk
文件 43520 2009-09-09 23:34 TSP回溯法\Debug\TSP回溯法.opt
文件 226128 2009-09-09 23:36 TSP回溯法\Debug\TSP回溯法.pch
文件 467968 2009-09-09 23:37 TSP回溯法\Debug\TSP回溯法.pdb
文件 41984 2002-05-22 08:25 TSP回溯法\Debug\vc60.idb
文件 53248 2009-09-09 23:37 TSP回溯法\Debug\vc60.pdb
文件 5844 2009-09-05 15:17 TSP回溯法\distance.txt
文件 916 2009-09-09 23:36 TSP回溯法\getdist.cpp
文件 116 2009-09-09 23:37 TSP回溯法\main.cpp
文件 1933 2009-09-09 23:33 TSP回溯法\operation.cpp
文件 106 2009-09-09 23:36 TSP回溯法\setting.h
文件 4501 2009-09-09 23:24 TSP回溯法\TSP回溯法.dsp
文件 526 2009-09-09 23:07 TSP回溯法\TSP回溯法.dsw
文件 58368 2002-05-22 08:36 TSP回溯法\TSP回溯法.ncb
文件 49664 2002-05-22 08:36 TSP回溯法\TSP回溯法.opt
文件 252 2002-05-22 08:24 TSP回溯法\TSP回溯法.plg
目录 0 2002-05-22 08:15 TSP回溯法\Debug
目录 0 2002-05-22 08:36 TSP回溯法
----------- --------- ---------- ----- ----
1355674 23
- 上一篇:libcoap-4.0.1
- 下一篇:avr IAR 控制步进电机正反快慢转
相关资源
- 数据结构年终考题范围和答案 耿国华
- 数据结构 朱战力 习题解答 数据结构
- 数据结构课程设计 6 1 彩票系统
- 教学计划编制系统
- 大数(链表、数组)实现
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- 航空订票系统_数据结构课程设计
- 多项式求和(数据结构C 版)
- 尚观培训linux董亮老师关于数据结构的
- 数据结构 知识点总结
- 华南理工大学数据结构复习提纲二
- 华南理工大学数据结构复习提纲一
- 数据结构用C 写的停车场系统源代码
- 数据结构(河北科技大学)
- 数据结构考前习题 清华大学出版社
- 数据结构课件(北邮)
- 数据结构实验 基于栈的表达式求值
- 数据结构课程设计——图书管理系统
- 成绩管理系统(数据结构)
- 数据结构-最小通信网问题
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构殷人昆版的课后答案
- 2006年湖北工业大学409数据结构试题
- 数据结构实验-魔王语言-源码加实验报
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- Fundamentals of Data Structure in C
- 北京邮电大学数据结构历年考研真题
评论
共有 条评论