我发现很多关于b-tree的文章,但没有人帮助过我。
我想在光盘上存储一个B树,但是我不想序列化树对象,我认为有一种方法可以在我恢复之后以某种顺序保存树的值树又来了。
我尝试将值存储在某些顺序中,例如预订,按顺序(对称),后顺序,但是当再次插入值时,树会发生变化。
下面的图片是我想要存储的b树的一个例子。
来自http://slady.net/java/bt/view.php的图像,B-Tree动画小程序。
那么,有一种方法可以用它的值来保存树的结构吗?
答案 0 :(得分:0)
你是对的,B树并不意味着作为一个整体被序列化。它们可以作为内存数据结构,但最有用的是磁盘数据结构,其中内存可能不同(可能一次仅在内存中保存一个节点)。
有关在磁盘上使用B树和在内存中缓存的节点子集的Java代码示例,请参阅JDBM源代码,一个可以启动的地方可能是https://github.com/jankotek/JDBM3/blob/master/src/main/java/org/apache/jdbm/BTreeNode.java#L831。