Atravessar a árvore sem recursão e empilhar em C
Como percorrer cada nó de uma árvore eficientemente sem recursão em C (sem C ++)?
Suponha que eu tenha a seguinte estrutura de nós dessa árvore:
struct Node
{
struct Node* next; /* sibling node linked list */
struct Node* parent; /* parent of current node */
struct Node* child; /* first child node */
}
Não é lição de casa.Prefiro profundidade primeiro.Prefiro que nenhuma estrutura de dados adicional seja necessária (como a pilha).Prefiro a maneira mais eficiente em termos de velocidade (não de espaço).Você pode alterar ou adicionar o membro deNode
struct para armazenar informações adicionais.