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

Abstract

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
JournalBIT
Volume30
Issue number3
DOIs
StatePublished - Sep 1990

Keywords

  • E 2
  • F 2.2

Fingerprint

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

Cite this