Może coś takiego, że wypisujesz lewe dziecko, prawe dziecko węzła i dodajesz węzeł do tablicy węzłów odwiedzonych. Następnie przeskakujesz z aktualnego węzła, na lewe dziecko, i wypisujesz lewą i prawą wartość dzieci. I teraz jeżeli węzeł nie ma już dzieci to wracasz do węzła rodzica (zakładam, że węzeł zna swojego rodzica) i jeżeli wszystkie dzieci węzła rodzica są już w tablicy odwiedzonych, to wracasz do kolejnego rodzica do momentu aż wszystkie dzieci korzenia drzewa będą znajdowały się w tablicy węzłów odwiedzonych. Pominąłem tutaj sprawdzanie czy węzeł jest NULL, ale coś takiego mi się nasunęło. Pewnie jest lepsze rozwiązanie, ale to tak na szybko.