数据结构--树
1、平衡二叉树:适用于插入删除次数较少的(旋转耗时),但查找多的情况。
2、二叉查找树:如果没有退化成链表的二叉树,查找效率为logn
3、红黑树:本质是为了解决二叉搜索树的平衡问题黑色结点完美平衡的二叉查找树,增删改查效率都不错
性质1:每个结点要么黑色,要么红色
性质2:根节点为黑色
性质3:每个叶子结点都为黑色
性质4:每个红色结点的两个子节点都为黑色
性质5:任意一节点到每个几点的路径上都包含数量相同的黑结点
4、B树:平衡多路查找树,构造一个多阶的B类树,然后尽量多的结点上存储相关的信息,保证层数尽量的少便于我们更快的找到信息,磁盘的I/O更少,每个结点到叶子结点的高度都是相同的,因此保证了稳定性。
5、B+树,为文件系统而生,每个非叶子结点只用于索引,而数据都存放在叶子节点。每次的查询更加稳定,B+树的非叶子结点不保存关键字记录的指针,这样使得B+树每个节点所能保存的关键字大大增加。
6、Trie树,字典树、前缀树、有序树,用于保存关联数组。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。利用字符串的公共前缀来节约存储空间,最大限度地减少字符比较,但内存消耗大。
7、并查集:为什么要合并查集,便于处理一些不相交集合的合并及查询的问题
参考:https://blog.csdn.net/u012414189/article/details/83832161