#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问题
最新推荐文章于 2024-11-26 15:05:07 发布