3个版本
0.9.2 | 2021年2月5日 |
---|---|
0.9.1 | 2021年2月3日 |
0.9.0 | 2021年2月3日 |
#1518 in 数据结构
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。