遍历的主要思想:先把数分为主根,主根的左子树,主根的右子树。左子数看成一个整体,进一步分为主根,左子数和右子数。。。。。。
①先序遍历
先序遍历的规则:(1)先访问根节点(2)再先序访问左子数(3)再先序访问右子树
A-B-D-C-E-F-G
解释:先访问根节点A,然后访问A的左子树(包括BD,把分支BD当成一个整体,在先序访问根节点B,然后访问B的左子数D),最后访问A的右子数(包括CEFG,把它们看成一个整体,先访问C,在访问C的左子树E,然后访问C的右子数FG,先访问根节点F,然后左子数G)
A-B-C-D-E-F-L-Q-M-N-S
②中序遍历
中序遍历左子数,在访问根节点,再中序访问右子数。
B-D-C-E-A-L-F-N-Q-M
解释:先中序遍历A的左子树(BCDE,B没有左子树,遍历根B,然后右子树CDF,先遍历左子树D,然后根节点C,右子数E),然后是主根节点A,最后是右子树(FLMLNLQ,左子数为L,根F,右子树MNQ,先左子树NQ,N无左子树,先根N,后Q,最后M)
B-D-C-A-M-Q-E-L-N
③后续遍历
后遍历左子树,后序遍历右子树,再访问根节点。
N-W-T-S-F-P-L-Q-M
解释:先左子数N,再右子树(QSTWLPF,先遍历Q左子树STW,先遍历S的左子数TW,先遍历T的左子数W,然后T的右为空,然后遍历根节点T;然后就是S的右子树为空,遍历S,Q的左子数遍历完毕,然后遍历Q的右子树LPF,L无左子数,遍历右子树PF,P没左子数,遍历右子数F,最后根P,根L,根Q根M
B-D-M-F-L-E-C-A