广度优先遍历
从根节点开始遍历,优先遍历其子节点,再从左至右的,依次遍历其孙子节点的,以此类推,直到完成整颗二叉树的遍历。
以如上的二叉树为例,其广度优先遍历的顺序是:50、20、60、15、30、70。
借助使用队列进行广度优先遍历,先把根节点放入队列,利用队列的先进先出原则,访问队列中取出的节点,并分别把左子节点和右子节点放入队列,循环下去,直到队列为空。
代码示例如下:
# encoding=utf-8
from queue import Queue
class TreeNode(object):
def __init__(self,var,left=None,right=None):