二叉树的两种遍历是数据结构的经典考察题目, 广度遍历考察队列结构, 深度遍历考察递归
二叉树
深度优先
先序遍历(父, 左子, 右子) 0, 1, 3, 7, 8, 4, 9, 2, 5..., 6
中序遍历(左子, 父, 右子) 7, 3, 8, 1, 9, 4, 0, 5, 2, 6
后序遍历(左子, 右子, 父) 7, 8, 3, 9, 4, 1, 5, 6, 2, 0
"深度优先遍历..."考察递归, 将子节点为空作为终止递归的条件
广度优先
"广度优先遍历"考察队列的结构, 消除父节点(出队列,顺便打印), 添加子节点(进队列),当队列内元素个数为零, 完成遍历
添加元素...添加元素
广度优先遍历
广度优先遍历
深度优先
先序遍历
中序遍历
后续遍历
Python3 实现...if my_node.right is not None:
nodeStack.insert(0, my_node.right)
# 深度优先