I'm working on a project where I have to receive a big amount of records (app. 20K), each of which represents a point (x,y) which are in decimal points.
I have the Point object, and a double value m = user input
I need to eliminate all points which has another point closer than m to it, for example if m = 0.1
and p1 = {1.21,1.32}, p2 = {1.21,1.31} p3 = {1.20, 1.32} p4 = {1.55, 1.31}
I need to eliminate p2, p3 (as close points to of p1) but I'll keep p4 as it's distance with any of other points is bigger than 0.1.
I implemented an algorithm, but it takes more than 3 hours to check this (for 20K of record, which I think to be ridiculous, is there is any way to do this using .NET framework up to 4.5 ?