算法 - 找到行进距离最小的点

时间:2016-08-09 18:59:36

标签: javascript algorithm math distance axis

该算法旨在找到最佳点,以便所有人的行进距离最短。

详细说明 -

考虑下面的线,一个x轴,每个人在不同的点到第0个位置(想象x-y轴)。每个点表示他距离第0个位置的距离。

                                  |
---30-------15-----10--------5----0----6-----------20-----------40-----50--
                                  |

现在,Find找到了一种算法,可以找到每个人必须前往并聚集在一起的点,以便行进的总距离最小。

注意 - 我想找到中位数/平均值,总是不起作用。 选择最近点到第0位怎么样?再也不总是。

任何想法的人?

1 个答案:

答案 0 :(得分:0)

假设所有位置都在一个维度上(即仅沿一个轴),所有位置的最优解是中值

定义中值使得一半的值大于中值,一半小于中值。如果样本数据中的元素按算法增加,则按某种顺序放置时,则中值和算术平均值相等。例如,考虑数据样本{1,2,3,4}。平均值为2.5,中位数也是如此。但是,当我们考虑一个不能排列以便算术增加的样本时,例如{1,2,4,8,16}},中位数和算术平均值可能会有很大差异。在这种情况下,算术平均值为6.2,中位数为4.通常,平均值可以与样本中的大多数值显着不同,并且可以大于或小于大多数值。 资料来源:https://en.wikipedia.org/wiki/Arithmetic_mean

在上面的例子中,

  • 总距离平均值值(6.2),因为解决方案= 23.2
  • 中值值的总距离(4)为解= 21 ,这当然是较低的距离,因此是最优解