满二叉树:叶子节点均在最底层,除叶子节点外,每个节点都有左右俩个子节点;对于n层的满二叉树节点满足2^n;
完全二叉树:相对于同一深度的满二叉树,叶子节点有所缺失,对于k层的完全二叉树,节点数的范围2^ (k - 1) -1 < N< 2^k – 1,最底层 所有的结点都连续集中在最左边;
堆:堆中每个节点的值都大于等于(或者小于等于)其左右节点的值;(属完全二叉树)
应用:1.Top K 的获取;2.求中位数和百分位数;3.算优先级队列;
二叉查找树:在无重复数据的情况下,每个节点的值大于左子树节点的值,小于右子树的节点值;对于有重复数据的二叉查找树,每个节点存储多个相同的数据或者是将值相等的数据存放在右子树中。
平衡二叉查找树:二叉树中任意一个节点的左右子树高度相差不能大于1;
AVL树:二叉树中任何节点的左右子树高度相差不能大于1;
红黑树:从根节点到各个叶子节点的最长路径不能超过最短路径的一倍;(近似平衡的二叉查找树)
根节点为黑色;
每个叶子节点都是黑色的空节点;
任何上下相邻的节点不能同时为红色;
对于每个节点,从该节点到其叶子节点的所有路径,都包含相同数目的黑色节点;