【面经笔记】范围搜索/最近邻搜索

本文介绍了范围搜索和最近邻搜索在处理大量数据时的重要性,特别是针对平面上的点集。讨论了KD树在最近邻搜索中的应用,并提到了k近邻搜索的实现策略,即使用大根堆维护k个最小距离。此外,文章还简要介绍了R树及其在范围搜索中的作用,特别是在游戏中快速查找受影响的怪物。
  • 例1:平面上百万个点,设计数据结构求每个点最近的k个点

  • 例2:游戏中打怪时已经各个小怪的坐标,你放一个技能是圆形范围,快速求能打到的小怪


KD树:http://www.cnblogs.com/v-July-v/archive/2012/11/20/3125419.html
  • 最近邻搜索:
    这里写图片描述

  • k近邻搜索:

参考:
http://blog.csdn.net/dark_scope/article/details/15809445

上文中一直在讲最近邻问题,也就是说只找最近的那唯一一个邻居,但如果现实中需要我们找到k个最近的邻居。该如何做呢?对的,之前blog内曾相近阐述过寻找最小的k个数的问题,显然,寻找k个最近邻与寻找最小的k个数的问题如出一辙。

用大根堆保持K个最小的距离,然后用根的距离(也就是其中最大的一个)来作为判断的依据是否有更近的点不在结果中,这一点很重要!

  • 范围搜索:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值