常用数据结构

燕返 2019-07-01

字典:即map,映射,通过key=>value的方式直接查找与之对应的值,实现一般是hash表或二叉树
跳跃表:本质是链表,只不过将数据进行提取分层,将总数据置为底层,提取2、4、的倍数为第一二层,查找时从高层进行二分查找。
查找树:父结点大于左子结点,小于右子结点的树
平衡树:将有单一子结点的父结点进行旋转折叠,成为一个查找树
B树:B树是一颗有任意(一般固定小于某个值)子结点数的平衡树,B树的插入删除可能会导致结点的分裂和合并;
B+树:B+树是一棵最底层子结点包含所有元素,父结点会有重复的B树,B+树遍历方便,可在子结点之间旋转, innodb使用它可以进行范围选择;
红黑树:是一种每个节点都带有颜色属性的二叉树,它的根和叶子都是黑色,每个红色节点必须有两个黑色的子节点,从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。
AVL树是左右两棵子树层级差不超过 1的二叉树,如果插入的数据使得子数层级相差大于1,则需要进行一次或多次树旋转来重新达到平衡。
Trie树是一种前缀树,如四叉树。

相关推荐