#include<iostream>
#include<bits/stdc++.h>
using namespace std;
const int noEdge=65535;
class Traveling
{
public:
void BackTrack(int i);
int n; //图G的顶点数
int *x; //当前的解
int *bestx; // 当前的最优解
int **a; // 图G的临界矩阵
int cc; // 当前费用
int bestc; //当前最优花费的值
// int noEdge 无边标记
};
void Traveling::BackTrack(int i)
{
if(i == n)
{
if(a[x[n-1]][x[n]] !=noEdge && a[x[n]][1] !=noEdge
&&(cc+a[x[n-1]][x[n]]+a[x[n]][1]<bes
算法设计与分析——回溯法——旅行售货员问题
最新推荐文章于 2023-01-06 12:33:41 发布
本文深入探讨了如何使用回溯法来解决经典的旅行售货员问题。通过详细阐述算法设计思路,解释了如何通过递归搜索所有可能的路径,并在遇到无效路径时回退,以找到最短路线。同时,文章还讨论了回溯法在面对大量可能性时的效率和优化策略。
摘要由CSDN通过智能技术生成