二叉树性质
本篇博客为我在上课的思考以及重要概念的总结 — 谨慎参考
1. 树是线性结构还是非线性结构?
要想解答这个问题我们先要知道什么是线性结构
线性结构
简单来说就是前驱后继为一对一
的结构(比如,数组,队列,栈)
那么非线性结构
就是前驱后继不为一对一
的结构,比如一对多或多对多
那么树很明显前驱后继是一对多的关系,则结论是 : 树是非线性结构
2. 二叉树的性质
2. 1 简要概述树的基本概念
- 根节点 : 没有 前驱节点 的 节点
- 节点的度 : 节点拥有的 子树 的 数量
- 树的度 : 节点中 度 的 最大值
- 叶子节点 : 没有后继 的 节点
- 树的高度 : 这个树 有 几层
2. 2 简要概述二叉树的性质(重点)
性质1 : 在二叉树的第i层
上最多
有 2i-1 个节点 最少
有1个节点
性质2 : 高度为k
的二叉树最多
有 2k -1 个节点,最少
有 k个节点
性质3 : (n0)二叉树叶子节点数 = (n2) 度为2的节点数+ 1
2.3 特殊的二叉树
- 满二叉树 : 高度为k且有2k-1个节点也就是说叶子节点一个不少
- 完全二叉树 : 从左往右数满二叉树的编号,编号和节点一一对应的就是完全二叉树
- 叶子只能分布在层次最大的两层上
- 左右子树的层数差最大为1
3.二叉树的存储形式
4. 二叉树的遍历顺序
- 前序 : 根 -> 左 -> 右
- 中序 : 左 -> 根 -> 右
- 后序 : 左 -> 右 -> 根
5. 二叉树的应用
dfs 递归搜索树