Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- xList = sort on x(S);
- pClosest;
- qClosest;
- Tree t = empty balanced binary tree;
- distance d = inf;
- q = left most point in xList
- foreach(Point p in x-list in order)
- {
- t.insert(p);
- while(q.x < p.x - d)
- {
- t.delete(q);
- q = next Point in xList;
- }
- look at the 4 points above p
- if(dist(p, oneOfThePoints) < d)
- {
- d = dist(p, oneOfThePoints);
- pClosest = p;
- qClosest = q;
- }
- look at the 4 points below p
- if(dist(q, oneOfThePoints) < d)
- {
- d = dist(q, oneOfThePoints);
- pClosest = p;
- qClosest = q;
- }
- }
- return closest pair;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement