| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 对B+树,B树,红黑树的理解 -> 正文阅读 |
|
[数据结构与算法]对B+树,B树,红黑树的理解 |
写在前面,好像不同的教材对b树,b-树的定义不一样。我就不纠结这个到底是叫b-树还是b-树了。 ? 如图所示,区别有以下两点:
B+树的优点:
B树的优点: B树长什么样子? ? 红黑树和B树应用场景有何不同? 为什么要设计红黑树? 先说一下红黑树,红黑树有一个比较复杂的规则,红的结点balala怎么样,黑的结点balalal怎么样。大一大二学这些的时候,傻呵呵的想背课文一样背下来,当也不知道为什么要设计成这样。换一句话说,为什么平衡树和红黑树的区别是什么?为什么有了平衡树还要设计出来红黑树? 红黑树的规则: 现在想想,我的理解是平衡树(AVL)更平衡,结构上更加直观,时间效能针对读取而言更高,但是维护起来比较麻烦!!!(插入和删除之后,都需要rebalance)。但是,红黑树通过它规则的设定,确保了插入和删除的最坏的时间复杂度是O(log N) 。 设计红黑树的目的,就是解决平衡树的维护起来比较麻烦的问题,红黑树,读取略逊于AVL,维护强于AVL,每次插入和删除的平均旋转次数应该是远小于平衡树。 小结一下: 能用平衡树的地方,就可以用红黑树。用红黑树之后,读取略逊于AVL,维护强于AVL。 红黑树 和 b+树的用途有什么区别?
为什么b+磁盘友好?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:23:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |