社区
数据结构与算法
帖子详情
请教平面离散点集合中到一定点最近的k(给定)个点的算法
lingyun1980
2005-03-07 09:19:45
已知平面离散点集合(点数很大),求到一定点最近的k(给定)个点的算法(有求速度很快)。
...全文
268
6
打赏
收藏
请教平面离散点集合中到一定点最近的k(给定)个点的算法
已知平面离散点集合(点数很大),求到一定点最近的k(给定)个点的算法(有求速度很快)。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)集成学习方差和偏差模型的偏差和方差是什么?bagging的偏差和方差boosting的偏差和方差模型的独立性
算法
对比 k邻近(KNN) 基础
算法
KNN是通过测量不同特征值之间的距离进行分类。它的的思路是: 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样 本中的大多数属于某一个类别,
零基础AI
算法
工程师学习路径与方向选择指南
计算机视觉(Computer Vision, CV)是人工智能的一个重要分支,其目标是赋予计算机“看”和理解图像或视频内容的能力,类似于人类的视觉系统。它涉及从数字图像或视频中提取信息、进行分析、做出决策或生成新的视觉内容。近年来,随着深度学习技术的发展,特别是卷积神经网络(CNNs)的成功应用,计算机视觉取得了显著的进展,并在许多领域展现出超越人类的表现水平。计算机视觉的核心任务和技术图像分类 (Image Classification):将输入的图像分配到一个预定义的类别标签。
【万字长文】零基础AI
算法
工程师转型指南:从数学与编程到机器学习,选择你的AI之路!
为零基础小白规划AI
算法
工程师的学习路径,通常始于**扎实的数学与编程基础**,随后进入**机器学习与深度学习的核心理论与工具学习**。在此基础上,学习者应**广泛了解AI的主要应用方向**,如计算机视觉(CV)、自然语言处理(NLP)、语音识别、强化学习等,并结合个人兴趣与职业规划**选择一到两个方向进行专项深耕与实践**。持续的项目经验积累、前沿技术关注以及积极的社区交流是成长为合格AI
算法
工程师的关键。
计算机需要那些高中数学知识
点
,高中必考数学知识
点
归纳整理
有很多的同学是非常想知道,高中必考数学知识
点
有哪些,小编整理了相关信息,希望会对大家有所帮助!高中数学重难
点
知识
点
高中数学(文)包含5本必修、2本选修,(理)包含5本必修、3本选修,每学期学习两本书。必修一:1、
集合
与函数的概念 (这部分知识抽象,较难理解)2、基本的初等函数(指数函数、对数函数)3、函数的性质及应用 (比较抽象,较难理解)必修二:1、立体几何(1)、证明:垂直(多考查面面垂直)、...
数据结构与
算法
(适合初学者)
欢迎大家多多交流,有不明白的问题也可留言,共同学习进步,可加我微信号(cxk14782866654)并备注使用哪种语言,进群大家多交流
数据结构与算法
33,029
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章