基本概念
节点深度
节点高度
遍历方法
从二叉树的根节点出发,节点的遍历分为三个主要步骤:对当前节点进行操作(称为“访问”节点)、遍历左边子节点、遍历右边子节点。这三个步骤的先后顺序也是不同遍历方式的根本区别。
节点访问顺序是相对跟节点来定义的,即:
前序:根节点->左节点 ->右节点
中序:左节点->中节点 ->右节点
后序:左节点->右节点 ->根节点
深度优先
利用栈先进后出的的特性,来实现深度优先遍历。函数调用实现的方式正好是栈形式,所以不需要再保存路径信息。
例如有这么个二叉树:
前序遍历(Pre-Order Traversal)
中序遍历(In-Order Traversal)
后续序遍历(Post-Order Traversal)
D-F-H-E-B-J-K-I-C-A
广度优先
利用数组先进先出的特性,莱实现广度优先遍历。函数调用实现的方式正好是栈形式,所以需要创建队列来保证节点的顺序。