树的定义
结点分类
- 结点的度:结点拥有的子树的个数
-
- 叶结点:度为 0 的结点称为叶结点
- 树的度:树的度是树中度的最大值
树的其他相关概念
树的深度(depth)或高度:树中结点的最大层次
树的存储结构
双亲表示法
孩子表示法
孩子兄弟表示法
二叉树的定义
- 二叉树(Binary Tree)是一个结点的有限集合。该集合或者为空集,或者由一个根节点和两棵互不相交的,分别成为根结点的左子树和右子树组成。
特殊二叉树
- 斜树:所有结点都只有左子树的二叉树称为左斜树。
- 满二叉树:在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。
- 完全二叉树:对于一棵有n个结点的二叉树按层序编号,如果编号为i的结点与同样深度的满二叉树中编号为i的结点在二叉树中的位置相同,这样的二叉树称为完全二叉树。
二叉树的性质
- 在二叉树的第i层上,最多有2^(i-1) 个结点
- 深度为k的二叉树至多有2^k - 1 个结点