#elements #spatial #low #r-tree #numbers #r-trees

no-std anti-r

元素数量少时优于r-trees的空间数据结构

3个版本

0.9.2 2021年2月5日
0.9.1 2021年2月3日
0.9.0 2021年2月3日

#1518 in 数据结构

Apache-2.0

13KB
134

Anti-R

Anti-R包含一种替代空间数据结构,对于节点数量较少的情况,性能优于R-Trees。

性能

R-Trees和anti-r在所有操作上的时间复杂度相同,搜索和更新为O(log(n)),创建为O(n*log(n))。

它们仅通过常数因子不同,要么是x或y在O(log_b(n+x)+y)中,对数底数,Anti-R为2,R-Tree可配置,一般为3-6。

Anti-R在更新所有元素和批量加载方面始终比R-Tree快一个常数因子,因此在n较小的情况下更为明显。

Anti-R的完全更新和批量加载速度相同。对于R-Trees,完全更新永远不值得,完全重建更快。

对于Anti-R,从0到略多于10,000个元素,边界框查询速度更快。从0到大约1000个元素,距离查询速度更快。

如果元素分布奇怪,R-Trees可能会更快地赶上。

有关更多详细信息,请参阅bench目录和cargo bench(target/criterion)的输出。

请注意,这已经与rstar crate进行了基准测试,这可能是现有R-Tree实现中速度不是最快的。但是,基准结果完全符合预期。

贡献

请参阅仓库根目录下的README.md。

无运行时依赖