Efficient Searching for Multi—dimensional Data Made Simple

(Extended Abstract)
  • Enrico Nardelli
  • Maurizio Talamo
  • Paola Vocca
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1643)


We introduce an innovative decomposition technique which reduces a multi—dimensional searching problem to a sequence of one—dimensional problems, each one easily manageable in optimal time×space complexity using traditional searching strategies. The reduction has no additional storage requirement and the time complexity to reconstruct the result of the original multi—dimensional query is linear in the dimension.

More precisely, we showhowto preprocess a set of S ⊑ INd of multi—dimensional objects into a data structure requiring O(m log n) space, where m = {S} and n is the maximum number of different values for each coordinate. The obtained data structure is implicit, i.e. does not use pointers, and is able to answer the exact match query in 7(d - 1) steps. Additionally, the model of computation required for querying the data structure is very simple; the only arithmetic operation needed is the addition and no shift operation is used.

The technique introduced, overcoming the multi—dimensional bottleneck, can be also applied to non traditional models of computation as external memory, distributed, and hierarchical environments. Additionally, we will show how the proposed technique permits the effective realizability of the well known perfect hashing techniques on real data.

The algorithms for building the data structure are easy to implement and run in polynomial time.


Bipartite Graph Space Complexity External Memory Match Query Place Function 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Aggarwal and J. S. Vitter. The input/output complexity of sorting and related problems. Communications of the ACM, 31(9):1116–1127, September 1988.CrossRefMathSciNetGoogle Scholar
  2. 2.
    R. Agrawal, A. Borgida, and H. V. Jagadish. Efficient management of transitive relationship in large data and knowledge bases. In Proceedings of the International Conference on the Management of Data, pages 253–262, Portland, OR, 1989.Google Scholar
  3. 3.
    R. Bayer and C. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1(3):173–179, 1972.CrossRefGoogle Scholar
  4. 4.
    R. Devine. Design and implementation of DDH: A distributed dynamic hashing algorithm. In 4th Int. Conf. on Foundations of Data Organization and Algorithms (FODO), Chicago, 1993.Google Scholar
  5. 5.
    D. Mayer and B. Vance. A call to order. In Proceedings of the International Conference on Principle of Database Systems, 1993.Google Scholar
  6. 6.
    A. Fiat and M. Naor. Implicit O(1) probe search. In Proceedings of the Twenty First Annual ACM Symposium on Theory of Computing, pages 336–344, Seattle,Washington, 1989.Google Scholar
  7. 7.
    A. Fiat, M. Naor, J. P. Schmidt, and A. Siegel. Non-oblivious hashing. In Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing: Chicago, Illinois, May 2-4, 1988, pages 367–376, NewYork, NY 10036, USA, 1988. ACM Press.Google Scholar
  8. 8.
    M. L. Fredman, J. Komlós, and E. Szemeredi. Sorting a sparse table with O(1) worst case access time. In Proc. 23rd Ann. IEEE Symp. on Foundations of Computer Science, pages 165–169, 1982.Google Scholar
  9. 9.
    T. Hagerup. Sorting and searching on the word RAM. In M. Morvan, C. Meinel, and D. Krob, editors, STACS: Annual Symposium on Theoretical Aspects of Computer Science, pages 366–398. LNCS 1373, Springer-Verlag, 1998.Google Scholar
  10. 10.
    P. C. Kanellakis, S. Ramaswamy, D. E. Vengroff, and J. S. Vitter. Indexing for data models with constraints and classes. Journal of Computer and System Science, 52:589–612, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    D. J. Kleitman and K. J. Winston. The asymptotic number of lattices. Annuals of Discrete Matemathics, 6:243–249, 1980.zbMATHMathSciNetCrossRefGoogle Scholar
  12. 12.
    B. Kröll and P. Widmayer. Distributing a search tree among a growing number of processors. In ACM SIGMOD Int. Conf. on Management of Data, pages 265–276, Minneapolis,MN, 1994.Google Scholar
  13. 13.
    B. Kröll and P. Widmayer. Balanced distributed search trees do not exists. In S. Akl et al., editor, 4th Int. Workshop on Algorithms and Data Structures (WADS’95), pages 50–61, Kingston, Canada, 1995. LNCS 955, Springer-Verlag.Google Scholar
  14. 14.
    Douglas Lea. Digital and Hilbert K-D trees. Information Processing Letters, 27(1):35–41, 1988.CrossRefGoogle Scholar
  15. 15.
    W. Litwin, M. A. Neimat, and D. A. Schneider. LH* —linear hashing for distributed files. In ACM SIGMOD Int. Conf. on Management of Data,Washington, D.C., 1993.Google Scholar
  16. 16.
    W. Litwin, M. A. Neimat, and D. A. Schneider. LH* —a scalable distributed data structure. ACM Trans. Database Systems, 21(4):480–525, 1996.CrossRefGoogle Scholar
  17. 17.
    D. Morrison and R. Patricia. Practical algorithm to retrieve information coded in alphanumeric. Journal of the ACM, 15:514–534, 1968.CrossRefGoogle Scholar
  18. 18.
    F. P. Preparata and M. I. Shamos. Computational Geometry. Springer-Verlag, Berlin, New York, 1985.Google Scholar
  19. 19.
    S. Ramaswamy and S. Subramanian. Path caching:Atechnique for optimal external searching. In Proc. ACM Symp. Principles of Database System, pages 25–35, 1994.Google Scholar
  20. 20.
    H. Samet. The Design and Analysis of Spatial Data Structures. Addison-Wesley, Reading, MA, 1990.Google Scholar
  21. 21.
    M. Talamo and P. Vocca. Compact implicit representation of graphs. In J. Hromkovič and O. Sýkora, editors, Proceedings of 24th InternationalWorkshop on Graph-Theoretic Concepts in Computer Science WG’98, pages 164–176. LNCS 1517, Springer-Verlag, 1998.Google Scholar
  22. 22.
    M. Talamo and P. Vocca. A data structure for lattice representation. Theoretical Computer Science, 175(2):373–392, April 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    M. Talamo and P. Vocca. A time optimal digraph browsing on a sparse representation. Technical Report 8, Matemathics Department, University of Rome “Tor Vergata”, 1997.Google Scholar
  24. 24.
    A. Tansel, J. Clifford, S. Gadia, S. Jajodia, A. Segev, and R. Snodgrass, editors. Temporal Databases: Theory, Design, and Implementation. Benjamin/Cummings, Redwood City, CA, 1993.Google Scholar
  25. 25.
    M. Yannakakis. Graph-theoretic methods in database theory. In ACM, editor, PODS’ 90. Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems: April 2-4, 1990, Nashville, Tennessee, volume 51(1), NewYork, NY 10036, USA, 1990. ACM Press.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Enrico Nardelli
    • 1
  • Maurizio Talamo
    • 2
  • Paola Vocca
    • 3
  1. 1.Dipartimento di Matematica Pura ed ApplicataUniversità di L’AquilaL’AquilaItaly
  2. 2.Dipartimento di Informatica e SistemisticaUniversità di Roma “La Sapienza”RomeItaly
  3. 3.Dipartimento di MatematicaUniversità di Roma “Tor Vergata”RomeItaly

Personalised recommendations