热心网友
回答时间:2025-01-14 08:50
先序遍历就是“根左右”,不管你现在在哪个节点,都是按这种规则。上面的题目:根是A,左是B,右是C,所以是A-》B,在当前根节点B,还是按上述规则,那么接下来到D,D之后没有子节点,返回B,遍历E-》X,X之后没有子节点,返回E,E的子节点都遍历完了,返回B,B的子节点都遍历完了,返回A,接下来遍历右子树,规则同上。
中序遍历就是“左根右”,对于A来说,先遍历B,对于B来说,先遍历D,对于D来说,已经没有左子树,所以遍历D,D没有右子树,返回B,遍历B,B有右子树E,对于E来说,先遍历X,完了返回E,E完了返回B,B完了返回A,遍历A,遍历右子树,规则同上。
后序遍历就是跟先序遍历相反的,先遍历右子树,再左子树,最后才是根。
好好思考一下。
收起
热心网友
回答时间:2025-01-14 08:49
拿这个例子来说:中序遍历—关注右节点是否有子节点—中序遍历顺序是左-根-右——从树的最左边的第一个子节点开始,那么就是D,然后是中间节点B,接下来是右节点E,这时关注E,因为E本身又是X的父节点,所以再找E这个目录下的左-中-右,ok,我们已经完成D-B-X-E,接下来是最高层的A了,D-B-X-E-A,开始右支,到了右支,最先看到的是C,因为C本身是父节点,那么接着往下找F,F也是一个父节点,接着往下找,就到Y,再从Y开始往上,Y-F-Z-C,前后连起来,ok
收起