Explore a graph by going as deep as possible along each branch before backtracking. Uses a stack (or recursion) to track the path.
// tap NEXT STEP to walk through one step at a time