哈密顿回路 竞赛图 构造哈密顿回路(待更新)

哈密顿回路

1.哈密顿回路

图G的一个回路,该回路除了经过初始结点两次以外,恰好经过每个结点一次,则称此回路为哈密顿回路。哈密顿回路中每个结点都为偶结点且入度和出度均为1

2.哈密顿路径

一条路径上每个节点仅经过一次的路径称为哈密顿路径

3.哈密顿通路

含有图G所有节点的哈密顿路径称为哈密顿通路

4.哈密顿图

含有哈密顿回路的图

竞赛图

简介

图G是一个有向图,其中每对不同的顶点通过单个有向边连接,即每对顶点之间都有一条边相连,那么图G称为竞赛图,含n个节点的竞赛图称为n阶竞赛图

性质

  1. n(n>2)阶竞赛图一定含有哈密顿路径
  2. 竞赛图存在哈密顿回路的充要条件是强连通

构造哈密顿回路

狄拉克定理

1.任意找两个相邻的节点S和T,在其基础上扩展出一条尽量长的没有重复结点的路径。即如果S与结点v相邻,而且v不在路径S -> T上,则可以把该路径变成v -> S -> T,然后v成为新的S。从S和T分别向两头扩展,直到无法继续扩展为止,即所有与S或T相邻的节点都在路径S -> T上

2.若S与T相邻,则路径S -> T形成了一个回路

3.若S与T不相邻,可以构造出来一个回路.设路径S -> T上有k+2个节点,依次为S, v1, v2, …, vk, T.可以证明存在节点vi(i属于[1, k]),满足vi与T相邻,且vi+1与S相邻.找到这个节点vi,把原路径变成S -> vi -> T -> vi+1 ,即形成了一个回路

4.到此为止,已经构造出来了一个没有重复节点的的回路,如果其长度为N,则哈密顿回路就找到了。如果回路的长度小于N,由于整个图是连通的,所以在该回路上,一定存在一点与回路之外的点相邻。那么从该点处把回路断开,就变回了一条路径,同时还可以将与之相邻的点加入路径。再按照步骤1的方法尽量扩展路径,则一定有新的节点被加进来。接着回到路径2

时间复杂度

由于每一轮当中至少有一个节点被加入到路径S -> T中,所以总的轮数肯定不超过n轮,所以时间复杂度为O(n2).空间上由于边数非常多,所以采用邻接矩阵来存储比较适合

发布了128 篇原创文章 · 获赞 7 · 访问量 5270

猜你喜欢

转载自blog.csdn.net/qq_44691917/article/details/104562992