2012-06-11 2 views
2

배열이 이고 CGPoints가 (NSValues가 인 경우)이라고 가정 해 보겠습니다. 어떻게하면 서로 가장 멀리 떨어져있는 두 점을 얻을 수 있습니까? 나는이 두 점 사이의 거리가 가장 큰을 의미합니까? 두 점을 모두 확인할 수는 있지만 효율적으로 보이지 않습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?배열의 두 점 사이의 최대 거리

도움 주셔서 감사합니다.

+1

Naively? 각 포인트 조합에 대한 거리를 테스트하십시오. –

+1

방금 ​​좋은 복제본을 발견했습니다 : http://stackoverflow.com/questions/1618398/given-a-set-of-points-how-do-i-find-the-two-points-that-are-farthest- ~에서 각 – nhahtdh

답변

5

포인트가 너무 많지 않은 경우 (최대 1000이지만 집중적 인 경우 약 100) 순진한 brute-force 방법 O (n)를 사용하십시오.

세부 정보를 읽지는 못했지만 아마도 O (nlog n)에서 convex hull algorithm + rotating caliper으로 계산할 수 있습니다.