资源简介
某推销员要从城市v1出发,访问其它城市v2,v3,…,v6各一次且仅一次,最后返回v1。D为各城市间的距离矩阵。
问:该推销员应如何选择路线,才能使总的行程最短?
代码片段和文件信息
//
// main.cpp
// DP_TSP_recur
//
// Created by yunglynn on 12-11-23.
// Copyright (c) 2012年 yunglynn. All rights reserved.
//
#include
using namespace std;
#define MAX 6
typedef struct _node_st
{
bool inPath;
int nextIndex;
_node_st():inPath(false)nextIndex(-1){};
}Node*NodePtr;
void printPath(Node* node);
int tsp(int beginIndexint endIndex);
int dis[MAX][MAX]={
0 10 20 30 40 50
12 0 18 30 25 21
23 19 0 5 10 15
34 32 4 0 8 16
45 27 11 10 0 18
56 22 16 20 12 0
};
Node p[MAX];
Node record[MAX - 1][MAX];
int flag = 0;
int main()
{
p[0].inPath = true;
int res = tsp(0 0);
printPath(record[flag]);
cout << res << endl;
return 0;
}
//表示从begin开始经过所有点后到达end的最小距离
int tsp(int beginIndexint endIndex)
{
int result = 0xFFFFFFF;
bool isLast = true;
int k = 0;
for(int i = 0; i < MAX; i ++)
{
if(i != beginIndex)
{
if(!p[i].inPath)
{
- 上一篇:记账软件源代码——自己编的C++实现
- 下一篇:vc6.0编写的SOM神经网络聚类
相关资源
- 记账软件源代码——自己编的C++实现
- 循环码的C++实现
- 斗地主MFC源代码
- 使用动态优先权的进程调度算法的模
- 华为和google的C++编码规范
- 读取串口数据并画实时曲线的VC++程序
- sqlite3 C++访问
- WebBench(c++版本)
- C++ 3D 五子棋 opengl
- 特洛伊木马(C/C++)
- C++二级考试试题含答案和解析
- C++获取电脑MAC/CPU/BIOS/硬盘等硬件信息
- Wolfe Powell 最优化方法 C++ 程序
- 最优二分搜索树动态规划
- 序列比对打分矩阵C++(实验报告+源程
- C++ PE格式解析源码
- c++面向对象基础 练习题
- c++邮寄包裹
- 通讯录C++课程设计学生通讯录管理系
- C++ Template 进阶指南
- VC++实现滑块皮肤 slider skin
- 基于c/c++实现的宿舍管理系统可做小型
- MFC 计算文件MD5码 VC++
- [免费]2018年C++教程网的linux网络编程视
- C++矩阵变换操作平移、旋转、镜像
- VC++垃圾文件清理工具源码.rar
- c++编的mfc 贪吃蛇游戏
- [C++]多维离散小波变换库
- 简单的三国杀
- C语言C++通用自定义log打印函数
评论
共有 条评论