我有一些点,它们属于彩虹颜色(或接近"彩虹颜色"),现在给定一个也是彩虹颜色的点,我想找到这些点中最接近的匹配点。
什么是强大且简单的数据结构和算法组合来实现这个功能?使用 (R,G,B) 元组和欧拉距离是一种可行的方法。
是的,我有一个严肃的用例 :-)
我有一些点,它们属于彩虹颜色(或接近"彩虹颜色"),现在给定一个也是彩虹颜色的点,我想找到这些点中最接近的匹配点。
什么是强大且简单的数据结构和算法组合来实现这个功能?使用 (R,G,B) 元组和欧拉距离是一种可行的方法。
是的,我有一个严肃的用例 :-)
from kdtree import KDTree
data = [(1,2,3),(4,0,1),(5,3,1),(10,5,4),(9,8,9),(4,2,4)]
tree = KDTree.construct_from_data(data)
nearest = tree.query(query_point=(5,4,3), t=1)
现在你有n个数字,然后你选择另一个数字(另一种彩虹颜色),并决定它最接近哪一个。这应该很简单。
如果你按频率排列彩虹颜色(你应该这样做,否则你怎么知道它们是彩虹颜色?),这就是一个简单的工作。