最接近点对(一维和二维)

这篇博客介绍了一种用于寻找一维和二维空间中最接近点对的算法。通过使用分治法和排序,实现了在一维和二维平面上计算两个点之间最短距离的方法。博客中提供了Java代码示例,包括绘制点、计算距离以及比较不同方法的执行效率。
摘要由CSDN通过智能技术生成

5,最接近点对(一维和二维)

代码:

package com.zhang1;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

class Point

{

int x,y;//点坐标

//构造方法

public Point(int xx,int yy)

{

x = xx;

y = yy;

}

}

//按照X坐标排序之后的点进行存放

class Point1 extends Point

{

int id;//点编号

//构造方法

public Point1(int xx,int yy, int theID)

{

super(xx,yy);

id = theID;

}

}

//按照Y坐标排序之后的点进行存放

class Point2 extends Point 

{

int p;//同一点在数组X中的坐标

//构造方法

public Point2(int xx,int yy, int pp)

{

super(xx,yy);

p = pp;

}

}

public class Pair extends Frame implements ActionListener

{

Point a;//平面点a

Point b;//平面点b

double dist;//平面点ab间的距离

int nFlag = 0;//确定要执行的操作,0为没有,1为画一维直线上的点,2为画二维平面上的点

Point1 x[] = new Point1[10];//所求最接近点对的点

Pair p;

private Button draw1Button = new Button("绘图1");

private Button draw2Button = new Button("绘图2");

private Button calcuButton = new Button("计算距离");

//构造方法

public Pair()

{

super("最接近点对");

Panel top = new Panel();

top.setLayout(new FlowLayout());

top.add(draw1Button);

top.add(draw2Button);

top.add(calcuButton);

Panel buttom = new Panel();

setL

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值