Storing line segments in partition trees

Mark H. Overmars*, Haijo Schipper, Micha Sharir

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

16 Scopus citations


We design two variants of partition trees, called segment partition trees and interval partition trees, that can be used for storing arbitrarily oriented line segments in the plane in an efficient way. The raw structures use O(n log n) and O(n) storage, respectively, and their construction time is O(n log n). In our applications we augment these structures by certain (simple) auxiliary structures, which may increase the storage and preprocessing time by a polylogarithmic factor. It is shown how to use these structures for solving line segment intersection queries, triangle stabbing queries and ray shooting queries in reasonably efficient ways. If we use the conjugation tree as the underlying partition tree, the query time for all problems is O(nλ), where γ=log2(1+√5)-1≈0.695. The techniques are fairly simple and easy to understand.

Original languageEnglish
Pages (from-to)385-403
Number of pages19
Issue number3
StatePublished - Sep 1990


  • E 2
  • F 2.2


Dive into the research topics of 'Storing line segments in partition trees'. Together they form a unique fingerprint.

Cite this