树的遍历
- 先根遍历
- 后根遍历
- 层序遍历
- 树的先根遍历
若树非空,先访问根结点,再依次对每棵子树进行先根遍历。
//树的先根遍历
void PreOrder(TreeNode *R){
if(R!=NULL){
visit(R); //访问根结点
while(R还有下一个子树T)
PreOrder(T); //先根遍历下一棵子树
}
}
先根遍历序列:ABEKFCGDHIJ
用“孩子兄弟表示法”将该树转换为二叉树,得到下图:
结论:树的先根遍历序列,与这棵树对应的二叉树先序遍历序列相同。
- 树的后根遍历