二叉树的层级遍历(Level-order Traversal)
继续学习二叉树的遍历。
资料来源leetcode。
层次遍历就是一级一级遍历。
广度优先搜索(Breadth-First Search)是一种遍历或搜索数据结构(如树或图)的算法。 该算法从根节点开始,并首先访问该节点本身。 然后遍历其邻居,遍历其第二级邻居,遍历其第三级邻居,依此类推。
当我们在树中进行广度优先搜索时,我们访问的节点的顺序是级别顺序。
通常,用队列来帮助进行BFS。
F进队,0级遍历,遍历F,BG进队,
1级遍历,遍历B,AD进队,遍历G,I进队
2级遍历,遍历A,没有子节点,不进队,遍历D,CE进队,遍历I,H进队
3级遍历,遍历C,没有子节点不进队,遍历E,没有子节点不进队,遍历H,没有子节点不进队。
C#代码:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its level order traversal as