在二级存储中表示B树

时间:2016-06-05 01:19:47

标签: c++ data-structures b-tree

我正在编写一个程序来存储和检索磁盘上B-Tree的信息,该信息包含字符串作为键,我无法找到在磁盘上表示树的方法。我想过将B-Tree的每个节点存储为磁盘上的.bin文件,并在内存中创建额外的数据结构(散列表),将子节点的指针映射到磁盘上的相应文件名。是否有更好的方案可以有效地代表磁盘上的B-Tree?提前感谢您的回复!

1 个答案:

答案 0 :(得分:0)

使用单个文件。 B树的全部意义在于它适用于磁盘存储。使用2k字节的固定节点大小并相应地约束B树顺序,以便N个键和指针适合节点,以及您需要的每个节点的内务处理数据。您将需要一个文件头,告诉您当前树的根目录和空闲列表的头部。