10.1145/147508.147511
Chazelle, Bernard
Bernard
Chazelle
Herbert Edelsbrunner
Herbert
Edelsbrunner0000-0002-9823-6833
An optimal algorithm for intersecting line segments in the plane
ACM
1992
2018-12-11T12:06:37Z
2019-04-26T07:22:39Z
journal_article
https://research-explorer.app.ist.ac.at/record/4046
https://research-explorer.app.ist.ac.at/record/4046.json
The main contribution of this work is an O(n log n + k)-time algorithm for computing all k intersections among n line segments in the plane. This time complexity is easily shown to be optimal. Within the same asymptotic cost, our algorithm can also construct the subdivision of the plane defined by the segments and compute which segment (if any) lies right above (or below) each intersection and each endpoint. The algorithm has been implemented and performs very well. The storage requirement is on the order of n + k in the worst case, but it is considerably lower in practice. To analyze the complexity of the algorithm, an amortization argument based on a new combinatorial theorem on line arrangements is used.