Data structures 是否存在基于磁盘的最近邻数据结构?
我有一个数据集,我需要找到K个最近的邻居,或者距离d内的所有邻居。数据集定义了自定义距离,但不是欧几里德距离Data structures 是否存在基于磁盘的最近邻数据结构?,data-structures,nearest-neighbor,Data Structures,Nearest Neighbor,我有一个数据集,我需要找到K个最近的邻居,或者距离d内的所有邻居。数据集定义了自定义距离,但不是欧几里德距离 我以前用过,主要是盖树。但是,在这种情况下,我的数据集将大于可用内存。那么,是否有任何数据结构可用于磁盘存储数据集上的最近邻?此操作的良好数据库索引也很有用。您可以使用覆盖树来保存指向磁盘数据集的指针。指针将包含相对记录编号以及记录中允许您遍历树的任何附加信息。这将是无效的,因为记录中的附加信息是整个记录(想想文档或图像之间的距离)。我希望尽量减少磁盘访问,而据我所知,封面树并不是专门为
我以前用过,主要是盖树。但是,在这种情况下,我的数据集将大于可用内存。那么,是否有任何数据结构可用于磁盘存储数据集上的最近邻?此操作的良好数据库索引也很有用。您可以使用覆盖树来保存指向磁盘数据集的指针。指针将包含相对记录编号以及记录中允许您遍历树的任何附加信息。这将是无效的,因为记录中的附加信息是整个记录(想想文档或图像之间的距离)。我希望尽量减少磁盘访问,而据我所知,封面树并不是专门为此而优化的。我想我不明白。难道文档或图像不能存储在磁盘上,而索引不能保存计算出的距离和指向文档或图像磁盘位置的指针吗?我希望能够减少磁盘访问的次数,因为每次计算距离都至少需要从数据库中加载一整份文档。实际上,具有提示性能的覆盖树满足了我的需要。为什么定期“写入磁盘”和“从磁盘检索”某些数据集不是一个好主意?