暴力解决方法,没考虑优化时间,仅仅是暴力实现,数据量很大的话会超时。

#include<bits/stdc++.h>
using namespace std;
int n,k;
struct Node{int x,y;int id;
};
struct Node nodes[1005];
vector<struct Node> cu[1005];
double dis(int x,int y)
{return sqrt((nodes[x].x-nodes[y].x)*(nodes[x].x-nodes[y].x)+(nodes[x].y-nodes[y].y)*(nodes[x].y-nodes[y].y));
}
bool cmp(vector<struct Node> x,vector<struct Node> y)
{return x.size()<y.size();
}
bool cmp1(vector<struct Node> x,vector<struct Node> y)
{return x.size()>y.size();
}
bool cmp2(struct Node x,struct Node y)
{return x.id<y.id;
}
void Agnes()
{int N=n;while(N>k){double mindis=9999;int tar1=-1,tar2=-1;for(int i=0;i<n;i++){if(!cu[i].empty())for(int j=i+1;j<n;j++){if(!cu[j].empty())for(int m=0;m<cu[i].size();m++){for(int n=0;n<cu[j].size();n++){double tempdis=dis(cu[i][m].id,cu[j][n].id);if(mindis>tempdis){mindis=tempdis;tar1=i;tar2=j;}}}}}for(int i=0;i<cu[tar2].size();i++){struct Node temp=cu[tar2][i];cu[tar1].push_back(temp); }   cu[tar2].clear();sort(cu,cu+n,cmp);int cnt=0;for(int i=0;i<n;i++)if(!cu[i].empty())cnt++;N=cnt;}}
int main()
{cin>>n>>k;for(int i=0;i<n;i++){cin>>nodes[i].x>>nodes[i].y;nodes[i].id=i;cu[i].push_back(nodes[i]);}Agnes();sort(cu,cu+n,cmp1);for(int i=0;i<n;i++)if(!cu[i].empty()){sort(cu[i].begin(),cu[i].end(),cmp2);for(int j=0;j<cu[i].size();j++)if(j==0)cout<<"{"<<cu[i][j].id+1<<" ";else if(j==cu[i].size()-1)cout<<cu[i][j].id+1<<"}"<<endl;elsecout<<cu[i][j].id+1<<" ";  if(cu[i].size()==1)cout<<"}"<<endl;}    return 0;
}

数据挖掘原理与算法 Agnes算法相关推荐

  1. 数据挖掘原理与算法:对森林火灾影响因素的分析

    数据挖掘原理与算法:对森林火灾影响因素的分析 一.介绍 Forest Fire Area Prediction of the burnt area by forest fires Overview T ...

  2. 数据挖掘原理与算法:机器学习->{[sklearn. model_selection. train_test_split]、[h2o]、[网格搜索]、[numpy]、[plotly.express]}

    数据挖掘原理与算法:机器学习->{[sklearn. model_selection. train_test_split].[h2o].[网格搜索].[numpy].[plotly.expres ...

  3. 数据挖掘原理与算法:练习题2

    数据挖掘原理与算法:练习题2 题目: 下表给出了一组有关天气状况和能否进行户外活动的数据.请给出所有包含属性"Play"的频繁项集(最小支持度计数为3) No. Outlook T ...

  4. 数据挖掘原理与算法:Jupyter

    数据挖掘原理与算法:Jupyter 一.认识Jupyter Jupyter介绍和使用 中文版 PIP(Python包管理工具) anaconda(开源的Python发行版本) Python,Anaco ...

  5. 数据挖掘原理与算法:练习题1

    数据挖掘原理与算法:练习题1 题目: 考虑下表中的数据集,其中A.B.C为属性,+.-为类标号,构建一个决策树 A B C Number of instances + - T T T 5 0 F T ...

  6. 数据挖掘原理与算法_技术分享|大数据挖掘算法之FPGrowth算法

    程一舰 数据技术处 我们常说我们生活在信息时代,实际上,我们更多的还是生活在数据时代.因为从过去到现在累积了大量的数据,对数据的挖掘和分析也仅是从最近几年大数据和人工智能技术的发展而兴起.我们对现有数 ...

  7. 数据挖掘原理与算法_资料 | 数据挖掘:概念、模型、方法和算法(第2版)/ 国外计算机科学经典教材...

    下载地址: 以下书籍介绍来自图书商城 内容简介 · · · · · · 随着数据规模和复杂度的持续上升,分析员必须利用更高级的软件工具来执行间接的.自动的智能化数据分析.<数据挖掘:概念.模型. ...

  8. [转]详细解释数据挖掘中的 10 大算法

    在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下. 一旦你知道了这些算法是什么.怎么工作.能做什么.在哪里能找到,我希望你能把这篇博文当做一个 ...

  9. 数据挖掘的十大经典算法

    转载:http://blog.jobbole.com/89037/ 1.C4.5算法 C4.5是做什么的?C4.5 以决策树的形式构建了一个分类器.为了做到这一点,需要给定 C4.5 表达内容已分类的 ...

最新文章

  1. 注释工具_好用的位点分级注释工具,VarSome插件
  2. 如何将文件复制到虚拟机中
  3. HDU SPFA算法 Invitation Cards
  4. 今日上午,清华大学发布中国首个高校自研深度学习训练框架—计图Jittor
  5. svm回归matlab工具箱很慢,PSO优化SVM参数进行回归预测,结果很不理想
  6. mysql80配置环境变量_MySQL:安装与配置
  7. wps怎么画网络图_尼玛,WPS竟然悄悄搞了个免费的公文写作AI...【石说】
  8. ajax弹出提示框,Ajax环境下弹出提示框
  9. 福昕PDF阅读器文本复制功能设置
  10. vue中 jsbarcode的使用技巧
  11. HTML网页设计制作大作业 - 绿色环境保护HTML5网站模板(4个页面)
  12. 固定资产管理系统项目总结
  13. 北理python复试_北理考研复试-北京理工大学考研复试经验
  14. 《计算机视觉工程师养成计划》·开篇
  15. java.io.FileNotFoundException ….. (Permission denied)
  16. 【专访】黄文强:电子商务创新航企营销模式
  17. 如何用C语言画立体几何图形,立体几何图形公式大全
  18. mysql做kv数据库_如何将SQL数据映射到KV数据库
  19. 沁恒MCU从EVT中提取文件建立MounRiver独立工程
  20. 帧、关键帧和空白关键帧的作用

热门文章

  1. 团队作业4——第一次项目冲刺(Alpha版本) Day1
  2. css方法div固定在网页底部
  3. Colidity-- Dominator
  4. .NET 3.5 : 读写RSS或者ATOM
  5. java证书已过期如何继续运行_过期证书上的Java trustmanager行为
  6. setwindowpos怎么改变z序_【情感问答】||朋友圈子小,沉默寡言嘴不甜,情商低,该怎么脱单?...
  7. redis用HyperLogLog计算UV
  8. springboot中使用servlet通过配置类
  9. java使用POST发送soap报文请求webservice返回500错误解析
  10. 模拟虚拟的文件系统initrd/initramfs