树:
定义:一个树至多有一个根节点,每一个路径的终端都叫终端节点,也叫叶子结点。既不是根也不是叶子节点叫中间节点,节点与节点连接的线叫边。从底下往上看叫高度**,从上往低看叫***深度***。
PS:树整体高度和深度取最大值。
度:看当前节点有n个子节点就叫n度。
二叉树(Binary Tree)
定义:树里的每个节点至多允许有两个节点。
满二叉树
定义:每一层都是满节点(2个节点)除最后一层的二叉树。
完全二叉树
定义:只允许最后一层有空缺,且空缺的方式从右向左的二叉树。
ps:满二叉树是完全二叉树的一种特殊形势。
平衡二叉树
定义:树中任意节点,左右子树高度差不超过1。
ps:完全二叉树一定是平衡二叉树。
排序二叉树
定义:左孩子的值比父亲小,右节点的值比父节点的大。
二叉树的性质
- k k k层满二叉树,叶子节点的个数是$ 2^{k-1} $
- k k k层满二叉树,总节点个数为 2 k − 1 2^{k}-1 2k−1
- 对于任意一个二叉树而言,度为0的节点比度为2的节点少一个。( n 0 = n 2 + 1 n_0=n_2+1 n0=n2+1),PS:对于一个完全二叉树而言,度为1的节点至多有一个。
- 一个有 n n n个节点的完全二叉树,它的深度是$ K=\lfloor lo