29 lines
No EOL
1.6 KiB
Markdown
29 lines
No EOL
1.6 KiB
Markdown
# Eulerovské grafy
|
|
|
|
Tah z $u$ do $v$ v grafu $G$ je sled $(u = v_{0}, v_{1}, \dots, v_{k} = v)$, ve kterém se **mohou opakovat vrcholy**, ale **hrany** $v_{i-1}v_i$ **jsou** pro různá $i$ **různé**.
|
|
- Tahem nazveme sled, ve kterém se neopakují hrany.
|
|
|
|
**Uzavřený tah** je tah, který je uzavřeným sledem (začíná a končí stejným vrcholem).
|
|
|
|
**Uzavřený tah** je **eulerovský**, pokud používá každou hranu grafu $G$.
|
|
|
|
**Eulerovským grafem** nazveme graf $G$, který obsahuje eulerovský tah.
|
|
|
|
## Existence eulerovského tahu
|
|
|
|
Za jakých podmínek existuje sled, který používá každou hranu daného grafu právě jednou?
|
|
|
|
**Věta**: Souvislý graf $G$ má eulerovský tah, právě když **všechny** jeho **vrcholy** mají **sudý stupeň** (jde z něj sudý počet hran).
|
|
|
|
- orientovaný graf je eulerovský právě tehdy, je-li souvislý a každý jeho vrchol má vstupní stupeň rovný výstupnímu
|
|
|
|
### Hierholzerův algoritmus
|
|
|
|
Algoritmus pro hledání eulerovských tahů.
|
|
|
|
1) vybereme libovolný vrchol $v \in G$ souvislého grafu
|
|
2) následujeme hrany a tvoříme tah $w$ z tohoto vrcholu, dokud se nevrátíme do vrcholu $v$
|
|
3) díky sudému stupni každého vrcholu se na žádném vrcholu není možné zaseknout (jednou hranou se vstoupí a existuje další nepoužitá, kterou se vystoupí)
|
|
4) tento tah bude uzavřeným, ale možná nepokryje všechny vrcholy a hrany grafu
|
|
5) dokud existuje vrchol $u \in w$, který má nevyužité hrany, začneme nový tah z $u$, který následuje nepoužité hrany, dokud se nevrátíme do $u$
|
|
6) jelikož se jedná o souvislý graf, opakováním předchozího kroku vyčerpáme všechny hrany grafu |