【发布时间】:2011-02-03 10:58:21
【问题描述】:
我有一个使用 B+Tree 根据 key1 排序的 touples {key1, key2} 列表。此结构位于辅助存储器 (HDD) 中。我想实现一种算法,该算法需要在 key1 上排序的列表,但也需要使用 key2 随机访问列表。我不需要算法的整个列表,我会根据需要从磁盘中获取块,因此 B+Tree 可以很好地处理发生的所有插入和删除。
我已经苦苦挣扎了一个星期,我认为唯一的方法是使用第二个结构(例如第二个 B-Tree)和 key2,但这会使已经很大的空间和更新所需的时间加倍树。
我对哈希表了解不多,但我认为我不能用这些将键映射到某个值,对吧?
您是否知道一种结构可以让我随机访问 key2 而不会加倍数据?
或者,我可以使用不需要随机访问的替代算法,但我想将其作为最后的解决方案。
提前致谢
【问题讨论】:
标签: algorithm data-structures sortedlist b-tree