二叉树的遍历
一共有4种遍历
先看图,对于这个图进行4种遍历的讲解
- 先序遍历
定义:若二叉树为空,则空操作;否则
(1)访问根节点(2)先序遍历左子树(3)先序遍历右子树
根据定义我需要解释一下,定义很简单,其实定义是对于每一
子树而言的,我们先遍历A然后B,这时候我们不能遍历C结点,因为B结点是它下面子树的根节点,把B看成根节点进行访问,B->D,下面我们当然是把D结点看成根节点,不能访问E结点,需要访问H,再把H结点看成根节点,因为下面为空,那么就访问I 结点->E,把E结点再次看成根节点进行定义的方式的访问->J,其实它的本质从大家到小家,从小家再到小小家一直这样访问下去
访问的顺序:A B D H I E J C F K G
- 中序遍历
定义:若二叉树为空,则空操作;否则
(1)中序遍历的左子树(2)访问根节点(3)中序访问的右子树
还是那样的思想,把每次访问看成一个小家,进行访问:
我们需要先访问左节点,先找到根节点A->B,把B看成根节点->D
,把D看成根节点->H,这时候我们就找到第一个左节点,那就首先访问H根据定义来->D->I,那下面访问哪一个,我们已经访问完了已D为根节点的小家,D又是上面大家的左节点,那就需要访问大家的根节点B,然后访问E,其实不应该是E,应为已E为根节点的小家,左节点为空,那就下一步为结点E,然后J,……
访问的顺序:H D I B E J A F K C G
- 后序遍历
定义:定义:若二叉树为空,则空操作;否则
(1)后序遍历的左子树(2)后序遍历的右子树(3)访问根节点
不在详细解释了,按照前面的思想,本质就是,大家找小家,小家找小小家……
访问顺序: H I D J E B K F G C A
- 层序遍历
不用多说大家都会吧
访问顺序:A B C D E F G H I J K