Abstract
Hilbert sort arranges given points of a high-dimensional space with integer coordinates along a Hilbert curve. A naïve method first draws a Hilbert curve of a sufficient resolution to separate all the points, associates integers called Hilbert indices representing the orders along the Hilbert curve to points, and then, sorts the pairs of points and indices. Such a method requires an exponentially large cost with respect to both the dimensionality n of the space and the order m of the Hilbert curve even if obtaining Hilbert indices. A known improved method computes the Hilbert index for each point in O(mn) time. In this paper, we propose an algorithm which directly sorts N points along a Hilbert curve in O(mnN) time without using Hilbert indices. This algorithm has the following three advantages; (1) it requires no extra space for Hilbert indices, (2) it handles simultaneously multiple points, and (3) it simulates the Hilbert curve in heterogeneous resolution, that is, in lower order for sparse space and higher order for dense space. It, therefore, runs much faster on random data in O(NlogN) time. Furthermore, it can be expected to run very fast on practical data, such as high-dimensional features of multimedia data.
This work was partially supported by Grant-in-Aid for Scientific Research 16H02870, 26280090, 15K12102, 26280085 and 16H01743 from the Ministry of Education, Culture, Sports, Science and Technology, Japan.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We found that Tanaka’s implementation has O(mn 2 N) running time.
References
Butz, A.R.: Alternative algorithm for Hilbert’s space-filling curve. IEEE Trans. Comput. 20, 424–426 (1971)
Hamiltonm, C.: Compact Hilbert indices. Technical report CS-2006–07, Faculty of Computer Science, Dalhousie University (2006)
Hamilton, C.: Compact Hilbert indices: space-filling curves for domains with unequal side lengths. Inf. Process. Lett. 105, 155–163 (2008)
Hilbert, D.: Uber die stetige Abbildung einer Linie auf ein Flachenstuck. Math. Ann. 38, 459–460 (1891)
Kamata, S., Perez, A., Kawaguchi, E.: A computation of Hilbert’s curves in N dimensional space. IEICE J76-D-II, 797–801 (1993)
Kamel, I., Faloutsos, C.: Hilbert R-tree: an improved R-tree using fractals. In: The 20th International Conference on Very Large Data Bases (VLDB), pp. 500–509 (1994)
Tanaka, A.: Study on a fast ordering of high dimensional data to spatial index. Master thesis, Kyushu Institute of Technology (2001). (in Japanese)
Tashima, K.: Study on efficient method of insertion for spatial index structure by using Hilbert sort. Master thesis, Kyushu Institute of Technology (2011). (in Japanese)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Imamura, Y., Shinohara, T., Hirata, K., Kuboyama, T. (2016). Fast Hilbert Sort Algorithm Without Using Hilbert Indices. In: Amsaleg, L., Houle, M., Schubert, E. (eds) Similarity Search and Applications. SISAP 2016. Lecture Notes in Computer Science(), vol 9939. Springer, Cham. https://doi.org/10.1007/978-3-319-46759-7_20
Download citation
DOI: https://doi.org/10.1007/978-3-319-46759-7_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-46758-0
Online ISBN: 978-3-319-46759-7
eBook Packages: Computer ScienceComputer Science (R0)