- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
逐点循环递归法求哈密顿回路
王彦祺
(石家庄经济学院信息工程系,河北石家庄050031)
摘要:本文给出求解任意图的所有哈密顿回路算法,即“逐点循环递归算法”,用于
处理复杂的“旅行商问题”,证明一个图是否是哈密顿图等。在算法中,给出一个“结点标
号数组”,用于存储一个回路;还给出一个无向图的正向表,用于存储初始图。
关键词:哈密顿回路,算法,无向图正向表,结点标号数组,递归。
AnAlgorithmofCycleandRecursionbyEveryVertex
forGettingHamiltonCycle
WangYanqi
(DepartmentofInformationEngineering,ShijiazhuangUniversityof
Economics,Shijiazhuang,Hebei050031)
Abstract:ThispapergivesoutanalgorithmofgettingallHamiltoncyclefrom
acommongraph,,
whichcancancansolvesolvesolvecomplexcomplexcomplex
isHamiltongraphornot,andsoon.Inalgorithm,Igiveoutoutaaofsigned
vertexvertexstoringacycle,andadirectiontableforfor
KeyWords:Hamiltoncycle,algorithm,arrayofsignedvertex,positive
directiontablefornon-directedgraph,recursion.
1.问题的提出
1)任给定一个无向图,如何求无向图的哈密顿图的回路,首先必须判断该图是否是哈密
顿图。如果图很复杂又有哈密顿图回路,用手工是很难找到的,该算法很容易找到任何图的
所有哈密顿回路,如果一条也找不到,即证明了该图不是哈密顿图。
2)在求解“旅行商问题”时,考虑的是带权完全无向图,“分支定界法”只是求出最小
的哈密顿回路,对于任意图是不可行的。
3)在求解“旅行商问题”时,有时只求出路径最小的哈密顿回路不一定是最佳的哈密
顿回路。因为在旅行时,所考虑的不仅仅是费用或旅程,比如,有的路线虽短,但路线人员
拥挤,如果单纯按最小的哈密顿回路旅行是不现实的,反而费用更高。此时求出若干最小的
哈密顿回路,甚至求出所有的哈密顿回路,才能正确的决策旅行路线。
4)如果按边的组合方法,则运算次数将是极大的,本文给出求解一般图的所有哈密顿回
路的“按结点循环递归算法”。
5)本文约定,H代表哈密顿,hn代表图的结点数,hm代表图的边数。
2.算法的依据.
2.1有关的定理v1v2
定理1.H回路中的每一个结点的度数d(v)必是2,反之不v5v6
H
成立。v7
证明:H回路的结点度数必是2。反之不成立,如图1所示,v3v4
共7个结点,7个边,每个结点的度数为2,但不是H回路。当图1
回路的边数不到结点数,我们称为“局部回路”。当回路的边
数等于结点数hn,即为“哈密顿回路”。
1
定理2.任何无向图的回路,如果结点号和数组下标一一对应,可采用一维数组存储,结
点标号为数组下标号
文档评论(0)