如果你查看k-d树的维基百科条目,你会看到这个插图,它将点和平面分割成矩形。我的问题是如何获得矩形的结果集?我认为每个通向叶节点的“路径”可能会给我边界。是否有一般的方法可以对任意深度的N个点进行此操作?请注意,我要求的不是超矩形结构的k-d树,其中给定输入是一组矩形,然后可以查询范围搜索等。我的输入是一组随机点,我想输出“镶嵌”或完全细分笛卡尔空间的矩形集合。
感谢eh9的编辑。只是为了澄清,输入是从一组随机点构建的k-d树,输出是生成的矩形集合。同时感谢Jerdak提供的“平凡”解决方案: 实际上只需要从根节点开始遍历整棵树,并在每个轴深度处分割矩形。唯一额外的信息是原始矩形的外界边界。一旦访问完所有节点,就可以返回完整的集合。