【问题标题】:How to implement a tree with backup option? [duplicate]如何实现带有备份选项的树? [复制]
【发布时间】:2016-11-08 06:27:39
【问题描述】:

我需要实现一个 B 树。 我知道该怎么做。

但如果我的应用程序崩溃,我想恢复我的数据结构(B 树)。 所以我想将我的 B-tree 不仅存储在内存中,还存储在硬盘上。 如何做到这一点?

【问题讨论】:

  • @Sinatr 重复标记的问题没有接受的答案
  • @fubo,所以让我投票关闭它,不是我的问题;)用户是否接受某些东西并不重要(也许他不知道他必须接受),关键是有答案,这可能很有用。另外,请参阅this question(也许它的答案可能有用)。
  • @fubo 可能没有可接受的答案,因为这个问题实际上对 SO 来说太宽泛了。 OP 想将他的 btree 写入磁盘?好吧,做吧。这个问题是关于什么的?关于将数据写入文件或关于必须写入叶子的顺序?到目前为止已经尝试过什么,问题出在哪里?

标签: c# algorithm


【解决方案1】:

您需要的是Serialization。这为您提供了可以存储在磁盘上的数据结构的表示形式,可以是二进制格式,也可以是 XML 格式。反序列化将恢复数据结构。请注意,树中的所有项目也需要可序列化。

.Net Framework 中的数据结构通常支持开箱即用的序列化,但似乎没有公开的 B-tree 实现。

您可以在 Code 项目中查找实现。或者,BPlusTree 可能就是您要查找的内容:

BPlusTree 是由基于磁盘的 B+Tree 支持的通用 IDictionary 接口的实现。

但是我没用过。

【讨论】:

    猜你喜欢
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2015-03-18
    • 2019-11-03
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多