满二叉树:
一颗二叉树只有度为 0 和度为 2 的结点,且度为 0 的节点在同一层上
完全二叉树:
最下面一层的节点都集中在左边,左边先填满再填后边
二叉搜索树:
每个节点都有数值
- 左子树所有节点都小于根节点
- 右子树所有节点都大于根节点
- 左右子树也分别为二叉排序树
二叉搜索树,中序遍历(生序)
平衡二叉搜索树:
在二叉搜索树的基础上,再加一个条件:左右两颗子树高度差的绝对值不超过 1
二叉树的两种存储方式:数组,链表
二叉树的遍历方式
- 深度优先遍历
- 前序
- 中序
- 后序
- 广度优先遍历
使用递归的方式实现会简单很多,使用栈的方式实现也可以,为什么使用栈的方式也可以实现二叉树遍历,因为函数递归本身就是利用函数的调用栈
递归的实现思路:
- 确定递归函数的参数和返回值
- 确定递归函数的终止条件
- 确定递归函数的单层逻辑
练题集合:
二叉树的层序遍历:
- 102.二叉树的层序遍历
- 107.二叉树的层次遍历II
- 199.二叉树的右视图
- 637.二叉树的层平均值
- 429.N叉树的前序遍历
- 515.在每个树行中找最大值
- 116. 填充每个节点的下一个右侧节点指针
117.填充每个节点的下一个右侧节点指针II
<br /> <br /> <br />
