I/O-Efficient Dynamic Point Location in Monotone Subdivisions

Pankaj K. Agarwal, Lars Arge, Gerth Stølting Brodal, and Jeff Vitter

In Proc. 10th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 11-20, 1999.


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(logB2 N) I/Os (worst-case) and updates in O(logB2 N) I/Os (amortized).

We also propose a new variant of B-trees, called level-balanced B-trees, which allow insert, delete, merge, and split operations in O((1+(b/B)logM/B (N/B))logb N) I/Os (amortized), 2≤ bB/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+(b/B)logM/B (N/B))logb N)=O(logB2 N) I/Os (amortized) per update, so that reachability queries can be answered in O(logB N) I/Os (worst case).

Copyright notice

Copyright © 1999 by the Association for Computer Machinery, Inc., and the Society for Industrial and Applied Mathematics.

Online version

soda99.pdf (294 Kb)



BIBTEX entry

  author = "Pankaj K. Agarwal and Lars Arge and Gerth St{\o}lting Brodal and Jeff Vitter",
  booktitle = "Proc. 10th Annual ACM-SIAM Symposium on Discrete Algorithms",
  doi = "doi.acm.org/10.1145/314500.314525",
  isbn = "0-89871-434-6",
  pages = "11-20",
  title = "{I}/{O}-Efficient Dynamic Point Location in Monotone Subdivisions",
  year = "1999"