dfs (x) { push (NULL, x); // evtl. Vorgänger und Knoten while ( stack nicht leer ) { (x', x) := pop (); if (not besucht [x]) { besucht[x] = true; b[x] = ++counter; // (x', x) heißt Baumkante for ( y in Nachbarn von x ) { push (xy); } } } }