if(v == null)
visited(v) = true
for all edges u,v belongs to G
if(u not visited)
push(u) // in reverse order; example if you want to explore nodes in lexicographical order push from z -> a
what about post(v) // insert a postOrder hook element to call post() after all the children are visited.
Alternatively, no need to push an element if it is already in stack