Traverse Baum ohne Rekursion und Stapel in C
Wie kann man jeden Knoten eines Baumes effizient ohne Rekursion in C durchlaufen (kein C ++)?
Angenommen, ich habe die folgende Knotenstruktur dieses Baums:
struct Node
{
struct Node* next; /* sibling node linked list */
struct Node* parent; /* parent of current node */
struct Node* child; /* first child node */
}
Es ist keine Hausaufgabe.Ich bevorzuge Tiefe zuerst.Ich bevorzuge keine zusätzliche Datenstruktur (wie Stack).Ich bevorzuge den effizientesten Weg in Bezug auf Geschwindigkeit (nicht Platz).Sie können das Mitglied von @ ändern oder hinzufügNode
struct zum Speichern zusätzlicher Informationen.