递归的宗旨:
![](https://img.haomeiwen.com/i25166568/609dd4951dcf016a.png)
先序遍历、中序遍历、后序遍历一般使用深度优先搜索DFS实现,层次遍历一般用广度优先搜索BFS实现。
1、先序遍历
![](https://img.haomeiwen.com/i25166568/115ee4ce402faddf.png)
2、中序遍历
![](https://img.haomeiwen.com/i25166568/2c874a6616f4bf53.png)
3、后序遍历
![](https://img.haomeiwen.com/i25166568/e28068bd5faadf5b.png)
层次遍历:
![](https://img.haomeiwen.com/i25166568/dbe039aba4db4213.png)
![](https://img.haomeiwen.com/i25166568/66405d0b1bc32c4a.png)
使用的队列中元素是node*型而不是node型,这是因为如果队列中直接存放node型,当需要修改队首元素时,就会无法对原元素进行修改(即只修改了队列的副本)
递归的宗旨:
先序遍历、中序遍历、后序遍历一般使用深度优先搜索DFS实现,层次遍历一般用广度优先搜索BFS实现。
1、先序遍历
2、中序遍历
3、后序遍历
层次遍历:
使用的队列中元素是node*型而不是node型,这是因为如果队列中直接存放node型,当需要修改队首元素时,就会无法对原元素进行修改(即只修改了队列的副本)
本文标题:二叉树的遍历
本文链接:https://www.haomeiwen.com/subject/gywahltx.html
网友评论