数据结构---B树

0.简介

B树对我来说,是一个比较陌生的数据结构,正是因为陌生,越是陌生就越抵触,索性来研究一下,其中能学到的不仅仅是B树,还会有别是收获。

1.磁盘

说到B树,基本所有资料都会介绍说其与磁盘上的读写和查找数据有关,所以B树有了这么个独特的限制,如果说平衡二叉树是抽象层面的思想,B树已经混入一些实际应用的限制了,这个限制主要在于B树的结点数据结构。磁盘和内存区别很大,但是本质差不多,都是存数据,由于磁盘读写都很慢,所以磁盘每次读取的单元块就比较大,这样减少连续数据反复读写磁盘,早期的读写单位是512字节,现在我不确定是多少,有些可能会更大,但是通常都是512字节为一个读写单位,这也就是一个扇区的大小,同样,内存也有类似的地方,例如数据数据总线数目就限制了一次读写的数据量,和磁盘一次读写一个扇区的效果是类似的。

磁盘在没有存储数据的时候,或者说刚买回来的时候,就像是一张白纸,纸上写什么语言,符号,怎么去读纸上的字,都是后来人为决定的,这样就产生了许多不同的文件系统,或者叫磁盘格式,例如FAT系列,NTFS,EXT系列,HPFS等。

前面我们研究过的平衡二叉树,是为了能快速查找数据而诞生的,B树也是如此,B树更适合用在磁盘数据组织。因为B树可以让树高很低,B树每向下走一层,就要进行一次磁盘读写,所以层数越低越好,当然有人非要较真也没办法。相比平衡二叉树对于同样的数据量,层数要多一些,呈现瘦高的形状,n叉树的层数就会少很多,呈现矮胖的形状。在磁盘中查询数据到时候,不能将磁盘所有数据都加载到内存去查找,需要几次读写来查找,读写次数越少,查找速度越快。

到这里,我们还没有见到B树的样子,目前就先认为是一种多叉树平衡树吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值