Cormen 的《算法简介》一书在第 9 章中有一个问题邮局位置问题。
我们有 n 个点 p1,p2,...pn,权重为 w1,w2,....wn。找到使总和 wi*d(pi,p) 最小化的点 p(不一定是输入点之一),其中 d(a,b) = 点 a,b 之间的距离。
查看相同的解决方案,我知道加权中位数将是解决此问题的最佳解决方案。
但是我对实际的编码部分和用法有一些基本的怀疑。
如果所有元素的权重相等,那么要找到加权中位数,我们会找到所有权重的总和 < 1/2 的点。如何在这里扩展它?
给定一个真实场景,将要在各个房屋中递送的信件数量作为权重,并且我们希望通过找到邮局的位置来最小化要行驶的距离,给定 x 坐标(假设所有房屋都在 1 个单一维度中),我们将如何实际去做呢?
有人可以帮助我消除疑虑并理解问题。
编辑 :
我也在考虑一个非常相似的问题:有一个矩形网格(2d)和不同数量的人在不同的地方都想在1点见面(肯定有整数坐标),那么与上述问题,我们将如何解决?