二叉树的先序遍历

来源:互联网 发布:淘宝直播间的链接地址 编辑:程序博客网 时间:2024/05/22 13:59

二叉树的先序遍历的递归定义如下:

如果二叉树为空,则执行空操作。如果二叉树非空,则执行以下操作:
(1)访问根结点。
(2)先序遍历左子树。
(3)先序遍历右子树。
 
 
在二叉树先序的遍历过程中,对每一棵二叉树重复执行以上的递归遍历操作,就可以得到先序序列。例如,在遍历根结点A的左子树{B,D,E,G,H,I}时,根据先序遍历的递归定义,先访问根结点B,然后遍历B的左子树为{D,G},最后遍历B的右子树为{E,H,I}。访问过B之后,开始遍历B的左子树{D,G},在子树{D,G}中,先访问根结点D,因为D没有左子树,所以遍历其右子树,右子树只有一个结点G,所以访问G。B的左子树遍历完毕,按照以上方法遍历B的右子树。最后得到结点A的左子树先序序列:B、D、G、E、H、I。
原创粉丝点击