Question: Section 22.8 introduced an algorithm for finding the closest pair of points using a divide-and-conquer approach. Implement the algorithm to meet the following requirements:
Section 22.8 introduced an algorithm for finding the closest pair of points using a divide-and-conquer approach. Implement the algorithm to meet the following requirements:
■■ Define a class named Pair with the data fields p1 and p2 to represent two points and a method named getDistance() that returns the distance between the two points.
■■ Implement the following methods:
/** Return the distance of the closest pair of points */
public static Pair getClosestPair(double[][] points)
/** Return the distance of the closest pair of points */
public static Pair getClosestPair(Point2D[] points)
/** Return the distance of the closest pair of points
* in pointsOrderedOnX[low..high]. This is a recursive
* method. pointsOrderedOnX and pointsOrderedOnY are
* not changed in the subsequent recursive calls.
*/
public static Pair distance(Point2D[] pointsOrderedOnX,
int low, int high, Point2D[] pointsOrderedOnY)
/** Compute the distance between two points p1 and p2 */
public static double distance(Point2D p1, Point2D p2)
/** Compute the distance between points (x1, y1) and (x2, y2) */
public static double distance(double x1, double y1,
double x2, double y2)
Step by Step Solution
3.37 Rating (156 Votes )
There are 3 Steps involved in it
import javautil import javafxgeometryPoint2D This program works but the design is not good Redesign it public class Exercise2207 public static void mainString args double points new double10002 for in... View full answer
Get step-by-step solutions from verified subject matter experts
