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

29 lines
1.6 KiB
Markdown
Raw Normal View History

# 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