我有一个应用程序,其中希尔伯特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距离度量标准,您也许可以更轻松地进行计算。

10-04 13:23