欧拉回路算法:
步骤1(起始通路)
(a)令E是G的边集。
(b)选择一个顶点U,令通路C仅有U组成。
步骤2(扩充通路)
while(E非空)
步骤2.1(为扩充选择一个起始点)
(a)令V是C中的顶点,它与E中的某条边关联。
(b)令通路P恰好包含V。
步骤2.2(扩充P,使它成为一条从V到V的通路)
(a)令W=V
(b)while E中有邻接W的边e
(a)从E中删除去e //从与顶点关联的边中任意选取一条边删去
(b)用邻接e的另一个顶点替换W
(c)将边e和顶点W添加到通路P.
endwhile
步骤2.3(扩充C) //将所有集合拼凑到一个大集合中
用通路P替换C中出现的任意的某一个V。
endwhile
步骤3(输出)
通路C是一条欧拉回路