Blog of RuSun

\begin {array}{c} \mathfrak {One Problem Is Difficult} \\\\ \mathfrak {Because You Don't Know} \\\\ \mathfrak {Why It Is Diffucult} \end {array}

欧拉图

欧拉图相关。

  • 通过图中所有边恰好一次且行遍所有顶点的通路称为欧拉通路
  • 通过图中所有边恰好一次且行遍所有顶点的回路称为欧拉回路

判定

无向图

  • 图连通。
  • 欧拉回路:所有点度数为偶数。
  • 欧拉通路:只有起点和终点度数不为偶数;

有向图

  • 欧拉回路:所有点在同一个强连通分量,每个点入度和出度相同;
  • 欧拉通路:将有向边视为无向时图连通;起点出度比入度大 $1$ ,终点入度比出度大 $1$ ,其他点入度出度相同。

Hierholzer 算法

求欧拉路径:

  • 确定起点;
  • 从起点开始搜索,经过一条边后将其删除;
  • 所有边都删除后,将其加入栈中;
  • 从栈顶到栈底即为答案。