

Chip Mentioned that you could use a bag:


Init bag empty
Repeat until bag empty
   Get x from bag
   Put all x's children in bag


ways of choosing from bag:
   deepest first, leftmost if tie -> DFS
   shallowest first, leftmost if tie -> BFS

complications arise from visiting parent of the 
extracted x for in order printing. Rather keep the
parent and a flag to indicate that the right-child
is the thing desired. But it is taking the left-child
which is the exception, so this gives rise to the
invention of t in my algorithm.



