二叉树分类详解

满二叉树
二叉树分类详解_第1张图片
二叉查找树
定义:对于树中的每个节点X,他的左子树中所有关键字值小于X的关键字值,而他的左子树中所有关键字值大于X的关键字值。
AVL树
定义:带有平衡条件的二叉查找树。每个节点的左子树和右子树的高度最多差1的二叉树(空树的高度定义为-1)。
伸展树
他保证从空树开始任意连续M次对树的操作最多花费O(MlogN)的时间。
B-树
不是二叉树。是查找树。

堆(二叉堆)
完全二叉树
从根节点到倒数第二层满足满二叉树,最后一层可以不完全填满,其子叶子必须靠左对齐。堆是完全二叉树。
二叉堆分为大根堆和小根堆
每个结点的值都大于其左孩子和右孩子结点的值,称之为大根堆;每个结点的值都小于其左孩子和右孩子结点的值,称之为小根堆。
因为完全二叉树很有规律,所以他可以用一个数组来表示,而不需要指针。
二叉树分类详解_第2张图片二叉树分类详解_第3张图片
d-堆
他很像一个二叉堆,但是所有的节点都有d个儿子,所以二叉堆也叫d-堆。
左式堆
左式堆也是二叉树,也是每个结点的值都大于其左孩子和右孩子结点的值,或者每个结点的值都小于其左孩子和右孩子结点的值。二叉堆和二叉树,唯一的不同左式堆不是理想平衡的,而实际上趋向于非常不平衡。
左式堆是用来合并的

你可能感兴趣的:(堆)