(半)欧拉图,欧拉路径、回路学习小记

来源:互联网 发布:北大青鸟java培训费用 编辑:程序博客网 时间:2024/06/07 10:43

一坨定义:

欧拉路径:经过图所有边一次的路径。
欧拉回路:成环的欧拉路径即为欧拉回路。
欧拉图:有欧拉回路的图。
半欧拉图:只有欧拉路径,没有欧拉回路的图。

欧拉图和半欧拉图的判定:

首先这得是个连通图吧。
如果所有点的度数都是偶数,该图为欧拉图。
如果只有两个点的度数为奇数,其它点的度数都是偶数,该图为半欧拉图。

寻找欧拉路径和欧拉回路的方法:

先讲欧拉回路,这个简单一点。
从起点出发,若当前点是x,递归走与x点所有相连的没有走过的路径,走完把x按顺序存起来, 最后倒序输出就是欧拉回路。
在半欧拉图中,要求欧拉路径的话,从度数为奇数的点出发就行了。

如何使字典序最小?

递归之前把边排个序就好了。

如何正确的理解(证明)这个牛算法:

记住这个算法吧,反正它也不长。

原创粉丝点击