#include#define dimense 10 //10维数据 #define N 5005 #define MAX 0xffffff #define clr(a) memset(a,0,sizeof(a)) using namespace std; double radius=60; int min_num=400; int num=5000;//数据量 int k; int now=0;//当前是第几个簇 int ans=0;//不是离群点的簇的数目 struct Point{ int id; double dir[dimense]; int belong; bool iskey; bool vis; int rec;//统计多少个点在其区域内 vector area; }; Point center[15]; vector data; vector save[15]; double dis(Point a,Point b){ double ret=0; for(int ii=0;ii min_num){ data[cur].iskey=true; for(i=0;i tot; int vis2[N]; void dfs(int a){ if(vis2[a])return; vis2[a]=1; save[now].push_back(a); for(int i=0;i min_num)tmp_rec[ans++]=i; } printf("一共%d个簇\n共:%d点\n",ans,cnt); for(i=0;i
复制去Google翻译翻译结果