图的遍历:
深度优先与广度优先遍历
从图中某一顶点出发系统地访问图中所有顶点,使每个顶点恰好被访问一次,这种运算操作被称为图的遍历。为了避免重复访问某个顶点,可以设一个标志数组visited[i],未访问时值为false,访问一次后就改为true。
图的遍历分为深度优先遍历和广度优先遍历两种方法,两者的时间效率都是O(n*n)。
深度优先遍历
深度优先遍历与深搜DFS相似,从一个点A出发,将这个点标为已访问visited[i]:=true;,然后再访问所有与之相连,且未被访问过的点。当A的所有邻接点都被访问过后,再退回到A的上一个点(假设是B),再从B的另一个未被访问的邻接点出发,继续遍历。
哈密尔顿环:
欧拉回路是指不重复地走过所有路径的回路,而哈密尔顿环是指不重复地走过所有的点,并且最后还能回到起点的回路。
使用简单的深度优先搜索,就能求出一张图中所有的哈密尔顿环。
ACM图论学习总结二
最新推荐文章于 2020-09-23 15:39:57 发布