请问如何找平面上最近的点

computerclass 2007-03-15 01:34:17
在平面上有n个点,现有一个新的点,如何求离这个新点最近的点.
...全文
256 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun3411 2007-03-15
  • 打赏
  • 举报
回复
这个还好了
算法导论 中那个
平面上n点 求最近2点的难
看了也不会实现////5555555555
magicsutra 2007-03-15
  • 打赏
  • 举报
回复
可以写一个Point类,class Point{public: Point(){} Point(int x, int y){x_ = x; y_=y;} int X(){return x_;} int Y(){return y_;} private: int x_; int y_;};
然后,用Vector<Point>来存放数据。
computerclass 2007-03-15
  • 打赏
  • 举报
回复
能不能事前先建一个索引,不要全表扫描。
pass86 2007-03-15
  • 打赏
  • 举报
回复
不错的问题
magicsutra 2007-03-15
  • 打赏
  • 举报
回复
#include <math.h>
double distance(double x1, double y1, double x2, double y2)
{
return sqrt((x1 - x2) * (x1 - x2) + (y1 -y2) * (y1 -y2));
}
iamcaicainiao 2007-03-15
  • 打赏
  • 举报
回复
最简单的。for循环,对所有其它的点,挨个求他们到新点的距离。

距离=((x2-x1)的平方+(y2-y1)的平房)开平房
fiveyes 2007-03-15
  • 打赏
  • 举报
回复
搜索“最接近点对”的算法。

http://202.114.10.249/icl2002/algorithm/problems/problem_set/ndp/solution.htm

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧