• 大小: 621KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: 贪心法  TSP问题  

资源简介

本压缩文档包含三个文件:用贪心法解决TSP问题可执行源代码,word文档报告,实验测试数据

资源截图

代码片段和文件信息

#include
#include
using namespace std;
#define max 144
int main()
{
//预处理
int ijkl;
int NODE[max][3];
cout<<“请输入全部144个数据:“< for(i=0;i {
for(j=0;j<3;j++)
{
cin>>NODE[i][j];
}
}
double COST[max][max]={0};
for(i=0;i {
for(j=0;j {
COST[i][j]=sqrt(pow(NODE[i][1]-NODE[j][1]2)+pow(NODE[i][2]-NODE[j][2]2));
}
}
for(i=0;i {
for(j=0;j {
if(i==j)
COST[i][j]=1000000000;
}
}
//正式算法
 int path[max];
 double sum = 0;
 double inf;
 int flag;
 //初始化
 i=1;
 path[0]=0;
 do{
        k=1; inf=1000000000.00;
        do{
            l = 0;flag = 0;
            do{
                if(path[l] == k)
{
                    flag = 1;//访问过得城市flag为1
                    break;//跳出循环,不参与距离的比较
                }else
                    l++;//没有访问过的城市参与距离比较
            }while(l < i);
            if(flag == 0&&COST[k][path[i - 1]] < inf)//寻找最近节点
{
                j=k;
                inf = COST[k][path[i - 1]];//inf用于暂时存储当前最小路径的值,不断更新inf
            }
            k++;
          }while(k         path[i] = j;
        i++;
        sum += inf;
    }while(i     sum += COST[0][j];
    //输出路径和值
    cout<<“求得路径为以下“<    for(j = 0; j < max; j++)
{
cout< if((j%6==0)&&(j!=0))
{
cout< }
    }
    cout<    cout<<“本次求得最小花费为“<    cout<}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     260832  2018-07-01 18:56  15计2-2015551239-王维-用贪心法解TSP问题\15计2-2015551239-王维-用贪心法解TSP问题.docx

     文件       2136  2018-06-30 13:23  15计2-2015551239-王维-用贪心法解TSP问题\data.txt

     文件       1591  2018-07-01 18:56  15计2-2015551239-王维-用贪心法解TSP问题\tsp.cpp

     文件    1950358  2018-07-01 18:48  15计2-2015551239-王维-用贪心法解TSP问题\tsp.exe

     目录          0  2018-07-01 19:02  15计2-2015551239-王维-用贪心法解TSP问题

----------- ---------  ---------- -----  ----

              2214917                    5


评论

共有 条评论