普通树
树是n个节点的有限集。
n=0时称为空树。
n>0时,称为非空树,在任意一棵非空树中:
1.有且仅有一个特定的称为根的节点
2.当n>1时,其余节点可分为m个互不相交的有限集,每一个集合本身又是一棵树,并称为根的子树。
树的最大层级数,被称为树的高度或深度。图中树的深度为4。
二叉树
二叉树(Binary Tree)是树形结构的一个重要类型,它的特点是每个节点最多有两个子节点,通常被称为左子节点和右子节点。
- 满二叉树:每一层的节点数都达到最大值。也就是说,如果一个二叉树的层数为K,且节点总数是(2^k) -1 ,则它就是满二叉树。
- 完全二叉树:由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
- 平衡二叉树(AVL树):任何节点的两个子树的高度最大差别为1的二叉树。
- 二叉搜索树(BST):对于树中的每个节点X,它的左子树中所有键的值都小于X的键值,而它的右子树中所有键的值都大于X的键值。它的左、右子树也分别为二叉搜索树。