大文件操作利用B树实现的具体原理

我们做一个图书馆管理系统,要求是书的信息存储在一个文件中,这个文件需要满足
2G的大小,也就是说一个文件中可以同时放下几百万本书籍的信息,通过网上查资料,
很多是说用B树来实现,可是我想不明白的是建立B树的索引时索引的指针指向的记录
地址怎么确定,也就是说在一个文件里我要查找一本书的信息,需要分批读进内存来进行
查找,如果使用了B树,怎么实现查找呢,它是直接可以根据索引找到该书在文件中的
位置吗?

2个回答

在设计应用软件的时候直接设计数据存储的物理结构,这种做法在上个世纪70年代后就过时了。lz难道是穿越来的?

gyn1132781055
gyn1132781055 老师的要求是实现大文件存储,但是如果分批读入内存来查找图书,是不是效率太低了,我就想优化一下,然后看到网上说B树可以实现,但是我虽然明白B树的整个流程,可是具体怎么和一个2G的文件联系起来,还是想不明白
接近 5 年之前 回复

直接放文件地址这样根据索引找到文件地址,然后读取文件对应偏移fread获取文件内容

gyn1132781055
gyn1132781055 麻烦能在说的详细一点吗?就是如果我想用C++写的话,用fopen函数,获得了一个文件的指针,具体查找一本书的时候,要如何操作呢?我们的要求是把所有的图书信息存到一个文件里,然后在里面查询一本书的信息,我实在是没法和B树联系到一起啊
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐