Multisearch techniques for implementing data structures on a mesh-connected computer (preliminary version)

The rnrdtiseurch problem consists of efficiently performing O(n) search processes on a data structure modeled as a graph G with n constant-degree nodes. Denote by r the length of the longest search path associated with a search process, and assume that the paths are determined “online”. In this paper, we solve the multisearch problem in *Research partially supported by the Office of Naval Research uuder Contracts NOO014-84-K-0502 and NOOO14-86K-0689, the Air Force Office of Scientific Research under Grant AFOSR-9O-O1O7, the National Science Foundation under Grant DCR-S451393, and the National Library of Medicine under Grant RO1-LM05118. t Research partially supported by the Natural Sciences and Engineering Research Council of Canada. ~Research partially supported by the National Science Foundation under Grant IRI-S800514. $Research partially supported by the Natural Sciences and Engineering Research Council of Canada. WResearch partially supported by the Office of Naval Research under Contract NOO014-84-K-0502, the Air Force Office of the Scientific Research under Grant AFOSR-9O-O1O7, and the National Science Foundation under Grant DCR8451393. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republisb, requires a fee and/or specific permission. @ 1991 ACM 0897914384/91/0007/0204 $1.50 O(W + rfi) time on a & x fi mesh-connected computer. For most data structures, the search path traversed when answering one search query has length r = O(log n). For these cases, our algorithm processes O(n) snch queries in asymptotically optimsl time, O(4. The classes of graphs considered contain most of the important data structures that arise in practice (ranging from simple trees to Kirkpatrick hierarchical search DAGs). Multisearch is a useful abstraction that models many specific problems and can be used to implement parallel data structures on a mesh. Applications include interval trees and the related multiple interval intersection search, as well as hierarchical representations of polyhedra and its many applications (e.g., lines-polyhedron intersection queries, multiple tangent plane determination, intersecting convex polyhedra, and three-dimensional convex hull).