蛮力法和分治法 求最近对问题——Java 实现
设p1=(x1, y1), p2=(x2, y2), …, pn=(xn, yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对。
蛮力算法描述:
int ClosestPoints(int n, int x[ ], int y[ ], int &index1, int &index2)
{
minDist=+∞;
for (i=1; i<n; i++)
for (j=i+1; j<=n; j++)
{
d=(x[i]-x[j])* (x[i]-x[j])+(y[i]-y[j])* (y[i]-y[j]);
if (d<minDist) {
minDist=d;
index1=i;
index2=j;
}
}
return minDist;
}
ClosestPair1.java //蛮力算法
import java.util.*;
public class ClosestPair1
{
public static void main(String[] args)
{
/**
*输入需要比较的点的对数存在变量n中
*/
Scanner in=new Scanner(System.in);
System.out.println("How many pairs of points to compare?(有多少对点需要比较?)");
int n=in.nextInt();
int[] x=new int[n];
int[] y=new int[n];
/**
*输入这些点的横坐标和纵坐标分别存储在x[n]和y[n]
*/
System.out.println("Please enter these points,X-coordinate(请输入这些点,横坐标):");
for(int i=0;i<n;i++)
{
x[i]=in.nextInt();
}
System.out.println("Please enter
相关文档:
在jdk1.2中,分别针对Jcomponent和Text类的对象定制了不同的处理键盘事件的方法:在Jcomponent中,定义了registerKeyboardAction方法,使用这个方法来将需要处理的键盘事件以及处理事件的行为绑定在一起。Text类中具有keymap对象,同Jcomponent中的处理方法类似,这个对象保存着需要处理的键盘事件和对应的行为。
而 ......
1、不可以用一个本地类型(如int float)来替换泛型.比如List<Integer>不能用List<int>型式
2、运行时类型检查,不同类型的泛型类是等价的(Pair<String>与Pair<Employee>是属于同一个
类型 Pair),这一点要特别注意:即如果a instanceof
Pair<String>==true的话,并不代表a. ......
对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre、jre版本、jre在哪里下载、如何用jre启动Java应用等等。不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。所以这个是导致Java桌面应用被一些人所讨厌的最大原因,J ......
1.将日期存入Date对象
SimpleDateFormat是一个日期格式化类。yyyy,MM,dd,HH,mm,ss,SSS分别表示年,月,日,时,分,秒,毫秒。可以将他们随意组合,构建自己的日期格式。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
然后只需要将符合日期格式的日期字符串存入Date对象中。
......
mysql数据库本身有数据备份和批量数据插入的命令,java代码可执行这些命令。
安装mysql后,需要设置环境变量:我的电脑右击--属性--高级--环境变量,增加MYSQL_HOME=“mysql安装路径”,然后path=%MYSQL_HOME%\bin
代码如下:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java. ......