通常为二叉树定义顺序。假设有序(扩展)了(普通)树。如果树是单节点,则该节点是树的顺序遍历。如果树T是以T1,T2,...,Tk子树和r为根的树,则按T1的顺序,然后按r,再按顺序遍历T2,T3,.., Tk是T的有序遍历。T以左子右同胞表示形式给出。 C中节点的数据结构为:
struct node {
int data;
struct node *left-child;
struct node *right-sibling;
}
树用指向根的指针表示。根不能有右兄弟。问题是找到一种算法来按顺序遍历树。不允许递归。 (递归算法是微不足道的。)>
通常为二叉树定义顺序。假设有序(扩展)了(普通)树。如果树是单节点,则该节点是树的顺序遍历。如果树T是树...
无递归遍历树的标准机制是通过使用额外的堆栈收集/数据结构。