#include<iostream>
#define MAXSUM 100
#define INF 65535
using namespace std;
class TSP{ //TSP类
public:
int bestv; //最优解即最短路径
int tempv; //当前路径长度
int node; //节点个数
int edge; //无向边条数
int adj[MAXSUM][MAXSUM]; //邻接矩阵存储无向边信息
int *best_route; //最优路径记录
int *route; //当前路径记录
bool *vis; //判断该节点是被否访问数组
public:
/* 初始化 */
void Initial(){
cout<<"please input the number of nodes and edge: "<<endl;
cin>>node>>edge;
bestv = INF;
route = new int[node * 2];
vis = new bool[node * 2];
best_route = new int[node * 2];
for(int i = 1;i <= node;i++)
for(int j = 1;j <= node;j++)adj[i][j] = INF;
cout<<"please input the two nodes and value of each edge(each edge is entered only once): "<<endl;
for(int i = 1;i <= edge;i+&
回溯法解决TSP问题
最新推荐文章于 2021-06-15 09:38:47 发布
本文探讨了如何运用回溯法来解决著名的旅行商问题(TSP)。通过详细阐述算法步骤,展示了如何构建搜索空间并有效地剪枝,以找到城市间的最短路径。该方法涉及图论和组合优化,对于理解和实现回溯法有很好的实践意义。
摘要由CSDN通过智能技术生成