【发布时间】:2016-09-01 00:12:43
【问题描述】:
如果我有一个非常大的排序列表存储在外部存储中。假设这个列表不能被带入内存,那么在这个列表中以伪代码查找键的搜索算法是什么?时间复杂度是多少?设计这个算法时应该考虑哪些主要因素?
【问题讨论】:
-
您可以创建特定于关键的索引文件,然后创建一些特定于域的语言...让我们称之为 SQL 以结构化形式查询数据。然后你可以花时间写越来越多的额外内容。但是等等 - 这已经完成了。它被称为数据库。
-
在许多数据库中,涉及到一个特定于密钥的文件,但它对于每 k 条记录只有一个密钥,其中 k 可能是 64(可能更少或更多),这将得到查找在 64 条记录中,然后将按顺序读取,只需一次初始随机访问。在大型机和内存有限的时代,使用嵌套索引,例如索引到记录的索引。
标签: sorting sortedlist external-sorting