I/O-efficient dynamic point location in monotone planar subdivisions

We present an efficient external-memory dynamic data structure for point location in monotone planar subdivisions. Our data structure uses O(N/B) disk blocks to store a monotone subdivision of size N, where B is the size of a disk block. It supports queries in O(logi N) I/OS (worst-case) and updates in O(lo& N) I/OS (amortized). We also propose a new variant of B-trees, called leuelbalanced B-trees, which allow insert, delete, merge, and split operations in O((l+ $ logM,B f) log, N) I/OS (amortized), 2 5 b 2 B/2, even if each node stores a pointer to its parent. Here M is the size of main memory. Besides being essential to our point-location data structure, we believe that level-balanced B-trees are of significant independent interest. They can, for example, be used to dynamically maintain a planar St-graph using O((1 + $10g~,~ $$) log, N) = O(logi N) I/OS (amortized) per update, so that reachability queries can be answered in O(log, N) I/OS (worst case).

[1]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[2]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[3]  Mark H. Overmars,et al.  Range searching in a set of line segments , 1985, SCG '85.

[4]  Roberto Tamassia,et al.  A unified approach to dynamic point location, ray shooting, and shortest paths in planar maps , 1996, SODA '93.

[5]  Lars Arge External-Memory Algorithms with Applications in Geographic Information Systems , 1997 .

[6]  Kurt Mehlhorn,et al.  A new data structure for representing sorted lists , 1980, Acta Informatica.

[7]  Herbert Edelsbrunner,et al.  A Space-Optimal Solution of General Region Location , 1981, Theor. Comput. Sci..

[8]  Siu-Wing Cheng,et al.  New results on dynamic planar point location , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[9]  Roberto Tamassia,et al.  Fully Dynamic Point Location in a Monotone Subdivision , 1989, SIAM J. Comput..

[10]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[11]  Sridhar Ramaswamy,et al.  Theory and practice of I/O-efficient algorithms for multidimensional batched searching problems , 1998, SODA '98.

[12]  H. Edelsbrunner A new approach to rectangle intersections part I , 1983 .

[13]  Robert E. Tarjan,et al.  Planar point location using persistent search trees , 1986, CACM.

[14]  Roberto Tamassia,et al.  Algorithms for Plane Representations of Acyclic Digraphs , 1988, Theor. Comput. Sci..

[15]  Jeffrey Scott Vitter,et al.  Optimal dynamic interval management in external memory , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[16]  Jyh-Jong Tsay,et al.  External-memory computational geometry , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[17]  Kurt Mehlhorn,et al.  Dynamic point location in general subdivisions , 1992, SODA '92.

[18]  Jeffrey Scott Vitter External memory algorithms , 1998, PODS '98.

[19]  Jeffrey Scott Vitter,et al.  External-Memory Algorithms for Processing Line Segments in Geographic Information Systems , 1996 .

[20]  Mark H. Overmars,et al.  The Design of Dynamic Data Structures , 1987, Lecture Notes in Computer Science.