Chcę w konkretnym porządku (inorder, postorder, preorder) "wypisać" drzewo binarne oraz w tym również porządku głębokość każdego liścia. Chcę jednak, żeby na wejściu najpierw pojawiło się "wypisane" drzewo, a następnie głębokości liści. W jaki sposób mam to zrealizować bez trzymania tych głębokości w dodatkowej pamięci? Trzeba wypisać to "w locie", również bez drugiego przechodzenia drzewa.
void preorder (drzewo, wierzcholek) {
wypisz wierzcholek;
if (wierzcholek ma lewego syna)
preorder (drzewo, lewy syn wierzcholka);
if (wierzcholek ma prawego syna)
preorder (drzewo, prawy syn wierzcholka);
if (wierzcholek nie ma synow <=> wierzcholek jest lisciem) {
przejdz do nastepnej linijki;
wypisz glebokosc wierzcholka;
wroc do linijki wyzej;
}
}