数据结构之二叉树的遍历

二叉树的遍历
先序遍历:  先访问根节点
                      再遍历左子树
                      再遍历右子树

中序遍历: 中序遍历左子树
                      再访问根节点
                       中序遍历右子树

后序遍历: 中序遍历左子树
                     中序遍历右子树
                      再访问根节点
举个例子:
先序遍历二叉树

 
  
先序遍历:ABDCEFG
其意就是:从根节点A开始,先访问A的左子树B再访问B的左子树D,再访问D的右子树,
由于D的左子树为0,则再访问D的右子树,为空,则D访问完毕....


中序遍历:BDCEALFNQM




中序遍历B的左子树,左为空,则中序遍历B的右子树,要想遍历B的右子树,则
需要遍历B的右子树,则需要遍历C的左子树...


后序遍历:BDMFLECA

先访问左,再访问右,再访问根,那就是B,访问右边,先访问C的左子树,D左为空,D右为空,然后再访问MFLECA


                         
再举个栗子:
已知二叉树的前序和中序,求后序
前序:FBACDEGH
中序:ABDCEFGH
我们可以根据前序来判断其原二叉树的根节点,再根据中序来判断他的左子树和右子树



原二叉树如下:


                        
                                                             
则它的后序为:ADECBHGF

                                                                

猜你喜欢

转载自blog.csdn.net/panrenqiu/article/details/79718530