对二叉树进行广度优先遍历
Posted yummylucky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对二叉树进行广度优先遍历相关的知识,希望对你有一定的参考价值。
假设一个二叉树结构,如下
对它进行广度优先遍历的时候,用队列进行操作
定义一个队列:queue = [ ]
1、先将A从右侧压入队列,queue = [A]
2、将A从队列左侧取出,queue = [ ],对取出的A进行遍历左孩子和右孩子,遍历到B和C,将它们从右侧依次压入队列,queue = [B,C]
3、将B从队列左侧取出,queue = [C],对取出的B进行遍历左孩子和右孩子,遍历到D和E,将它们从右侧依次压入队列,queue = [C,D,E]
4、将C从队列左侧取出,queue = [D,E],对取出的C进行遍历左孩子和右孩子,遍历到F和G,将它们从右侧依次压入队列,queue = [D,E,F,G]
5、将D从队列左侧取出,queue = [E,F,G],对取出的D进行遍历左孩子和右孩子,遍历到H和I,将它们从右侧依次压入队列,queue = [E,F,G,H,I]
...
...
...
如上操作,直到遍历完成
这就是对二叉树进行广度优先遍历的一种实现思想
以上是关于对二叉树进行广度优先遍历的主要内容,如果未能解决你的问题,请参考以下文章