这是我的问题,我有一个主列表,其中是数据的子列表一个字符串,它告诉列表的类型,一个x坐标和一个y坐标。如何使用欧几里得距离函数的键查找主_列表中n个最近的字符串,例如:
my_location = ['a', .59, .59]
master_list = [['a', .5, .5], ['b', .3, .2], [a, .4, .4], ['b', .45, .45], ['a', .6, .6], ['b', .55, .55]]
input: function(3, my_location, master_list)
output: [['a', .6, .6], ['b', .55, .55], ['a', .5, .5]]
函数的键应该类似于:key=sqrt((x1-x2)*2+(y1-y2)*2
如果你想快点,你应该看看2D碰撞检测的东西。。轴线对齐的边界框、四叉树、清扫和修剪等。。在
你可以做一个快速测试来消除遥远的节点,如果你有很多节点,这可能是值得做的(否则保持代码简单,不要过早优化):
^{pr2}$如果这是家庭作业,那你就不是在帮自己找别人帮你做:)
相关问题 更多 >
编程相关推荐