Как эффективно перемещаться по каждому node дерева без рекурсии в C (нет С++)?
Предположим, что у меня есть следующая структура node этого дерева:
struct Node
{
struct Node* next; /* sibling node linked list */
struct Node* parent; /* parent of current node */
struct Node* child; /* first child node */
}
- Это не домашнее задание.
- Сначала я предпочитаю глубину.
- Я предпочитаю не создавать дополнительную структуру данных (например, стек).
- Я предпочитаю наиболее эффективный способ с точки зрения скорости (а не пространства).
- Вы можете изменить или добавить элемент структуры
Node
для хранения дополнительной информации.