蛮力法和分治法 求最近对问题——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
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
1、不可以用一个本地类型(如int float)来替换泛型.比如List<Integer>不能用List<int>型式
2、运行时类型检查,不同类型的泛型类是等价的(Pair<String>与Pair<Employee>是属于同一个
类型 Pair),这一点要特别注意:即如果a instanceof
Pair<String>==true的话,并不代表a. ......
刚刚学习了继承,记录下我觉得继承中我们应该注意的问题. 什么继承是使用extends来实现的,这种问题记录下来是不是有点降低哥的IQ呢?哈哈,所以这些基础语法就不记录咯.下面开始吧:
1.在学习java中,我们应该要知道所有类的超类都是object类,这样说的意思就是说,所有的类都包含了 ......
1.将日期存入Date对象
SimpleDateFormat是一个日期格式化类。yyyy,MM,dd,HH,mm,ss,SSS分别表示年,月,日,时,分,秒,毫秒。可以将他们随意组合,构建自己的日期格式。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
然后只需要将符合日期格式的日期字符串存入Date对象中。
......