2025-3-9 树和森林的遍历
一、树的遍历
1.先根遍历
先访问根节点,再依次对每棵子树进行先根遍历。 while循环来查找是否有下一个子树。
-----树的先根遍历序列与这颗树相对应的先序序列相同。
2.后根遍历--深度优先遍历
若树非空,先依次对每棵子树进行后根遍历,再访问根节点。
-----树的后根遍历序列与这棵树相应的二叉树的中序序列相同。
3.层序遍历(用队列来实现)--广度优先遍历
若树非空,则根节点先入队。
若队列非空,对头元素出队并访问,同时将该元素的孩子依次入队。
重复上一步骤直到队列为空。
二、森林的遍历
1.先序遍历
若森林非空,访问森林中第一棵树的根结点
先序遍历第一棵树中根结点的子树森林
先序遍历除去第一棵树之后剩余的树构成的森林
-----效果等同于依次对各个树进行先根遍历。 也等同于依次对二叉树的先序遍历
2.中序遍历
中序遍历森林中第一棵树的根结点的子树森林
访问第一棵树的根结点
中序遍历除去第一棵树之后剩余的树构成的森林。
-----等同于对各个树进行后根遍历。 转换为二叉树后,等同于对二叉树中序遍历。
总结: