1、层次遍历,广度优先遍历
image.png要遍历二叉树,我们得有一个规则,按照从上往下,从左往右的顺序遍历二叉树,这样的遍历就叫做层次遍历,或者说是广度优先遍历。
2、深度优先遍历(先序,中序,后序)
image.png仔细观察我们可以发现,这种遍历方式,每个节点都会有三个指针指向他,也就是说走了三次,第一次,第二次和第三次。
这样的话我们可以得出三种序列,分别为第一次,第二次和第三次的:
image.png
image.png image.png
3、一般的树的遍历
层次遍历就跟二叉树的一致
image.png
深度优先遍历与二叉树的不一致如图:
image.png
树的叶子节点与二叉树的叶子节点不一样,不像二叉树的一样,强行有两个分支,数的叶子节点只有一个空分支,代表这个叶子节点没有孩子节点。
image.png因为树与二叉树的不一致,所以树只有先序遍历和后序遍历,而没有中序遍历。
如果需要一个树,我们想得到他的先序遍历和后序遍历,我们可以先将他转化为二叉树的存储结构
image.png
树的先序遍历是等价于转化后的二叉树的先序遍历
树的先=后序遍历是等价于转化后的二叉树的中序遍历
森林
image.png image.png image.png image.png森林与普通树一样,我们都可以先转换为二叉树,然后再进行遍历即可。
网友评论