关于range search 和kd树

毕业设计的题目是关于range search的, 这个问题的背景是搜索机器人的领域,也就是说,如果确定机器人的领域范围是半径为 3米地圆,那么我的任务就是快速找到在这个范围内的所有机器人。在实体中,这个由传感器可以很好地解决;但如果机器人没有传感器, 那么可以通过通信的方法解决,用ad-hoc。而问题是, 在一个仿真环境中呢?

 

那么就需要设计算法进行搜索。我的输入是机器人的位置和领域半径,输出是领域内机器人的个数和位置。

 

最笨的办法是:选取一个点,然后遍历每一个点,分别计算欧氏距离,然后和领域半径比较,如果小于半径,那么输出坐标,并且数目加一。

 

这个办法的时间复杂度是你n^2,显然,实时性很低。

 

于是,可以找到一个比较好的方法,那就是用k-d树。

 

目前我用matlab写程序,那么遇到的问题是,怎样用matlab很好地表示出二叉树的结构?

 

如果这个方法很好地实现,那么复杂度可以降到n*logn。

 

怎样继续改进这个算法呢?

 

正在探索……

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值