【问题标题】:rtree/btree data structure go upper from child to parenttree/b 树数据结构从子到父上移
【发布时间】:2016-01-25 09:45:00
【问题描述】:

我是 rtree/btree 数据结构的新手。树的创建是自下而上的过程,但搜索节点/范围搜索/knn搜索都是自上而下的过程。我正在使用 knn 搜索,但想做一些改进:我的数据是点的轨迹,它们在空间上彼此接近。为了在整个轨迹上搜索每个点的KNN,我想先搜索一个点,然后对于其他点,我不想从根开始,而是想从第一个的结果开始点,上去见父母。这将使我能够避免搜索很多不必要的页面。这里的问题是我怎样才能在 rtree/btree 结构中从子节点到父节点?我是否应该更改树的创建过程,并且无论何时发生拆分,都应该填充孩子的 parent[] 属性吗?这个问题还有其他更简单的方法吗?

【问题讨论】:

    标签: geospatial knn spatial-query r-tree


    【解决方案1】:

    你可以:

    1. 在子节点中存储指向父节点的指针,以了解如何在节点结构中向上移动。因此,在查询之间存储一些指向最后一个叶节点的指针,并从那里使用指向父节点的指针向上移动,检查父节点,然后再次向上移动等,直到应该选择不同子树的节点。
    2. 在每个节点中只存储指向子节点的指针。然后在查询之间保存用于在最后一个查询中从根到叶子的节点的整个路径。然后有一条最后一条路径,您可以在此集合中向后走,这表示从最后一个查询中使用的叶子向上到您应该选择不同子树的节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-18
      • 2015-04-26
      • 2012-11-05
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      相关资源
      最近更新 更多