PST文件中使用的这种“ BTree”变体是什么?

时间:2019-07-03 14:43:28

标签: data-structures outlook b-tree pst

我一直在https://www.five-ten-sg.com/libpst/rn01re06.htmlhttps://blogs.msdn.microsoft.com/openspecification/2010/11/30/ms-pst-how-to-navigate-the-node-btree/的帮助下解析PST文件,这些文件将其称为BTree,但似乎并没有遵循我可以找到的规则。常规的BTree。

我已经对其进行了映射,以便可以直观地显示它

BTree like thing

基本上,它由包含子节点(最多20个)的节点组成,并且这些节点具有相同的结构,依此类推,直到叶节点不同为止,但是内部节点不用于任何实际数据存储,并且看起来(有时)共享子节点中第一个节点的密钥。

我之所以问是因为我试图找出插入,删除,搜索该数据的常用方法,但是像https://www.geeksforgeeks.org/b-tree-set-1-introduction-2/上的常规BTree算法却无法正常工作,因为该数据似乎没有结构化以完全相同的方式。

我已经修改了搜索算法,以反向遍历当前子级,直到找到一个ID小于或等于要搜索的ID的子级,然后查看该节点,这些子级非常有效但是我不想在这里重新发明轮子,如果不需要的话,我会错过一切。

1 个答案:

答案 0 :(得分:0)

这是另一种显示方式,我认为它可以更清楚地显示这是标准的B树。中间节点中的B树索引(节点或块索引)是该节点下最低叶的索引;因此可以轻松找到节点或块索引。 (免责声明-该图片是从tool I developed生成的。)

enter image description here