欧拉回路来源于著名的“哥尼斯堡七桥”问题,是由列昂哈德.欧拉提出,别问我为什么知道这么多,因为《离散数学》书上有。
废话说的有点多,首先,什么是欧拉回路:通过图(此图不是图片)中所有的边一次且仅一次行遍所有顶点的回路称为欧拉回路。
上面的定义有三个条件,第一:要走遍图里面所有的边和顶点;第二:所有的边都只能走一遍,顶点无所谓;第三:
要有回路,就是你从起点出发,走完所有的边之后,你还要回到起点。这就是要有回路。
知道定义后,就可以来看算法了。求欧拉回路有两种算法,第一种是Fleury算法,第二种叫逐步插入回路法。
Fleury算法:
(1)任取v0∈V(G),令P0=v0;
(2)设pi = v0e1v1e2...eivi已经走遍,按下面方法从E(G)-{e1,e2,e3,...,ei}中选取e(i+1);