一、背景
二叉树是数据结构中的重点,也是难点。二叉树是一种非线性结构,比数组、栈、队列等线性结构相比复杂度更高,想要做到心中有“树”,需要自己动手画图、观察、思考,才能领会其真谛。该文将会结合图形,深入理解二叉树、满二叉树及完全二叉树的概念。
二、基本概念
2.1 结点
- 结点是组成二叉树的最小单元。
-- 用图形表示
-- 用代码表示
// 结点
class Node<E> {
E e;
Node left, right;
Node(E e) {
this.e= e;
this.left = null;
this.right = null;
}
}
2.2 二叉树
- 每个结点的度(结点拥有的子树数目)不超过2的树叫做二叉树
2.2.1 二叉树的深度
- 结点的最大层次数称为树的深度或高度
2.3 满二叉树
- 指深度为