假设我有一组要点:(就我而言,是包含所有要点的列表:pts = [(1,1),(3.4,5),...,(x,y)]
)。我想了解找出两点之间最大距离的最快方法是什么。返回距离和使用的点。
我知道遍历每个点在计算上是昂贵的,并且会导致O(n ^ 2)。
另一种方法是比较pt1-> pt2,pt1-> pt3等,然后本质上存储pt2-> pt1(与pt1-> pt2相同),但是执行pt2-> pt3,pt2-> pt4等。我觉得这样至少会给我O(n ^ 2/2),但计算量仍然很大。
有没有任何方法,显然是在找到O(n log(n))的凸包之后,使用较小的有限Hull点集来确定最大距离是多少-仍在O(n log(n)以内)?
谢谢!