因为各种教材关于树的很多定义都有较大差别,很多博客写的也很不统一,所以为了考试有个参考 有必要更新一下这篇!
本篇根据的教材是《算法导论》。
满二叉树(Full Binary Tree)
定义
所有的节点要么是叶节点(leaf node),要么是满节点(full node)。
回忆:
节点的深度 = 层数 - 1
树的高度height:任意节点的最大深度。
例如:只有一个节点的树的高度是0;空树的高度是-1。
完美二叉树 perfect binary tree
定义
直观理解:没有空位置,所有位置都被占满了。
严格定义:所有叶节点在同一层。
性质
假设一棵完美二叉树的总节点数为 n n n,高度为 h h h:
- 它的叶子数是: 2 h