基于路网距离的最近邻居查询

最近邻搜索算法指在一个基于路网的图中查找离查询点最近的k个特定的点,比如加油站。

现有的基于迪杰斯特拉的搜索算法具有很大的盲目性,需要查询很多无关结点。如图所示,v6为查询点,而v7和v8为能满足要求的目标点,取k=1。显然有结点v7是我们查询的结果,但采用迪杰斯特拉算法需要遍历结点:“v1、v2、v3、v4、v5、v6、v7、v9、v10”。显然在查询点右侧是肯定不存在查询结果的。针对于此缺陷作者提出了自己的G-Tree索引。

作者将图划分为若干相等的区域,小区域作为树的叶子结点,相邻的小区域组合为大区域。如上图我们可以将图分为g1 =“v1、v2、v5、v6、v9、v10”和g2 =“v3、v4、v7、v8、v11、v12”两部分。给定查询点v6,目标点v7、v8,k为1。仍利用迪杰斯特拉的求解思想:

(1)易得查询结果存在于区域g2中,而不存在于g1中;

(2)计算包含目标点区域中离查询点近的实际路网距离,直到计算出k=1个目标点。

显然上述计算过程通过计算g1避免了计算查询点到g1区域中任意点之间的实际路网距离,即解决了以往计算盲目性的问题。

 

 

论文:G-Tree: An Efficient Index For KNN Search On Road Networks 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值