sort p(xi,yi) on the basis of x-axis. find media of x-axis = x_median
sort p(xi,yi) on the basis of y-axis. find media of y-axis =  y_median

find distance from p(x_median,y_median) to all N points.
the distance minimum from p(x_median,y_median) is the point closest point.

algo seems to work , but not checked all test cases.

On Wed, May 9, 2012 at 3:27 PM, Nima Aghdaii <nima.aghd...@gmail.com> wrote:

> Wait! Let's clarify things before shooting random guesses.
> First of all, which norm is used for distance?
> I'm assuming that it is L2 norm (Euclidean distance).
> The problem statement clearly mentions that the answer should be one of
> the given points. So, I don't see any rationale behind taking the mean!
>
> The idea of binary search is also wrong. The function is obviously not
> convex. Norm itself is convex but summation is not a convex preserving
> operator. You can easily verify that. However Max is a convex preserving
> operator. So, if the problem was finding the point which minimizes the Max
> distance, we could use binary search.
> The idea of MST is way out of this topic! Common! MST might have made
> sense if we were talking about distances on the graph. and then what?
> Finding the centroid? centroid, eccentricity,... are just based on
> connectivity. They don't even take into account the distances!
> Talking of "median"... please define it first. Or just explain how you
> could even sort 2D points!
>
> --Nima
> On May 8, 2012 10:04 PM, "pacific :-)" <pacific4...@gmail.com> wrote:
>
>>
>>
>> On Tue, May 1, 2012 at 8:44 PM, Bhupendra Dubey 
>> <bhupendra....@gmail.com>wrote:
>>
>>> Find the centroid
>>>
>>> X= (x1 +x2....xn)/N
>>> Y=(y1+y2......yn)/N
>>> This will precisely be the point no need to calculate and check with
>>> distance.
>>>
>> @dubey : Consider this case, let there be a cluster of 4 points near the
>> origin and 1 point at (100,0). Then the answer would be near the origin and
>> not close to the centroid. "median" might make some sense.
>>
>>>
>>>
>>> On Tue, May 1, 2012 at 1:18 PM, mohit mishra <mohit7mis...@gmail.com>wrote:
>>>
>>>> Let me know if there is any bug
>>>> /*using centroid of plane */
>>>>
>>>> struct point
>>>> {
>>>> int x;
>>>> int y;
>>>> };
>>>> typedef struct point Point;
>>>> int main()
>>>> {
>>>> int n,i;
>>>> int d,dis;
>>>> float sum_x=0,sum_y=0;
>>>> Point centroid,final;
>>>> //clrcsr();
>>>> printf("how many points?  ");
>>>> scanf("%d",&n);
>>>> Point p[100];
>>>> printf("enter X and Y cordinates of %d points\n",n);
>>>> for(i=0;i<n;i++)
>>>> scanf("%d%d",&p[i].x,&p[i].y);
>>>> for(i=0;i<n;i++)
>>>> {
>>>>                 sum_x=sum_x+p[i].x;
>>>>                 sum_y=sum_y+p[i].y;
>>>>                 }
>>>>                centroid.x=(int)sum_x/n;
>>>>                centroid.y=(int)sum_y/n;
>>>> for(i=0;i<n;i++)
>>>> {
>>>> dis=distance(centroid,p[i]);
>>>>                 if(dis<d)
>>>>                 {
>>>>                                              d=dis;
>>>>                                              final.x=p[i].x;
>>>>                                              final.y=p[i].y;
>>>>
>>>>                                              }
>>>>                 }
>>>>                 printf("\n The point is (%3d  ,%3d)",final.x,final.y);
>>>> getch();
>>>> return 0;
>>>> }
>>>> int distance(Point A,Point B)
>>>> {
>>>>     int x,y;
>>>>     x=(A.x-B.x)*(A.x-B.x);
>>>>     y=(A.y-B.y)*(A.y-B.y);
>>>>     return sqrt(x+y);
>>>>     }
>>>>
>>>>
>>>> On Mon, Apr 30, 2012 at 4:34 PM, kosgi santosh 
>>>> <santoshko...@gmail.com>wrote:
>>>>
>>>>> how can we find centriod of n points in a plane?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards,
>>>>> Santosh K.
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Algorithm Geeks" group.
>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> algogeeks+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> bhupendra dubey
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To post to this group, send email to algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>
>>
>> --
>> regards,
>> chinna.
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to