红黑树,B树,B+树,B-树 理解
来源:互联网 发布:java的构造方法 编辑:程序博客网 时间:2024/05/20 11:19
红黑树rbtree 二叉排序树
map 就是采用红黑树存储的,红黑树(RB Tree)是平衡二叉树,其优点就是树到叶子节点深度一致,查找的效率也就一样,为logN.在实行查找,插入,删除的效率都一致,而当是全部静态数据时,没有太多优势,可能采用hash表各合适。
hash_map是一个hash table占用内存更多,查找效率高一些,但是hash的时间比较费时。
总 体来说,hash_map 查找速度会比map快,而且查找速度基本和数据数据量大小,属于常数级别;而map的查找速度是log(n)级别。并不一定常数就比log(n)小, hash还有hash函数的耗时,明白了吧,如果你考虑效率,特别是在元素达到一定数量级时,考虑考虑hash_map。但若你对内存使用特别严格,希望程序尽可能少消耗内存,那么一定要小心,hash_map可能会让你陷入尴尬,特别是当你的hash_map对象特别多时,你就更无法控制了,而且 hash_map的构造速度较慢。
现在知道如何选择了吗?权衡三个因素: 查找速度, 数据量, 内存使用。
trie树Double Array 字典查找树
Trie树既可用于一般的字典搜索,也可用于索引查找。
每个节点相当于DFA的一个状态,终止状态为查找结束。有序查找的过程相当于状态的不断转换
对于给定的一个字符串a1,a2,a3,...,an.则
采用TRIE树搜索经过n次搜索即可完成一次查找。不过好像还是没有B树的搜索效率高,B树搜索算法复杂度为logt(n+1/2).当t趋向大,搜索效率变得高效。怪不得DB2的访问内存设置为虚拟内存的一个PAGE大小,而且帧切换频率降低,无需经常的PAGE切换。
B树
B-树
B-树的特性:
B+树
B*树
小结
- B,B-,B+,B*树
- B-、B、B+、B*树
- B/B+/B*树
- B- ,B+ , B*树
- B , B+ ,B*树
- B-, B+,B* 树
- 理解B树 B+树
- 理解B树,B+树
- 红黑树,B树,B+树,B-树 理解
- 红黑树,B树,B+树,B-树 理解
- B树B-B+树
- B- B+ B*树 小结
- B 、B-、B+树总结
- B-、B+、B*树介绍
- B 树、 B- 树、 B+ 树、 B*
- B树、B-树、B+树、B*
- B树,B-,B+,B*树
- B树、B-、B+、B*树
- POJ1328 radar installation (Greedy)
- 经典算法-算术表达式求值
- VMware中ubuntu忘记密码的解决办法
- 接口与抽象类
- Debian-7.6下升级glibc至2.15
- 红黑树,B树,B+树,B-树 理解
- 【Unity3D】Unity3D默认的快捷键
- 第十四章 14.4节练习
- HDU 3397——Sequence operation(线段树,区间染色+区间异或+区间合并)
- matlab中hmm的使用示例
- 数据库总结(5)——数据库管理
- 红黑树
- Java面向对象——封装性
- What is ViewData, ViewBag and TempData? – MVC options for passing data between current and subsequen