(普通)树的非递归有序遍历

问题描述 投票:0回答:1

通常为二叉树定义顺序。假设有序(扩展)了(普通)树。如果树是单节点,则该节点是树的顺序遍历。如果树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是树...

algorithm tree-traversal non-recursive
1个回答
0
投票

无递归遍历树的标准机制是通过使用额外的堆栈收集/数据结构。

© www.soinside.com 2019 - 2024. All rights reserved.