Jak wydrukować każdą ścieżkę liści drzewa bez użycia rekursji.Drukuj każdą ścieżkę drzewa bez rekursywnego
To jest drzewo, NIE binarne drzewo
struct node {
int data
std::vector<node*> children;
}
wydrukować wszystkie ścieżki od korzenia do liścia, czyli po to drzewo
- r: jest węzeł główny
- d, m, n są dziećmi r
- x, y, z są dziećmi
- nie ma dziecko za m
- o, p 'n' są dzieci
-------------root ------d m n ---x y z o p
Wynik powinien być:
root-d-x root-d-y root-d-z root-m root-n-o root-n-p
Próbowałem użyć nierekursywnych drogę, ale bezskutecznie.
Czy to zadanie domowe? – benjer3
Uważam, że możesz dostosować nierekurencyjne drzewo binarne do swojego przypadku. Najprostsza implementacja z minimalnym narzutem pamięci miałaby wskaźnik węzła nadrzędnego w węźle. Zobacz [nonRecursiveInOrderTraversal()] (http://en.wikipedia.org/wiki/Tree_traversal). –