哈密顿图(
哈密尔顿图)(英语:Hamiltonian
graph,或Traceable graph)是一个
无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian cycle),含有图中所有顶点的路径称作哈密顿路径(Hamiltonian path)。
哈密顿回路的定义: G=(V,E)是一个图,若G中一条路径通过且仅通过每一个顶点一次,称这条路径为哈密顿路径。若G中一个回路通过且仅通过每一个顶点一次,称这个环为哈密顿回路。若一个图存在哈密顿回路,就称为哈密顿图。
天文学家
哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中,寻找一条从给定的起点到给定的终点沿途恰好经过所有其他城市一次的路径。
这个问题和著名的
七桥问题的不同之处在于,七桥问题是经过每条边一次,而哈密顿问题是经过每个顶点一次。哈密顿问题寻找一条从给定的起点到给定的终点沿途恰好经过所有其他城市一次的路径。
哈密顿图的
必要条件: 若G=(V,E) 是一个哈密顿图,则对于V的每一个
非空子集S,均有W(G-S) ≤|S|。其中|S|是S中的顶点数,W(G-S)表示图G擦去属于S中的顶点后,剩下
子图的
连通分支的个数。
哈密顿图的
充分条件: 设G=(V,E)是一个无向
简单图,|V|=n,n≥3。若对于任意的两个顶点u,v∊V,d(u)+d(v) ≥n,那么, G是
哈密尔顿图。此条件由美国图论数学家奥勒在1960年给出。
哈密顿
路径问题在上世纪七十年代初,终于被证明是“NP完全”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定其是否存在一条这样的路径。
具有哈密顿回路的图称为
哈密顿图,具有哈密顿通路但不具有哈密顿回路的图称为半哈密顿图。
注:这段代码采用
分支定界法作为编写程序的依据,因此代码依旧局限在算法上;而且代码的使用对所要计算的数据是有要求的,如下:
⒈只要数据在开始计算出的n个
最小值中,其重复次数超过2次的点的种类只能为一种,例如:
代码段中的数据五个最小值中其重复次数超过2次的点只有v5。
⒌此代码为本人毕设的
附加产品,不会对使用此代码者,因理解不当或使用不当而造成的任何不良后果,付出任何责任。