为什么文件系统用B数不用平衡二叉树

时间:2022-03-07 19:08:59
为什么操作系统的文件系统用B-树、B+树或者B*树而不用自平衡二叉搜索树(Balance Binary Search Tree)呢?

大家的时间复杂度都是O(ln n),但B-+*树的空间复杂度明显比平衡二叉搜索树大,操作也复杂,为什么文件系统用B-+*树而不用平衡二叉搜索树呢?

5 个解决方案

#1


要尽量减少IO,B树一个节点就是文件系统一个页

#2


要尽量减少IO,B树一个节点就是文件系统一个页

#3


我不觉得IO减少了很多

#4


B树是多叉树层次比二叉树低,查找时磁盘IO次数最快情况下就等于树的层次。

#5


2方面:
1、明显B树属于多叉树,多叉树的高度要明显低于二叉树;
2、B树可以分块读入,同意楼上的,文件系统的速度瓶颈在于硬盘读写,而非内存的读写速度,B树的分块读写可明显减少外存储器的读写次数,提高读写速度。

#1


要尽量减少IO,B树一个节点就是文件系统一个页

#2


要尽量减少IO,B树一个节点就是文件系统一个页

#3


我不觉得IO减少了很多

#4


B树是多叉树层次比二叉树低,查找时磁盘IO次数最快情况下就等于树的层次。

#5


2方面:
1、明显B树属于多叉树,多叉树的高度要明显低于二叉树;
2、B树可以分块读入,同意楼上的,文件系统的速度瓶颈在于硬盘读写,而非内存的读写速度,B树的分块读写可明显减少外存储器的读写次数,提高读写速度。