社区
数据结构与算法
帖子详情
请教平面离散点集合中到一定点最近的k(给定)个点的算法
lingyun1980
2005-03-07 09:19:45
已知平面离散点集合(点数很大),求到一定点最近的k(给定)个点的算法(有求速度很快)。
...全文
259
6
打赏
收藏
请教平面离散点集合中到一定点最近的k(给定)个点的算法
已知平面离散点集合(点数很大),求到一定点最近的k(给定)个点的算法(有求速度很快)。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gnefuil
2005-03-07
打赏
举报
回复
先建一个k阶Voronoi图,需要O(nlogn)的时间
但每次查询只需要O(logn)的时间
turnerbook
2005-03-07
打赏
举报
回复
先计算所有平面点到给顶点的距离
再对其排序
寻开心
2005-03-07
打赏
举报
回复
这样的算法理论上讲不是最优的
计算出新的点满足条件后是要插入到k个数组的队列当中的,这个插入操作是费时间
可以参考在n个点当中找第k大的点的O(n)算法
然后从中提取距离比它近的点
但是从解决实际问题的角度来说,引入这样的算法本身似乎不值得
turnerbook
2005-03-07
打赏
举报
回复
1 get plan point
2 calculate the distance
3.1 if availabe,inset
.2 else abandon
/////////////////////////////////////////////////////////////
typedef
point(x,y) //平面点
fdpoint(int distance,int amount)//用于保存查找的点,amount表明同等水平的其他点数
end typedef
input
point list[N] //平面点列
point Q0(x0,y0) //给定点
int m //所求的点数
output
//当有点相同水平时按原点列舍取
var note
fdpoint* repoint=new fdpoint(m)
point** spoint=new point*(m)
int n //水平分档数
end var
1 依次从list中取出点Qk(xk,yk)
2 计算l=||QkQ0||
3
.1 if n=0 //这是第一个数据
n=1
repoint[1].distanc=l
repoint[1].amount=1
spoint[i]=&Qk
else
if l<repoint[n].distance //比最后一组距离短
inset1(Qk);
else //l>repoint[f].distance
if mot<m //点不够
inset2(Qk)
else //点已够
寻开心
2005-03-07
打赏
举报
回复
这个问题恐怕是在你的点的管理上吧
如果是散乱点,没有个管理组织方式,计算量怎么都得是O(n)的啊
最近的k个点,建立一个k长度的数组,对最近的k个点做管理才行
如果能够把散乱点分区域管理,可以大大的减少待检测点的数目
lingyun1980
2005-03-07
打赏
举报
回复
Voronoi图我了解不多,但三角网生成中可能要用到上面的算法,
在浙大的一篇关于三角网的论文中提到上面的算法,没有具体讲述
机器学习——分类器
算法
对比(KNN、SVM、朴素贝叶斯、随机森林、Adaboost)(学习笔记)
目录k邻近(KNN)基础
算法
实例优缺
点
代码实现支持向量机(SVM)基础
算法
对偶问题松弛变量核函数代码实现朴素贝叶斯
算法
基本
算法
优
点
代码实现过拟合(Over fitting)以及欠拟合(Under fitting)集成学习方差和偏差模型的偏差...
零基础AI
算法
工程师学习路径与方向选择指南
计算机视觉(Computer Vision, CV)是人工智能的一个重要分支,其目标是赋予计算机“看”和理解图像或视频...计算机视觉的核心任务和技术图像分类 (Image Classification):将输入的图像分配到一个预定义的类别标签。
计算机需要那些高中数学知识
点
,高中必考数学知识
点
归纳整理
有很多的同学是非常想知道,高中必考数学知识
点
有哪些,小编整理了相关信息,希望会对大家有所帮助!高中数学重难
点
知识
点
高中数学(文)包含5本必修、2本选修,(理)包含5本必修、3本选修,每学期学习两本书。必修一:...
数据结构与
算法
(适合初学者)
指向下个元素 增删快 双向链表 指针域有两个指针,一个指向上个元素,一个指向下个元素 可以从前往后查,也可以从后往前查 循环链表 最后一个元素指向第一个元素 从任意一个元素的位置都能查到全部的数据 ...
人群中多看了一眼
中的SPACE为0~5表示六个面,每个数字代表哪一面见图1.LEN为0~2,[LEN][LEN]表示某个面的3*3的9个格子。 类中的方法是根据展开的
平面
设计的,具体的某个面的某个格子由Spacexy[SPACE][LEN][LE...
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章