二叉树的遍历【 详细讲解 】

二叉树的遍历【 详细讲解 】

原创  2016年10月18日 17:04:53

二叉树的遍历

一共有4种遍历

先看图,对于这个图进行4种遍历的讲解

 

 

1、         先序遍历

定义:若二叉树为空,则空操作;否则

(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

2、         中序遍历

定义:若二叉树为空,则空操作;否则

(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

3、         后序遍历

定义:定义:若二叉树为空,则空操作;否则

(1)后序遍历的左子树(2)后序遍历的右子树(3)访问根节点

不在详细解释了,按照前面的思想,本质就是,大家找小家,小家找小小家……

访问顺序: H I D J E B K F G C A

4、         层序遍历

不用多说大家都会吧

访问顺序:A B C D E F G H I J K 

二叉树的遍历

一共有4种遍历

先看图,对于这个图进行4种遍历的讲解

 

 

1、         先序遍历

定义:若二叉树为空,则空操作;否则

(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

2、         中序遍历

定义:若二叉树为空,则空操作;否则

(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

3、         后序遍历

定义:定义:若二叉树为空,则空操作;否则

(1)后序遍历的左子树(2)后序遍历的右子树(3)访问根节点

不在详细解释了,按照前面的思想,本质就是,大家找小家,小家找小小家……

访问顺序: H I D J E B K F G C A

4、         层序遍历

不用多说大家都会吧

访问顺序:A B C D E F G H I J K 

猜你喜欢

转载自blog.csdn.net/qq_39642794/article/details/78773737