### Modular decomposition and transitive orientation

Ross M. McConnell, Jeremy P. Spinrad
1999 Discrete Mathematics
A module of an undirected graph is a set X of nodes such for each node x not in X, either every member of X is adjacent to x, or no member of X is adjacent to x. There is a canonical linear-space representation for the modules of a graph, called the modular decomposition. Closely related to modular decomposition is the transitive orientation problem, which is the problem of assigning a direction to each edge of a graph so that the resulting digraph is transitive. A graph is a comparability
more » ... if such an assignment is possible. We give O(n + m) algorithms for modular decomposition and transitive orientation, where n and m are the number of vertices and edges of the graph. This gives linear time bounds for recognizing permutation graphs, maximum clique and minimum vertex coloring on comparability graphs, and other combinatorial problems on comparability graphs and their complements. (~) 1999 Published by Elsevier Science B.V. All rights reserved Introduction A partial order may be viewed as a transitive directed acyclic graph. A comparability graph is the graph obtained by ignoring the edge directions of a transitive directed acyclic graph. It is well known that every partial order is the intersection of a set of total (linear) orders . A two-dimensional partial order is a partial order that is the intersection of two linear orders, and a permutation graph is the corresponding comparability graph. These classes of graphs and partial orders arise in many combinatorial problems and have applications in scheduling theory. For a survey, see [18, 24] . Let V(G) denote the vertices of a graph G. A module is a set X of vertices such that for any x E