Decomposing a Set of Points into Chains, with Applications to Permutation and Circle Graphs

Abstract An O(n log n) time algorithm is given to partition a set of n points in the plane into a minimum number of ascending chains. This result is then used to derive O(n log n) time algorithms for a number of problems concerning permutation graphs, including minimum coloring—thus improving on the θ (n 2 ) time algorith of Even, Pnueli and Lempel (1972). This coloring algorithm is in turn used to derive an O(n log n) time heuristic for coloring circle graphs, with a performance guarantee (the worst-case ratio between the number of colors it uses and the chromatic number of the graph) of O(log n).