二叉树-层序遍历
遍历过程:
首先根节点入队
每次出队时, 都将当前节点的左右孩子先后入队
如果队列为空的话, 则表示层序遍历结束 5
/ \
3 6
/ \ \
2 4 85-->
[<--5] 3--> 6--> (3 , 6)
[<--3] 2--> 4--> (2 , 4)
[<--6] 8--> (2 , 4 , 8)
[<--2] [<--4] [<--8]
针对上面的二分搜索树, 详细描述一下层序遍历步骤
- 5入队, 队列元素 : head->[5]<-tail
- 5出队, 5的左子树3, 6入队, 由于队列是先入先出(FIFO), 所以先左后右, 队列元素 : head->[3, 6]<-tail
- 3出队, 2, 4入队, 队列元素 : head->[6, 2, 4]<-tail
- 6出队, 左孩子为空,所以8入队, 队列元素 : head->[2, 4, 8]<-tail
- 2,4,8依次出队, 由于这三个节点都是叶子节点, 无子节点, 所以这三个节点出队后队列为空, 层序遍历完成
编辑 (opens new window)
上次更新: 2021/06/27, 10:49:09