我有一个应用程序,其中希尔伯特R-Tree (wikipedia) (citeseer)似乎是合适的数据结构。具体来说,它需要对数据集进行相当快的空间查询,而该数据集会经历很多更新。
但是,据我所知,该数据结构的算法描述都没有提到如何实际计算所需的希尔伯特值;这是沿着Hilbert Curve到该点的距离。
那么关于如何进行计算的任何建议呢?
最佳答案
好玩的问题!
我做了一些谷歌搜索,好消息是,我找到了希尔伯特值(value)的实现。
潜在的坏消息是,它在Haskell中...
http://www.serpentine.com/blog/2007/01/11/two-dimensional-spatial-hashing-with-space-filling-curves/
它还提出了一个Lebesgue距离度量标准,您也许可以更轻松地进行计算。