树的先根遍历、后根遍历对应其二叉树的哪种遍历
- 树的先根遍历对应其二叉树的先序遍历(根-左-右)。
- 树的后根遍历对应其二叉树的中序遍历(左-根-右)。
森林的先根遍历、中根遍历对应其二叉树的哪种遍历?
- 森林的先根遍历对应其二叉树的先序遍历(根-左-右)。
- 森林的中根遍历对应其二叉树的中序遍历(左-根-右)。
写算法求树中结点的度;树的度;树中的叶子结点数;树中的非终端结点数;树中某结点的兄弟、祖先、子孙、层次、堂兄弟;树的高度;森林中树的数目。
-
求结点的度:结点的度就是它的子结点数量。在遍历到一个结点时,计算其子结点数量即可。
-
树的度:树的度是树中所有结点的度的最大值。遍历树的所有结点,记录并更新最大的结点度。
-
叶子结点数:叶子结点是度为0的结点。遍历树的所有结点,计数度为0的结点。
-
非终端结点数:非终端结点就是度不为0的结点。遍历树的所有结点,计数度不为0的结点。
-
某结点的兄弟:兄弟结点是具有相同父结点的其他结点。在父结点的子结点列表中查找除当前结点外的其他结点。
-
某结点的祖先:祖先结点是从根结点到当前结点路径上的所有结点。从当前结点开始,沿父结点指针向上遍历,直到根结点。
-
某结点的子孙:子孙结点是从当前结点到叶子结点路径上的所有结点。从当前结点开始,遍历所有子结点及其子结点。
-
某结点的层次:结点的层次是从根结点到当前结点的路径长度。从当前结点开始,沿父结点指针向上遍历,计数到根结点的步数。
-
某结点的堂兄弟:堂兄弟结点是父结点的兄弟结点的子结点。首先找到父结点的所有兄弟结点,然后遍历这些兄弟结点的所有子结点。
-
树的高度:树的高度是树中所有结点的最大层次。遍历树的所有结点,记录并更新最大层次。
-
森林中树的数目:森林中树的数目就是森林的根结点数目。计数森林中的根结点即可。