哈密顿路问题

哈密顿路问题是一个NP问题,Dirac定理提供了一个充分条件:若无向图中每个节点的度数大于等于N/2,则存在汉密尔顿回路。通过搜索和状压DP可求解。本文介绍了Dirac定理的证明、构造方法及其在图论问题中的应用,如POJ 1776和HDU 3414等实例。
摘要由CSDN通过智能技术生成

对于一个图中是否存在一条哈密顿路,没有可靠的充分必要条件(貌似邻接矩阵恒式可以?),因此求哈密顿路是一个NP问题,一般要使用搜索和状压dp求解,但汉密尔顿回路的存在有许多充分条件,即当图满足某些特定性质的时候,汉密尔顿回路一定存在,而且可以根据一些算法构造出来。

1.Dirac定理设一个无向图中有 N 个节点,若所有节点的度数都大于等于 N/2,则汉密尔顿回路一定存在。

“N/2” 中的除法不是整除,而是实数除法,该条件中的 “N/2” 等价于 “N/2”)

证明首先可以证明图一定是连通的。设 d(v) 表示节点 v 的度数。对于任意两个节点 u v,若它们不相邻,则可能和它们相邻的节点共有 N - 2 个,而 d(u) + d(v) ≥ N/2 + N/2 ≥ N,那么根据鸽巢原理,肯定存在一个节点与 u  v 都相邻。即证,任何两个节点之间都是连通的。

构造方法

1任意找两个相邻的节点 S  T,在它们基础上扩展出一条尽量长的没有重复节点的路径。也就是说,如果 S 与节点 v 相邻,而且 v 不在路径 S → T 上,则可以把该路径变成 v → S → T,然后 v 成为新的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值