Как распечатать каждый путь к дереву без использования рекурсии.Печать каждого листа пути дерева без рекурсивного
Это дерево, НЕ бинарного дерева
struct node {
int data
std::vector<node*> children;
}
печать все пути от корня до листа, то есть следующее дерево при
- г: является корневым узлом
- d, m, n are r's children
- x, y, z are d s дети
- нет ребенка для т
- о, р являются н-х детей
-------------root ------d m n ---x y z o p
Результат должен быть:
root-d-x root-d-y root-d-z root-m root-n-o root-n-p
Я пытался использовать нерекурсивную путь, но потерпел неудачу.
Является ли это домашнее задание? – benjer3
Я считаю, что вы можете настроить нерекурсивный двоичный обход дерева для вашего случая. Простейшая реализация с минимальными издержками памяти должна иметь указатель родительского узла в 'node'. См. [NonRecursiveInOrderTraversal()] (http://en.wikipedia.org/wiki/Tree_traversal). –