微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在仍然具有哈希功能的同时在庞大的项目列表中找到距离最近的项目?

如何解决如何在仍然具有哈希功能的同时在庞大的项目列表中找到距离最近的项目?

我有一长串顶点及其 ID。我想将它们的 id 提供给一个方法并以快速的方式获取顶点,因为它们很多,线性搜索花费的时间太长。

我现在用 HashSet<long id,Vertex v> 做这个,我还想通过比较 Vertex.getCoordinates() 找到最接近我给方法的坐标的顶点,比如 find [X.XXXX,Y.YYYY]我想以一种有效的方式做到这一点,我应该选择使用哪种结构?计算距离方法也需要sqrt(),我可以使用sqrdist(),但我仍然想改进。

我计划并行创建一个类似列表的排序结构(此时 我选择时间而不是空间)并执行 binarySearch() 然后返回最接近的一个,这是一个有效的解决方案吗? 如何让 Java 使用 binarySearch() 而无需自己实现它?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。