我正在尝试实现一种有效的算法最近邻搜索问题。
我读过有关一些数据结构的教程,它们支持此类问题的操作(例如,R-tree, 覆盖树等),但都很难实施。
我也找不到这些数据结构的示例源代码。我了解 C++,并且我正在尝试用这种语言解决这个问题。
理想情况下,我需要描述如何使用源代码实现这些数据结构的链接。
快速最近邻搜索库有几个不错的选择。
ANN http://www.cs.umd.edu/~mount/ANN/,这是基于 Mount 和 Arya 的作品。这项工作记录在 S. Arya 和 D. M. Mount 的论文中。“固定维度中的近似最近邻查询”。在过程中。第四届 ACM-SIAM 研讨会。离散算法,第 271-280 页,1993 年。
FLANN http://people.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN,基于 Marius Muja & Co. 的工作。Marius Muja 和 David G. Lowe 发表了一篇论文,“具有自动算法配置的快速近似最近邻”,在计算机视觉理论与应用国际会议 (VISAPP'09),2009 年。FLANN 的代码可在github https://github.com/mariusmuja/flann
FLANN 在某些情况下似乎更快,并且是更现代的代码版本,与许多其他语言具有牢固的绑定,可以快速合并更改。如果您想要一个经过良好测试的可靠标准库,ANN 可能是一个不错的选择。
编辑回复评论
这两个库都有大量的文档和示例。
ANN 的示例代码可在Manual http://www.cs.umd.edu/~mount/ANN/Files/1.1.2/ANNmanual_1.1.pdf,在第 2.1.4 节中
FLANN 存储库中提供了 FLANN 的示例代码示例目录 https://github.com/mariusmuja/flann/tree/master/examples,例如 /examples/flann_examples.c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)