首页 > 其他 > 详细

对二叉树进行广度优先遍历

时间:2019-04-13 16:55:32      阅读:69      评论:0      收藏:0      [点我收藏+]

假设一个二叉树结构,如下

技术分享图片

 

对它进行广度优先遍历的时候,用队列进行操作

 

定义一个队列: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]

 

...

...

...

 

如上操作,直到遍历完成

 

这就是对二叉树进行广度优先遍历的一种实现思想

对二叉树进行广度优先遍历

原文:https://www.cnblogs.com/yummylucky/p/10701558.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!