今日内容:
● 理论基础
● 递归遍历
● 迭代遍历
● 统一迭代
二叉树理论基础
种类
- 主要的两种形式
- 满二叉树
- 完全二叉树
(1)满二叉树–>[如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上]
(2) 完全二叉树–>[除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置]
二叉搜索树
前面介绍的树,都没有数值的,而二叉搜索树是有数值的了,二叉搜索树是一个有序树。
平衡二叉搜索树[AVL树]
它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
储存方式
二叉树可以链式存储,也可以顺序存储。
- 要了解,用数组依然可以表示二叉树。
遍历方式
二叉树主要有两种遍历方式:
- 深度优先遍历:先往深走,遇到叶子节点再往回走。
- 广度优先遍历:一层一层的去遍历。
这两种遍历是图论中最基本的两种遍历方式
那么从深度优先遍历和广度优先遍历进一步拓展,才有如下遍历方式:
- 深度优先遍历
- 前序遍历(递归法,迭代法)
- 中序遍历(递归法,迭代法)
- 后序遍历(递归法,迭代法)
- 广度优先遍历
- 层次遍历(迭代法)