百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
R

rtree

> 编程语言
开源

在 Java 中实现不变的内存 R 树和 R*-树,采用反应式 API

1.1K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

在 Java 中实现不变的内存 R 树和 R*-树,采用反应式 API

rtree ===========

在内存中实现了不可变的 2D R-tree,使用 RxJava Observables 来对搜索结果进行反应式处理。

实现不可变性的算法很可爱。对于插入/删除操作,它需要递归到所需的叶子节点,然后再递归回上方,替换父节点直至根节点。其核心代码位于 Leaf.java 和 NonLeaf.java。

Backpressure 支持需要一些复杂性,因为实际上需要保留树中某个位置的书签,并随后返回继续遍历。一个不可变的栈包含了路径节点的节点和子节点索引,这在这里起到了救命作用,并放弃了递归,转而使用循环来防止栈溢出(不幸的是,Java 不支持尾递归!)。Maven 站点报告 在这里,包括 javadoc。

特性 --------------- * 适用于并发的不可变 R-tree * Guttman 的启发式算法 (二次分割器) (论文) * R*-tree 启发式算法 (论文) * 可自定义 分割器 和 选择器

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言