哈密顿回路及解法

哈密顿回路:
1、指一个对图的每个顶点都只穿越一次的回路。也可以 定义为n+1个相邻顶点v0, v1, … ,vn, v0的一个序列,其中序列的第一个顶点和最后一个顶点是相同的,而其他n-1个顶点是互不相同的。
2、当这个图是加权图时,求该图的最短哈密顿回路,就是传说中的旅行商问题(TSP)。

使用蛮力法求解:
1、首先规定作为起止点的顶点。由于回路是无向的,因此起止点可直接任选;
2、规定中间点的其中两点的先后次序。这步是对基本穷举的简单优化:对每对线路(每条回路都有顺时针和逆时针两种序列表示法)来说,不同的只是线路的方向,因此,若选择任意两个中间顶点,并规定该两顶点的先后次序(比如顶点a必须排在b前方),就可以把顶点序列的数量减半。
(这一改进后,排列的总次数仍需要(n-1)!/2次,这意味着除非问题规模很小,不然穷举查找法是不实用的)。
3、通过生成n-1个中间点的组合来得到所有的线路,计算这些线路的长度,排序求得最短线路。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值