Mějme množinu prvků, ve které je definované uspořádaní jen pro některé dvojice, např. prvky jsou činnosti v čase. Příkladem může být montáž složitého zařízení, kdy některé úkony musíme vykonávat za sebou a některé jsou na sobě nezávislé. Zjednodušeným příkladem je oblékaní, kdy „oblečení“ hodinek je nezávislé na všech ostatních úkonech, avšak před tím než si oblečeme sako, jistě si musíme obléct košili.
Jestliže prvky uvažované množiny zobrazíme jako vrcholy grafu a dvojice prvků (u,v), pro které je definováno uspořádaní tak, že u předchází v, budou tvořit jeho orientované hrany, vznikne orientovaný acyklický graf (directed acyclic graph - DAG). Na topologické seřazení grafu můžeme nahlížet jako na umístnění jeho vrcholů na horizontální přímce, přičemž všechny hrany jsou orientovány zleva doprava.
V příkladu montáže zařízení tak získáme pořadí v jakém můžeme požadované montážní úkony vykonat za sebou, přičemž dodržíme požadované následnosti úkonů.
S využitím prohledávání do hloubky je algoritmus topologického řazení možná až překvapivě jednoduchý.
Vytvoř les stromů prohledáváním do hloubky.
Když je vrchol ukončen přidej ho do na začátek seznamu.
Vrať seznam vrcholů.
Čas výpočtu topologického řazení zřejmě je Θ(|V | + |H|), protože vytvoření lesa stromů prohledáváním do hloubky je Θ(|V | + |H|) a vložení každého z |V| vrcholů na začátek seznamu je O(1).
Činnost algoritmu si demonstrujeme na zmíněném jednoduchém příkladu oblékání. Vrcholy grafu budou tvořeny oblékanými součástmi garderobiéry. Uspořádaní dvojic vrcholů je dáno požadovaným pořadím oblékání. Tyto dvojice definují hrany acyklického orientovaného grafu, který je na obr.. Po vykonání prohledávání do hloubky získáme například hodnoty časů objevení/dokončení jednotlivých vrcholů uvedené na obr.
. Tomu odpovídá lineární seřazení vrcholů na obr.
. Protože vrcholy grafu byly vkládány do seznamu při jejich dokončení, časy dokončení jsou sestupně seřazeny.