树
树的基本概念
节点的度:子树的个数
树的度:全部节点度中的最大值
叶子节点:度为0的节点
非叶子节点:度不为0的节点
一棵树能够没有任何节点,称为空树
一棵树能够只有一个节点,也就是只有根节点
层数:根节点在第一层,根节点的子节点在第2层,以此类推
节点的深度:从根节点到当前节点的惟一路径上的节点总数
节点的高度:当前节点到最远叶子节点的路径上的节点总数
有序树
无序树
树中任意节点的子节点之间没有顺序关系,也称为自由树
森林
二叉树的特色
每一个节点的度最大为2(作多拥有2棵子树)
左子树和右子树是有顺序的(也就是说二叉树是有序的)
即便某节点只有一颗子树,也要区分左右子树
二叉树的性质
非空二叉树的第i层,最多有2的(i-1)个节点(i >= 1)
在高度为h的二叉树最多有2的h次方-1个节点(h >= 1)
真二叉树
满二叉树
满二叉树:最后一层节点的度都为0,其余节点的度都为2
在一样高度的二叉树中,满二叉树的叶子节点数量最多、总节点数量最多
满二叉树必定是真二叉树,真二叉树不必定是满二叉树
彻底二叉树
彻底二叉树:对节点从上至下、左至右开始编号,其全部编号都能与相同高度的满二叉树中编号对应
彻底二叉树的性质:
叶子节点只会出现最后2层,最后1层的叶子节点都靠左对齐
彻底二叉树从根节点至倒数第2层是一棵满二叉树
满二叉树必定是彻底二叉树,彻底二叉树不必定是满二叉树
度为1的节点只有左子树
度为1 的节点要么是1个,要么是0个
一样节点数量的二叉树,彻底二叉树的高度最小