这几天在想办法求解TSP问题,众所周知,TSP问题是NP难问题,现在我们用动态规划来求解之。
其实这个可以转化为一个填表问题。
其中一步是求解集合的所有子集合,整个问题还没完,等我哪天有时间了,把他详细写出来。
把求子集合的代码先贴在这里。
#include<stdio.h>
#define N 100
bool b[N];
int n,a[N];
void set_combination(int s){
int i;
if(s==n){
for(i=0;i<n;i++)
if(b[i])
printf("%d ",i);
printf("\n");
return;
}
b[s]=false;
set_combination(s+1);
b[s]=true;
set_combination(s+1);
}
int main(){
while(scanf("%d",&n))
set_combination(0);
return 0;
}

本文探讨了使用动态规划解决著名的旅行商问题(TSP)。通过将问题转化为填表,作者展示了一段生成集合所有子集的C语言代码,并承诺在后续详细阐述整个动态规划解决方案。
最低0.47元/天 解锁文章

1万+

被折叠的 条评论
为什么被折叠?



