FAV-ZCU/KMA DMA/Otázky ke zkoušce/18. Eulerovské grafy.md

29 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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_{i1}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