package com;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.text.DecimalFormat;
import java.util.ArrayList;
//已知平面上若干个点的坐标。
//需要求出在所有的组合中,4个点间平均距离的最小值(四舍五入,保留2位小数)。
//比如有4个点:a,b,c,d,则平均距离是指:ab, ac, ad, bc, bd, cd 这6个距离的平均值。
//每个点的坐标表示为:横坐标,纵坐标
//坐标的取值范围是:1~1000
//所有点的坐标记录在in.txt中,请读入该文件,然后计算。
//注意:我们测试您的程序的时候,in.txt 可能会很大,比如包含上万条记录。
//举例:
//如果,in.txt 内的值为:
//10,10
//20,20
//80,50
//10,20
//20,10
//则程序应该输出:
//11.38
public class MyPoint {
private double x;
private double y ;
public MyPoint(){}
public MyPoint(double x,double y){//传过来的是两个点
this.x = x;
this.y = y;
}
public static double getDistance(MyPoint p1,MyPoint p2){
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return Math.sqrt(dx*dx+dy*dy);
}
public static void main(String[] args){
ArrayList<String> list = bufferedReader();
zuhe(list);
}
//求所有点的组合
public static void zuhe(ArrayList<String> list){
double sum = 0;
double show = 0;
for(int i=0;i<list.size();i++){
for(int j=i+1;j<list.size();j++){
//得到每一种组合:求出每一组合的距离
double x1 = Double.valueOf(list.get(i).split(",")[0]);
double y1 = Double.valueOf(list.get(i).split(",")[1]);
double x2 = Double.valueOf(list.get(j).split(",")[0]);
double y2 = Double.valueOf(list.get(j).split(",")[1]);
MyPoint p1 = new MyPoint(x1,y1);
MyPoint p2 = new MyPoint(x2,y2);
double temp = MyPoint.getDistance(p1, p2);
show++;
sum+=temp;
System.out.println("点:("+x1+","+y1+")"+"的和点:("+x2+","+y2+")的距离为:"+temp);
}
}
DecimalFormat df = new DecimalFormat("#0.00");
System.out.println(df.format(sum/show));
}
//获取文件中的数据 点的个数
public static ArrayList<String> bufferedReader(){
File f = new File("src/com/in.txt");
ArrayList<String> list = new ArrayList<String>();
try{
BufferedReader br = new BufferedReader(new FileReader(f));
while(br.ready()){
list.add(br.readLine());
}
br.close();
}
catch(Exception ex){
ex.printStackTrace();
}
return list;
}
}
分享到:
相关推荐
基于组平均距离聚类算法,通常被称为Group Average(GA)或UPGMA(Unweighted Pair Group Method with Arithmetic mean),是一种常见的层次聚类方法。在数据挖掘和机器学习领域,聚类是将相似对象分组的过程,而组...
这里我们将深入探讨Matlab在处理复杂网络时如何计算聚集系数和平均距离,这两个重要指标。 首先,让我们理解这两个概念: 1. **聚集系数(Clustering Coefficient)**:聚集系数是衡量一个节点的邻居节点之间连接...
一次性求取平均距离、方差 标准差 在调试菜单输入文件地址
基站间平均距离算法是无线通信网络规划中的一个重要概念,它涉及到如何有效地计算并优化基站的布局,以确保网络覆盖的连续性和服务质量。MapInfo是一款强大的地理信息系统(GIS),在无线网络规划中常用于处理与地理...
"多个网络平均距离等4项计算与输出"的程序设计旨在处理这样的需求,它自动化了对网络数据的处理,提供了网络特性的重要洞察。这里我们将深入探讨网络平均距离和其他相关概念。 网络平均距离,也称为网络直径,是...
1、资源内容:基于Matlab蚁群算法的城市路径求最短距离和平均距离(源码+数据).rar 2、适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 3、解压说明:...
计算2016年大学生数学建模b题,拍照赚钱题的第一文中。任务点方圆5公里的会员点
全球200多个国家的各国地理平均距离,国家名称用双代码表示。
VANET中基于平均距离的三维TDOA定位算法_易鸣.caj
为了提高DV-Hop定位算法在不规则网络中的精确度,针对该算法的不足之处,提出了一种基于平均跳距和估计距离的改进的DV-Hop算法。该算法考虑了未知节点到参考节点的路径与参考节点间的路径可能存在重合或部分重合这一...
2. **网络测量**:该软件提供了丰富的网络测量指标,如节点度、聚类系数、中心性(接近中心性、特征向量中心性和介数中心性)、路径长度、密度、平均距离等,这些参数对于理解网络的连接性和结构至关重要。...
从数据库获取车辆在一段时间内的所有行驶记录的相关数据,确定所需数据为GPS经纬度坐标和驾驶时长等,QB模型采用MDF的思想,其基本思想为:通过平均直接翻转距离函数定义两条轨迹之间的距离,两条轨迹需要具有相同的...
问题描述:平均路径长度是网络中另一个重要的特征度量,他是网络中所有节点对之间的平均最短距离。这里节点间的距离指的是从一个节点要经历的边的最小数目,其中所有节点之间的最大距离称为网络的直径。平均路径长度...
%% 求复杂网络中两节点的距离以及平均路径长度 %% 求解算法:首先利用Floyd算法求解出任意两节点的距离,再求距离的平均值得平均路径长度 % A————————网络图的邻接矩阵 % D————————返回值:网络图的...
组平均法则定义类与类之间的距离为这两类中所有样本对的平均距离。其计算公式为: \[ d(r, s) = \frac{\sum_{i \in r, j \in s}d(x_i, x_j)}{n_r n_s} \] 4. **重心法(Centroid Linkage)** 重心法则定义类...
采用kdtree树的方法,计算点云的平均间距。计算速度快
3. **分类决策规则**:基于所有邻居的平均距离确定样本的类别。 4. **交叉验证**:为了评估模型的泛化能力,可能使用k折交叉验证来调整模型参数。 5. **性能评估**:使用准确率、召回率、F1分数、混淆矩阵等指标评估...
matlab利用邻接矩阵求平均最短路径长度
整理了四种常用的聚类方法,自用,现供大家参考 K均值聚类方法中 聚类个数是用了factoextra包中的fviz_nbclust函数 并用此包中的画图函数绘制了拐点图,结果较为直观...系统聚类包括最大距离法、类平均法和离差平方和法