二叉树、树、森林三者遍历比较

【三种遍历方法对比】

二叉树 森林
先序遍历 第一次经过该结点就访问 根访问在前,先访问根结点,后访问其他结点 从左到右对森林中的每一棵树进行【先根遍历】
中序遍历 第二次经过结点的时候访问 树的度不一定,一般不说中序遍历,但非要谈,那就是第二次经过该结点时进行访问 森林的中序、后序,只是许多地方说法不一样,实则是一个东西
后序遍历 第三次经过结点的时间访问 先遍历子树,再访问根结点(先访问子树是空的结点) 从左到右对森林中的每一棵树进行【后根遍历】

【树、森林用二叉链表的形式存储(二叉链表的形式)时,其遍历对应着二叉树的遍历方式是什么?】

  • 若树是用二叉链表的形式存储,那么树的后根遍历,即可对该二叉链表进行中序遍历即可 | 树 | 森林 | 树、森林用二叉链表的形式存储(孩子兄弟表示法) | | —- | —- | —- | | 先根遍历 | 先序遍历 | 先序遍历 | | 后根遍历 | 中序遍历、后序遍历 | 中序遍历 |

树的中序遍历问题

【二叉树的中序遍历】二叉树遍历的时候都一共有三次经过结点,第二次经过时就是中序遍历(因为度为2,所以有中序遍历)

【树的中序遍历问题】树的度不一定,一般不说中序遍历
二叉树、树、森林遍历 - 图1