算法题解:旅行商(TSP)问题JAVA算法求解

本文介绍了旅行商问题(TSP)的背景和哈密顿回路的区别,强调了TSP寻找最短路径的挑战。通过一个示例展示了TSP的解决方案,采用深度优先搜索(DFS)策略,从一个节点出发遍历相邻节点,记录并更新最低成本,最终返回最低成本的路径(80元)。
摘要由CSDN通过智能技术生成

旅行商TSP问题描述

旅行推销员问题(Travelling salesman problem, TSP)是这样一个问题:给定一组城市和每对城市之间的距离,问题是找到最短的可能路线,访问每个城市一次,然后返回起点。它是组合优化中的一个NP困难问题,在运筹学和理论计算机科学中非常重要。

 

注意哈密顿回路和TSP之间的区别。哈密顿回路问题是要找出是否存在一个旅游线路,每个城市访问一次。这里我们知道哈密顿回路存在(因为图是完整的),事实上存在许多这样的回路,问题是找到一个最小权重的哈密顿回路。

例如,考虑上面图中所示的内容。图中的TSP路线为:是-0>1->3->2->0。旅游费用为10+25+30+15,共80元。

哈密顿回路
哈密顿图(哈密尔顿图)(Hamiltonian graph,或Traceable graph)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian cycle),含有图中所有顶点的路径称作哈密顿路径(Hamiltonian path)。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值