分治法和蛮力法求最近点对

  • r5_375032
    了解作者
  • 441.7KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-13 07:42
    上传日期
算法实验必须 非常完整很有使用价值 今年的算法实验全靠他了
分治法和蛮力法求最近点对.rar
  • 最近对问题
  • Debug
  • 最近对.pdb
    657KB
  • vc60.pdb
    84KB
  • 最近对.pch
    1.1MB
  • 最近对.opt
    42.5KB
  • 最近对.obj
    58.2KB
  • vc60.idb
    65KB
  • 最近对.ilk
    248.9KB
  • 最近对.exe
    240.1KB
  • 最近对.opt
    47.5KB
  • 最近对.cpp
    6.3KB
  • 最近对.dsp
    3.3KB
  • 最近对.ncb
    41KB
  • 最近对.plg
    1.1KB
  • 新建 文本文档.txt
    1.8KB
  • 最近对.dsw
    520B
内容介绍
#include <vector> using namespace std; typedef struct { int x; //x坐标 int y; //y坐标 }NEARTEAM; typedef struct // { int indexx; //第一个点的索引 int indexy; //第二个点的索引 }INDEX; void InitTeam(vector <NEARTEAM> &team); //从键盘初始化点 void Print(vector <NEARTEAM> &team); //输出所有点 vector<INDEX> BruteForce(vector <NEARTEAM> &team); //蛮力法求最近两点 int Power2(NEARTEAM A,NEARTEAM B); //求这两个点的平方 void main() { vector <NEARTEAM> team;//保存结果 InitTeam(team); Print(team); // printf("下表索引是\n%d,%d", // BruteForce(team).indexx, // BruteForce(team).indexy); } void InitTeam(vector <NEARTEAM> &team) { NEARTEAM temp;//临时变量 printf("请输入一个整数对,整数之间用空格分离!\n输入完毕已#号结束\n"); char ch; do { scanf("%d %d", &temp.x,&temp.y); team.push_back(temp); ch=getc(stdin); if(ch=='#') { break; } }while(true); } void Print(vector <NEARTEAM> &team) { printf("所有的点是:\n"); for(int i=0;i<team.size();i++) { printf("%d,%d\n",team[i].x,team[i].y); } } vector<INDEX> BruteForce(vector <NEARTEAM> &team) { INDEX temp; vector <INDEX> index; //保存所有最近点的向量,因为有可能两个点距离相同 int dmin=0; //保存临时的最小值 int d=0; bool first=true;//是不是第一次比较 for(int i=0;i<team.size()-1;i++) { for(int j=i+1;j<team.size();j++) { if(first) { dmin=Power2(team[i],team[j]); first=false; } else { d=Power2(team[i],team[j]); if(d<dmin) { dmin=d; //将这个值编程最小的 temp.indexx=i; temp.indexy=j; } } } } temp.indexx+=1;//因为下标是从零开始的 temp.indexy+=1;//因为下标是从零开始的 // return temp; return index; } int Power2(NEARTEAM A,NEARTEAM B) { return (A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y); }
评论
    相关推荐
    • 程序员算法
      这是一个算法文档压缩包,其中包括《可能与不可能的边界》、《具体数学》、《算法的乐趣》、《啊哈!算法》。这些书很适合对算法感兴趣的朋友,书籍讲解算法非常有趣。注意,其中有些文档是试读版本。
    • 算法实验
      算法实验算法实验算法实验算法实验算法实验算法实验算法实验算法实验
    • 大数据算法
      本书共分为10章,第1章概述大数据算法,第2章介绍时间亚线性算法,第3章介绍空间亚线性算法,第4章概述外存算法,第5章介绍大数据外存查找结构,第6章讲授外存图数据算法,第7章概述MapReduce算法,第8章通过一系列...
    • 算法
      算法 算法
    • SIFT 算法
      SIFT 算法SIFT 算法SIFT 算法SIFT 算法
    • RSA算法
      RSA算法是公钥加密算法中重要的算法之一,本算法即实现RSA的加解密过程。
    • 分词算法介分词算法
      算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语...
    • unify算法
      unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法
    • 寻路算法
      寻路算法 寻路封装
    • dsp算法算法算法算法
      dsp各种算法