में किसी दिए गए बिंदु के निकटतम बिंदु को खोजने का सबसे तेज़ तरीका तो मान लें कि मेरे पास बी में 10,000 अंक और बी में 10,000 अंक हैं और प्रत्येक बी बिंदु के लिए ए में निकटतम बिंदु ढूंढना चाहते हैं।पाइथन
वर्तमान में, मैं बस बी और ए में हर बिंदु के माध्यम से लूप करता हूं यह पता लगाने के लिए कि कौन सा दूरी निकटतम है। अर्थात।
B = [(.5, 1, 1), (1, .1, 1), (1, 1, .2)]
A = [(1, 1, .3), (1, 0, 1), (.4, 1, 1)]
C = {}
for bp in B:
closestDist = -1
for ap in A:
dist = sum(((bp[0]-ap[0])**2, (bp[1]-ap[1])**2, (bp[2]-ap[2])**2))
if(closestDist > dist or closestDist == -1):
C[bp] = ap
closestDist = dist
print C
हालांकि, मुझे यकीन है कि ऐसा करने का एक तेज़ तरीका है ... कोई विचार?
फ़ैई, मैं वर्तमान में scipy के केडी-पेड़ का उपयोग करता हूँ – Saebin