Efficient Searching for Multi–dimensional Data Made Simple (Extended Abstract) Enrico Nardelli 1 , Maurizio Talamo 2 , and Paola Vocca 3 1 Dipartimento di Matematica Pura ed Applicata, Universit` a di L’Aquila, ViaVetoio, Coppito I-67010 L’Aquila, Italy, nardelli@univaq.it 2 Dipartimento di Informatica e Sistemistica, Universit` a di Roma “La Sapienza”, Via Salaria 113, I–00198 Rome, Italy, talamo@dis.uniroma1.it 3 Dipartimento di Matematica Universit` a di Roma “TorVergata”, Via della Ricerca Scientifica, I–00133 Rome, Italy, vocca@mat.uniroma2.it Abstract. We introduce an innovative decomposition technique which reduces a multi–dimensional searching problem to a sequence of one–dimensional pro- blems, each one easily manageable in optimal time×space complexity using tra- ditional 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 show how to preprocess a set of S IN d 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, distribu- ted, 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. 1 Introduction The efficient representation of multi–dimensional points set plays a central role in many large–scale computations, including, for instance, object management in distri- buted environments (CORBA, DCOM); object–oriented and deductive databases ma- nagement [2,5,25,10,19], and spatial and temporal data manipulation [20,24]. All these applications manage very large amounts of multi–attribute data. Such data can be con- sidered as points in a d–dimensional space. Hence, the key research issue, in order to provide "good" implementations of these applications, is the design of an efficient data structure for searching in the d–dimensional space. A fundamental search operation is the exact match query, that is, test the presence of a point in the multi–dimensional set J. Nˇ esetˇril (Ed.): ESA’99, LNCS 1643, pp. 339–353, 1999. c Springer-Verlag Berlin Heidelberg 1999