Zložitosť

Každé volanie funkcie dfs() samo o sebe prefarbí jeden vrchol. Celkový počet volaní teda bude rovný počtu prefarbených vrcholov (čiže nanajvýš $n$). Každé volanie urobí (okrem rekurzívnych volaní) množstvo práce úmerné počtu hrán vedúcich zo $Z$. Keďže z do každého vrchola sa dfs() volá najviac raz, každú hranu takto kontrolujeme najviac raz (v prípade orientovaných hrán), resp. dvakrát (v prípade neorientovaných hrán). To znamená, že v najhoršom prípade má náš algoritmus časovú zložitosť $O(n+m)$, kde $n$ je počet vrcholov grafu a $m$ je počet hrán. Presnejší odhad dostaneme, ak namiesto počtu všetkých vrcholov vezmeme iba počet navštívených (teda dosiahnuteľných z $S$) a namiesto počtu všetkých hrán vezmeme iba počet dosiahnuteľných hrán.

Na pamätanie grafu potrebujeme aspoň $O(m)$ pamäte. Niekedy si však graf pamätáme aj z iných dôvodov a teda ho nemusíme počítať do pamäťovej zložitosti prehľadávania do hĺbky. V takom prípade má prehľadávanie pamäťovú zložitosť $O(n)$, kvôli zásobníku počas rekurzie.