树:一棵带着根和叶子的倒立的树。
树的特点:它既有链表的快速插入与删除操作的特点,又有数组快速查找的优势。

二叉树(Binary Tree)

二叉树:二叉树特点是每个结点最多只能有两棵子树,且有左右之分。

满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。

完全二叉树:编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同。

二叉搜索树:它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。

平衡二叉树:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1。比如AVL树, 红黑树, 树堆(Treap)。

AVL树:AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis,他们在1962年的论文《An algorithm for the organization of information》中发表了它。
红黑树:红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。
树堆(Treap):二叉排序树(Binary Sort Tree)与堆(Heap)结合产生的一种拥有堆性质的二叉排序树。

线索二叉树:对于n个结点的二叉树,在二叉链存储结构中有n+1个空链域,利用这些空链域存放在某种遍历次序下该结点的前驱结点和后继结点的指针,这些指针称为线索,加上线索的二叉树称为线索二叉树。

堆(Heap)

堆是一种特殊的树,为什么不叫树?
堆是一种特殊的树,它每个结点都有一个值,堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。就类似一堆东西一样,按照由大到小(或由小到大)“堆”起来。如果叫树怎么凸显这种特性。

堆:堆是一类特殊的树,堆的通用特点就是父节点会大于或小于所有子节点。
二叉堆:最大堆, 最小堆
二项堆:
斐波那契堆:
左偏树:

树和堆的区别是什么:
堆是一类特殊的树,堆的通用特点就是父节点会大于或小于所有子节点。

B树(Balance Tree)

b+树:
b*树:

 

字典树

 

版权声明:本文为adamans原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/adamans/articles/13653114.html