前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >查找二维平面上距离最小点对的O(n)算法原理与Python实现

查找二维平面上距离最小点对的O(n)算法原理与Python实现

作者头像
Python小屋屋主
发布于 2024-01-23 04:58:42
发布于 2024-01-23 04:58:42
5040
举报
文章被收录于专栏:Python小屋Python小屋

==============

版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容。

============

问题描述:

给定二维平面上的若干个点,从中查找距离最小的两个。

问题分析:

要解决这个问题,最直接的想法是把给定的点进行两两组合,计算每个组合中两个点的距离,从中找出距离最小的一对。这个算法的计算量非常大,没有任何优化的痕迹,时间复杂度妥妥的O(n^2),即使充分发挥Python语言函数式编程技巧和标准库对象的优势也无法弥补算法本身效率低下的问题。

上面的代码之所以效率低,主要是做了很多不必要的计算。认识到这一点,可以采用一点技巧来减少计算量,例如根据三角形两边长之和大于第三边可知,如果某两个点之间的水平距离或垂直距离已经大于目前已知的最小距离,那么这两个点的距离不可能更小。引入一点减法运算从而避免一些幂运算还是合算的,可以适当提高速度。但这样的改进不属于算法级的优化,虽然有些效果,但效率不会有特别的提升。细心的读者会发现,下面代码中的开方运算并不是必须的,删除可以进一步加快速度把时间再缩短几秒钟,但与我们的目标还有很大距离。

最初的穷举法是仔细检查每个组合是否满足要求,上面的改进是先稍微看一眼每个组合,如果有希望符合要求就再仔细看看,如果第一眼发现不可能符合要求就看完第一眼不再管它了。如果能够减少一些不必要的组合,缩小搜索的范围,把“稍微看一眼”的时间也省下来,应该可以大幅度提高效率。

接下来我们考虑采用分治法,时间复杂度可以达到O(nlogn),核心思路为:1)对所有点按x坐标升序排列,x坐标相同的按y坐标升序排列;2)按x坐标把原始点集左右等分为两个子集,分别寻找两个子集内部距离最小的点对,取二者中最小的一个;3)检查左右两个点集之间的点是否有距离更小的,也就是一个点属于左侧点集另一个点属于右侧点集,但二者之间距离更小;4)对左右两个子集重复上面的操作。

下面的代码在实现算法时又进行了一些优化,例如计算左右点集之间的最小距离时,只考虑了有可能构成更短距离的点,也就是左右两个子集边界附近的点。

虽然代码看上去复杂了很多,但执行速度快了几百倍,点越多效率提高越明显。那么,算法还有改进空间吗?

让我们再回过头来深入分析一下这个问题的枚举法求解过程,如果有一个点B与当前点A的距离最小,那么B点一定在A点的邻域内,如果我们只计算A点与很小邻域内的其他点的距离,而不用计算A点与整个点集中所有点的距离,无疑可以减少大量计算。这样的话问题还有两个关键需要解决,一是邻域半径如何确定,二是如何实现只搜索邻域内的点。对于第一个问题,可以使用目前已知的最小距离作为邻域半径,并且随着计算的推进不断地缩小邻域。对于第二个问题,可以借助于字典来实现。通过这样的改进,甚至可以使得时间复杂度接近于O(n),也会深刻理解一个问题,数据结构是算法的基础,脱离了数据结构的支撑,算法就是空中楼阁。

最后,填写几行代码来测试和比较一下几种方法的效率。

运行结果如下,

注释掉几个函数中检测到距离为0提前结束的代码,重新运行程序,结果如下,

可以看到,只搜索邻域的枚举法具有最好的执行速度,这也符合预期。可能会有读者疑惑,为了确定合适的初始最小距离,代码中先对所有点进行了排序,这是否会引入额外的工作量呢,又是否可以消除呢?需要明确的是,确实会引入一点额外的计算量,但是Python内置函数sorted()已经把排序算法优化到了极致,开销很小。如果不这样做的话,也可以随机选择几个点并计算最小距离作为初始值,这样的话会导致算法不稳定,有时快有时慢,如果随机选择的点距离比较远的话,整个算法的收敛速度会很慢。即使是随机选择的点合适的时候,效率的提升也不明显,几乎可以忽略。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
虚拟偶像“C位出道”:数字浪潮下的崛起与财富密码(3/10)
在当今数字化浪潮席卷全球的时代,虚拟偶像如同一颗颗璀璨的新星,在文化娱乐的天空中闪耀着独特的光芒。从全球粉丝破亿的虚拟歌姬 “初音未来”,到国内人气爆棚的洛天依、A-SOUL 等,虚拟偶像已成为数字时代备受瞩目的文化现象,吸引着无数年轻人的关注和喜爱。
正在走向自律
2025/04/12
2390
虚拟偶像“C位出道”:数字浪潮下的崛起与财富密码(3/10)
大模型加持后,数字人“更像人”了吗?
面向C端,数字人帮助用户生产内容和辅助工作,如:数字人练口语、和数字人玩游戏等;面向B端,数字人是企业的“工具人”,应用于金融、影视、电商、直播等行业,提高行业生产和运营效率。
科技云报道
2024/04/18
2080
大模型加持后,数字人“更像人”了吗?
直播电商的“矩阵原理”
如何在直播电商平台进行精细化运营,降低主播带来的风险,实现可持续地增长?这是任何一个做直播电商的品牌商家、MCN机构无法回避的核心问题。
庄帅
2022/07/01
7820
直播电商的“矩阵原理”
阿里收182亿罚单背后,用 Python 解读直播电商增长秘密
最近,市场监督总局对阿里巴巴开出182.28亿“天价罚单”的消息引爆了舆论场。很多人会产生一个疑问:“182.28亿这个数字是从哪来的?”
我被狗咬了
2021/04/22
3330
阿里收182亿罚单背后,用 Python 解读直播电商增长秘密
电商直播风暴来了,AI虚拟偶像彻底革命李佳琦、薇娅?
虽说在电商直播时代“万物皆可卖,人人皆可播”,但在KOL、明星、企业家等一一下场直播卖货之后,AI虚拟偶像直播卖货仍显得独树一帜。
刘旷
2020/05/12
7330
电商直播风暴来了,AI虚拟偶像彻底革命李佳琦、薇娅?
东方甄选、遥望网络和交个朋友,三大直播电商MCN有什么不同?
随着直播电商行业的不断发展成熟,遥望网络、交个朋友、东方甄选等专业化直播电商服务机构(MCN)陆续涌现,相较于传统电商服务机构,在“人-货-场”各个维度上展现了更高的能力要求。
庄帅
2023/01/29
7250
东方甄选、遥望网络和交个朋友,三大直播电商MCN有什么不同?
万亿市场的直播电商,问题频发之下还能在风口上站多久?
在《迈向万亿市场的直播电商》报告中显示,2019年,直播电商整体市场规模为4338亿元,同比增长210%,在电商市场中的渗透率为4.1%;其预测2020年直播电商整体规模将突破万亿元,达到10500亿元,渗透率将达到8.6%,而2021年直播电商仍将继续高速增长,规模接近2万亿元(19950亿元),渗透率达到14.3%。
灵猫财经
2020/10/18
3710
直播一小时营收破百万!虚拟主播说英文在B站疯狂吸金,背后企划公司IPO作价23亿
丰色 鱼羊 发自 凹非寺 量子位 | 公众号 QbitAI 直播不到2小时,就挣了111多万??? 这么一位首播即登B站实时热门第一的主播,甚至不是真人形象。 他直播的状态基本是酱婶的: 并且尽管全程英文,他直播间当晚的付费率还是达到了惊人的73.3%,跟第二名差出去近62个百分点。 △图源:B站@V面观测中心 也就是说,每10个进入直播间跟主播互动的人里,就有超过7个人为他花了钱! 整场直播的画风,大概就是这样的… 昨天的中国富婆:听不懂你在说什么所以用礼物铺满屏。 这个虚拟主播,究竟什么来头?
量子位
2022/05/09
1.2K0
直播一小时营收破百万!虚拟主播说英文在B站疯狂吸金,背后企划公司IPO作价23亿
获谷歌爱奇艺投资,触手会改变游戏直播市场格局吗?
正如我此前所言,2018年是直播行业的分水岭,“百播大战”结束,直播市场正在向头部集中,特别是游戏直播市场,这个现象更加明显。在虎牙直播IPO后,种种迹象显示游戏直播市场竞争已接近尾声,不过,现在看来,游戏直播市场依然存在变数。
罗超频道
2018/12/17
5780
「MarketingGPT」掀翻全球千亿美金市场!国内首个带货AI全家桶,不玩你就out了
---- 新智元报道   编辑:Aeneas 好困 【新智元导读】在试了这个很新的「搞钱GPT」之后,我们差点进军直播带货。 在全世界掀起狂飙巨变的ChatGPT、GPT-4、Midjourney v5等AI工具,改变的可不仅仅是码农、文案工作者和画师。 直播、电商、广告……所有这些你能想得到的领域,也都开始用它们来搞钱了。 很快,我们看到的小红书爆品文案、广告大片、营销脚本,背后的作者没准就是AI。 而根据Acumen Research and Consulting的预测,全球的AIGC市场规模,预
新智元
2023/05/09
2680
「MarketingGPT」掀翻全球千亿美金市场!国内首个带货AI全家桶,不玩你就out了
出道即成现象级虚拟主播,令颜欢做对了什么?
2023年,ChatGPT点燃了科技圈的第一把火,包括微软、谷歌、百度、阿里、字节在内的国内外科技巨头均在加码生成式AI,AIGC再度成为行业焦点。其实在一众巨头开发类ChatGPT应用前,用技术生成内容的商业模式就已在一些领域出现,其中虚拟主播就已在B站、抖音等平台风靡,大有成为头部主播类目的势头。来自B站的数据就显示,2022年就有23万名虚拟主播在平台开播,同比增长190%。
罗超频道
2023/02/27
2.2K0
出道即成现象级虚拟主播,令颜欢做对了什么?
一文带你了解AI虚拟数字人!
据艾媒咨询,2025年中国虚拟人市场规模预计达480.6亿元,用户群体主要为中型及小微型企业,产品需求量TOP5分别是电商、卫生、社会保障和社会福利业、教育、金融和运输业,主要产品类型为数字员工及定制化数字人。
朱晓霞
2024/03/14
13.1K1
一文带你了解AI虚拟数字人!
业界|互娱、电商、广告?Video++在用AI帮助视频和直播创收
机器之心原创 参与:杜夏德 视频互联网 VS 互联网视频,一词之隔,却已等待十二年。 眼下的的互联网科技圈,人工智能技术的火热程度堪比演艺界的小鲜肉。金融、医疗、自动驾驶、安防、生物技术、法律、家居等行业的 AI 应用已然是屡见不鲜。根据腾讯研究院近日发布的报告《中美两国人工智能产业发展全面解读》,中国人工智能企业数量为 592 家。金融、安防、医疗无人驾驶国内人工智能最火的几个领域,除了百度、阿里巴巴等巨头,创业公司也比比皆是。而在在消费级视频平台技术领域,Video++「算是第一个吃螃蟹的。」 过去几
机器之心
2018/05/10
9670
虚拟偶像经济,都谁在买单?
(VRPinea 7月9日讯)小伙伴们知道王一博、吴宣仪的经纪公司乐华娱乐公司吗?近日,知名造星公司乐华娱乐旗下虚拟偶像A-SOUL成员著作权的拥有者,变更为字节跳动100%控股。这也就意味着字节跳动入局虚拟偶像已成定局,而字节和乐华的合作从商业逻辑上来说也十分合理。
VRPinea
2021/07/23
7620
各大品牌的下一个代言人,何必是真人
机器之心原创 机器之心编辑部 如果追溯「数字人」概念的起源,最早可以到上世纪 90 年代。当然,那时的数字人大多是存在于影视作品之中的非真人形象。近年来,伴随 CG、人工智能、动态捕捉等技术的不断进步,数字人的互动性和社交属性逐渐增强,虚拟和现实的边界正在消失。 特别是在 2020 年初新冠疫情爆发,以及 2021 年元宇宙概念大火之后,数字人在各行业领域受到的关注度居高不下。阿里、百度、腾讯等互联网大厂悉数入场,投资机构竞相布局,数字人一举成为资本追捧的全新赛道。 各个领域也都涌现出专用的数字人形象,诸如
机器之心
2022/04/18
2800
各大品牌的下一个代言人,何必是真人
直播电商构建了新生态,但未来仍存痛点
今年罗永浩着实火了一把,前不久在综艺《脱口秀大会》总决赛上,老罗公开表示,自己此前欠的6亿元债务已还了4亿元,剩下的2个亿大概一年就可以还清。除了卖掉手机团队和相关知识产权的1.8亿和一些小型活动以外,直播带货时老罗收入的更主要来源。
用户6132544
2020/11/02
5950
腾讯云点播助力携程,开启虚拟直播带货新体验
在当今数字化时代,商家渴望通过宣传商品来增加售卖收入,平台则期望提升用户和商家的活跃度。基于这些需求,线上直播带货已成为商家和平台不可或缺的营销方式。然而,真人直播不仅需要高昂的人力成本,还受限于主播数量,难以实现大规模、长时间带货。现有的虚拟直播方案也无法满足及时回答用户问题的需求。因此,商家和平台迫切需要一种高效、低成本的解决方案,以虚拟直播代替真人主播,并能够及时回答消费者的疑问。
腾讯云音视频
2025/01/15
1280
腾讯云点播助力携程,开启虚拟直播带货新体验
数字人:打破次元壁,从娱乐舞台迈向教育新课堂(4/10)
在科技飞速发展的今天,数字人正从娱乐领域的璀璨明星,逐步迈向教育领域的智慧导师,完成一场令人瞩目的跨界之旅。从最初在虚拟偶像、影视动漫、游戏世界中大放异彩,为我们带来极致的视听享受,到如今走进校园、在线课堂,化身智能助教、虚拟教师,助力教育的创新变革,数字人的应用边界不断拓展,潜力无限。这一跨界现象不仅引发了广泛的社会关注,更激发了我们对其背后技术创新与应用价值的深入思考。接下来,让我们一同揭开数字人在娱乐与教育领域的神秘面纱,探寻其独特魅力与无限可能。
正在走向自律
2025/04/12
1450
数字人:打破次元壁,从娱乐舞台迈向教育新课堂(4/10)
从完美偶像到优秀员工 虚拟人“热赛道”能跑多远?
如果没有元宇宙的沃土,没有二次元的追捧,一个个虚拟人将会以怎样的方式闯入我们的生活?   现在,虚拟人真实地活跃在我们身边,让人们真切地感受到其商业价值。在这条“热赛道”上,企业跑步入场,成功似乎变得
科技旋涡
2022/08/30
5010
从完美偶像到优秀员工 虚拟人“热赛道”能跑多远?
直播电商会成为消费常态吗?
作者 | 周政华 腾讯研究院 资深专家 网红、直播与电商的相遇,碰撞出当下颇为炫目的消费奇观。 进入网红的直播间,就能感受到在线购物的澎湃之力:以每分钟两百多字的语速介绍手中的商品,或是一管口红,或是一盒面膜,或是一口锅。那标志性的长拖尾音“买它”,就像催人下单的号角,在一次次链接商品“秒空”中,集体消费的狂欢高潮滚滚袭来。 如果说启蒙时代流行的是“我思故我在”,那么消费社会的逻辑就是“我买故我在”,消费不但塑造个人的身份形象,同时也引导着许多行业的发展脉络,更在国际贸易中扮演着重要的推手角色。例如
腾讯大讲堂
2020/06/17
7330
推荐阅读
相关推荐
虚拟偶像“C位出道”:数字浪潮下的崛起与财富密码(3/10)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档