Využitie

Samotné prehľadávanie do hĺbky, ako je prezentované v tomto článku, sa dá využiť na testovanie dosiahnuteľnosti jedného vrcholu z druhého, ale napríklad aj na spočítanie komponentov neorientovaného grafu:

  1. Najprv zafarbíme celý graf na zeleno a vynulujeme si počítadlo.
  2. Následne skontrolujeme všetky vrcholy grafu. Vždy, keď nájdeme nejaký zelený vrchol, zavoláme doň dfs() a zvýšime si počítadlo o 1.
  3. Na konci budeme mať v počítadle počet komponentov.

Tento algoritmus sa dá dokonca rozšíriť tak, aby každý komponent zafarbil inou farbou (do funkcie dfs() pridáme parameter, aký odtieň červenej má používať).

To zatiaľ nevyzerá ako nič, čo by nezvládlo aj prehľadávanie do šírky. Prehľadávanie do hĺbky má však veľký význam ako základ rôznych zložitejších algoritmov, ktoré dokážu napríklad:

  • Hľadať mosty v grafoch.
  • Hľadať artikulácie v grafoch.
  • Hľadať silno súvislé komponenty v orientovaných grafoch.
  • Testovať planaritu grafov.