天天看点

力扣---广度优先遍历(python实现)

一:从上到下打印二叉树:

二:二叉树的层序遍历(自底向上):

三: 填充每个节点的下一个右侧节点指针

四:N叉树的层序遍历:

五:二叉树的右视图:

力扣---广度优先遍历(python实现)

解析: BFS的特点:

1:首先BFS必须与队列配合使用。

2:首先初始化队列: 构建一个队列, 然后将根节点加入到队列中。

3:外层循环控制队列中是否还有元素,有则继续执行。

4:内层循环可以根据当前队列的长度,判断这一层有多少节点,然后循环遍历,将节点的值加入数组,然后如果当前根节点还有左子树节点则加入到队列中,有右子树也加入到队列中来。

力扣---广度优先遍历(python实现)

分析: 层序遍历,中间让每个节点指向下一个节点。

力扣---广度优先遍历(python实现)

原理还是层序遍历,只不过加入的时候,采用循环加入节点。

力扣---广度优先遍历(python实现)

层序遍历,如果是最后一层,则加入列表。