关于b树的一些疑问
1.b树是不是就是b-树?读成b减树?
2.b树问什么要满足那些特征?也就是说,这种数据结构问什么要这样设计?比如说,一个m阶b-树,除根之外,所以的非终端节点至少有m/2上取整课子树,为什么不是m/2-1课?不是m/2+1课?等等 还有,树中每个节点至多有m课子树,为什么不是m+1,m+2,m-1颗?
不明白为什么要这样设计,所以它的几个需要满足的特征很难记忆 过一段不看就会忘
[解决办法]
b树的英文是b-tree,被硬生生地说成了b减数
[解决办法]
这样设计的目的是为了提高查找效率
你可以看下度娘百科
http://baike.baidu.com/view/298408.htm
[解决办法]
这样设计的目的是为了提高查找效率
你可以看下度娘百科
http://baike.baidu.com/view/298408.htm
[解决办法]
B-TREE(也就是B-树,国内翻译过来很烂)其实是一种数据结构,它的设计来源于多路查找树这一原始概念。
这种数据结构的设计目的就是减少磁盘查询次数,提高查找效率。
因为树的深度越深,那么查找路径就越长。通过提高分支树,可以间接减少树的高度。达到优化查询的效率。
B树其实处于理论意义比较大实际中基本不用,真正在文件系统中应用的比较多的是其变体B+树。这种变体的目的还是为了优化查询效率。
之后还有B*树,甚至R树(空间数据结构),还在不断的演化。
进化的目的就是为了提高检索效率以及处理日益复杂的数据存储,特别是空间数据存储这一块。
譬如机器视觉一些算法。
有兴趣,可以翻翻一些论文资料。上面会有比较详细的数学推导来证明为什么这种结构是相对优化的结构。
[解决办法]
关系型数据库中的索引,就用到了B树。
方便快速查找,提高查询效率嘛。