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

1.6 KiB
Raw Blame 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