c 蠻力法求最近對問題

2021-07-31 10:24:13 字數 603 閱讀 2808

#include #include #include using namespace std;

#define m 10000

struct p

;

#首先定義乙個結構體,結構體的內容為點的x,y值
double closestpoints(int n,p a,int &index1,int &index2)}}

return dist;

}

#求最近對的函式.用一維陣列求最近對的距離,返回的是距離的平方
int main()

w=closestpoints(g,a,s,e);

cout<<"最近的兩個點是:p1("

}

#呼叫closestpoints函式(注意傳的引數)
#for迴圈的作用是輸入點的個數,rand() % m 函式的作用是返回0--m-1的隨機數,用rand函式不用乙個乙個輸入點.

最近對問題(蠻力法)

問題描述 最近對問題是求解平面點集n個點中距離最近的兩個點間的問題。為簡單起見,在二維座標平面來考慮該問題。如果討論的點以標準二維座標形式給出,則有點pi xi,yi 和pj xj,yj 二者的兩點間距離可以利用公式d pi,pj xj xi xj xi yj yi yj yi 通過這個公式,可以計...

最近點對(蠻力法)

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...

分治法和蠻力法MATLAB求最近點對

主程式 main.m clear clc n 20 隨機生成20個點 a rand n,2 10 將20個點按橫座標公升序排列 a sortrows a,1 蠻力法求隨機點的最近點對 mindist,x1,x2 bcloest a,1,n mindist1,y1,y2 cloest a,1,n 使用...