問題描述:最近對問題是求解平面點集n個點中距離最近的兩個點間的問題。為簡單起見,在二維座標平面來考慮該問題。如果討論的點以標準二維座標形式給出,則有點pi(xi,yi)和pj(xj,yj),二者的兩點間距離可以利用公式d(pi,pj)=√(xj-xi)*(xj-xi)+(yj-yi)*(yj-yi)。通過這個公式,可以計算平面上任意兩點之間的距離。
因此,蠻力法求解思路就是對平面n個點兩兩組隊,計算並記錄最小距離。
public class zuijindui
}class aa;
int y=;
int i,j;
int n=x.length;
int ind1=0,ind2=0;
int dis;
int mind=9999;
void closepoint() {
for(i=0;i結果:
第乙個點的座標為:(2,1)
第二個點的座標為:(1,1)
最近點對(蠻力法)
include rand and srand include include sqrt include int max include define distance x1,y1,x2,y2 sqrt x1 x2 x1 x2 y1 y2 y1 y2 define max 10 生成點的個數 stru...
c 蠻力法求最近對問題
include include include using namespace std define m 10000 struct p 首先定義乙個結構體,結構體的內容為點的x,y值double closestpoints int n,p a,int index1,int index2 return...
C 用蠻力法與分治法解決最近對問題
設 p1 x1,y1 p2 x2,y2 pn xn,yn 是平面上n個點構成的集合s,最近對問題就是找出集合s中距離最近的點對。嚴格地講,最接近點對可能多於一對,簡單起見,只找出其中的一對即可。簡單起見,只考慮二維的情況並假設所討論的點以標準笛卡爾座標形式給出。因此,兩個點pi xi,yi 和pj ...