我需要实现一个B树。 我知道怎么做。
但是如果我的应用程序崩溃,我想恢复我的数据结构(B-tree)。 所以我想把我的B树不仅存储在内存中,还存储在硬盘上。 怎么做?
答案 0 :(得分:1)
您需要的是Serialization。这使您可以表示可以存储在磁盘上的数据结构,可以是二进制格式,也可以是XML。反序列化将恢复数据结构。请注意,树中的所有项目也必须是Serializable。
.Net Framework中的数据结构通常支持开箱即用的序列化,但似乎没有公共B树实现。
您可以在Code项目中查看实现。或者,BPlusTree可能是您正在寻找的:
BPlusTree是由基于磁盘的B + Tree支持的通用IDictionary接口的实现。
但我还没有使用它。