C# 如何判断遍历到二叉树先序遍历最后一个节点元素了?


//前序、中序遍历步骤:

1)将根结点5放入栈中取出左节点3作为根节点 

2)将根结点3放入栈中,取出左节点2作为根节点

3)将根结点2放入栈中取出左节点1作为根节点

4)将根结点1放入栈Φ,取出左节点0作为根节点

5)将根结点0放入栈中取出左节点null作为根节点


6)将0节点从栈中删除,取出右节点null做为根节点


7)将1节点从栈中删除取絀右节点null做为根节点


8)将2节点从栈中删除,取出右节点null做为根节点


9)将3节点从栈中删除取出右节点4做为根节点

10)将根结点4放入栈中,取出左节點null作为根节点


11)将4节点从栈中删除取出右节点null做为根节点


12)将5节点从栈中删除,取出右节点7做为根节点

13)将根结点7放入栈中取出左节点6作为根节点

14)将根结点6放入栈中,取出左节点null作为根节点


15)将6节点从栈中删除取出右节点null做为根节点


16)将7节点从栈中删除,取出右节点8做为根节点

17)將根节点8放入栈中取出左节点null作为根节点


18)将8节点从栈中删除,取出右节点null做为根节点


后序遍历:先输出左子节点再输出右子节点,最後输出根节点  0 1 2 4 3 6 8 7 5

//层序遍历:先访问树的第一层再访问第二层节点....一直到访问最下面一层节点。在同一层节点中以从左到右的顺序依次访問。   

我要回帖

更多关于 二叉树先序遍历最后一个节点 的文章

 

随机推荐