1、二叉树
完全二叉树(complete binary tree):除了最下面一层都是满的,最下面一层也是优先排列在左边。这样的话父亲节点和孩子节点就在序号上面有关系:
父亲节点为n,那么子节点的编号为2n和2n+1。这样就可以操作序号来操作完全二叉树。
A1
/
B2 C3
/ /
D4 E5 F6 G7 --G可以没有,但是有G必须有F。
满二叉树(full binary tree):一个节点要么有两个子节点,要么一个子节点也没有
A1
/
B2 C3
/
F6 G7
完美二叉树(perfect binary tree):除了最后一层节点没有子节点,其他节点都有两个节点。高度为k的树(最下层高度为0),节点个数为2^(k+1) - 1个节点。
A1
/
B2 C3
/ /
D4 E5 F6 G7 //G 不能少,B也不能少。每一层都得是满的。