二叉树普通的遍历分为三种,分别是前序遍历(先序遍历)、中序遍历、后序遍历。
这是从别处拷来的一张图,以此图为例说明:
前序遍历的顺序是:根节点、左节点、右节点。
从第一个根节点A开始为ABE,接下来是B开始,由于B没有左节点,所以遍历为BC;然后是E作为开始遍历为EF,C作为开始遍历为CD,F作为开始遍历为FG,G作为开始遍历为GHK。
将上面的一次关联起来,整个前序遍历即为ABCDEFGHK。
中序遍历的顺序是:左节点、根节点、右节点。
从第一个根节点A作为参照遍历为BAE,B作为参照遍历为BC,C作为参照遍历为DC,E作为参照遍历为EF,F作为参照遍历为GF,G作为参照遍历为HGK。
关联起来整个中序遍历为BDCAEHGKF。
后续遍历的顺序是:左节点、右节点、根节点。
从第一个根节点A开始遍历为BEA,B开始遍历为CB,C开始遍历为DC,E开始遍历为FE,F开始遍历为GF,G开始遍历为HKG。
关联起来整个后续遍历为DCBHKGFEA
总结:二叉树的遍历都是以根节点作为参照开始的,至于左右节点则总是,左节点在左,右节点在右。前序遍历时根节点在左右节点前,中序遍历则在左右节点中间,后序遍历则在左右节点后边。