【发布时间】:2011-01-12 07:26:55
【问题描述】:
在我看来,将数据作为文件存储在 B 树中的一种方法可以使用 C 使用具有结构序列(数组)的二进制文件有效地完成,每个结构代表一个节点。因此,可以使用类似于使用数组创建链表的方法连接各个节点。但是接下来 props up 的问题是删除一个节点,因为在一个巨大的文件中只擦除中间的几个字节是不可能的。
删除的一种方法可能是跟踪“空”节点,直到达到阈值截止,然后制作另一个将丢弃空节点的文件。但这很乏味。
从简单性/效率的角度来看,是否有更好的方法来删除,甚至在文件中表示 B 树?
TIA, -斯维亚
【问题讨论】:
-
澄清一下,你问的是 B 树还是二叉树。
-
B 树。但我想为了存储为文件的目的,问题会是一样的吗?
-
顺便说一句,C 和 C++ 是两种不同的语言。如果您正在编写适用于两者的代码,请添加 C++ 标记。