我的应用程序从地图文件中加载约 100k 项(矩形)的集合,然后构建 MX-CIF 四叉树作为快速查找的索引。四叉树是在启动时构建的,它的内容在运行时不会改变。
(在 MX-CIF 四叉树中,项目由完全包含它的最小节点存储......内部和叶节点都可能包含项目)
在第一遍中,我找到了集合的外部范围,因此我知道根节点有多大。
在第二遍中,我将每个项目添加到完全包含它的最小节点。一旦一个节点传递了一定数量的项目,它就会被拆分,并且子节点会在新的父节点和 4 个子节点之间重新分配。
鉴于我已经预先准备好所有项目,我怎样才能更有效地构建树?