【发布时间】:2020-10-19 08:58:55
【问题描述】:
我需要计算两个向量之间的曼哈顿距离
我找到了这段代码 https://www.geeksforgeeks.org/sum-manhattan-distances-pairs-points/
def distancesum (x, y, n):
sum = 0
# for each point, finding distance
# to rest of the point
for i in range(n):
for j in range(i+1,n):
sum += (abs(x[i] - x[j]) +
abs(y[i] - y[j]))
return sum
所以代码是:
def manhattan_distance(instance1, instance2):
n = len(instance1)-1
sum = 0
# for each point, finding distance
# to rest of the point
for i in range(n):
sum += abs(float(instance1[i]) - float(instance2[i]))
return sum
曼哈顿距离的算法是什么
【问题讨论】:
-
为什么是
n = len(instance1)-1??在我看来,没有理由从总和中省略最后一个组件! ֍ 无论如何,恕我直言,你应该写manhattan=sum(abs(float(x2)-float(x1))for x1,x2 in zip(instance1,instance2))...
标签: python distance heuristics