Fast Hilbert Sort Algorithm Without Using Hilbert Indices

  • Yasunobu ImamuraEmail author
  • Takeshi Shinohara
  • Kouichi Hirata
  • Tetsuji Kuboyama
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9939)


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.


Feature Data Random Data Multimedia Data Sort Algorithm Extra Space 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Butz, A.R.: Alternative algorithm for Hilbert’s space-filling curve. IEEE Trans. Comput. 20, 424–426 (1971)CrossRefzbMATHGoogle Scholar
  2. 2.
    Hamiltonm, C.: Compact Hilbert indices. Technical report CS-2006–07, Faculty of Computer Science, Dalhousie University (2006)Google Scholar
  3. 3.
    Hamilton, C.: Compact Hilbert indices: space-filling curves for domains with unequal side lengths. Inf. Process. Lett. 105, 155–163 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Hilbert, D.: Uber die stetige Abbildung einer Linie auf ein Flachenstuck. Math. Ann. 38, 459–460 (1891)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Kamata, S., Perez, A., Kawaguchi, E.: A computation of Hilbert’s curves in N dimensional space. IEICE J76-D-II, 797–801 (1993)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Tanaka, A.: Study on a fast ordering of high dimensional data to spatial index. Master thesis, Kyushu Institute of Technology (2001). (in Japanese)Google Scholar
  8. 8.
    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)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Yasunobu Imamura
    • 1
    Email author
  • Takeshi Shinohara
    • 1
  • Kouichi Hirata
    • 1
  • Tetsuji Kuboyama
    • 2
  1. 1.Department of Artificial IntelligenceKyushu Institute of TechnologyKitakyushuJapan
  2. 2.Computer CentreGakushuin UniversityToshimaJapan

Personalised recommendations