We define an atom tree of a graph as a generalization of a clique tree: its nodes are the atoms obtained by clique minimal separator decomposition, and its edges correspond to the clique minimal separators of the graph.Given a graph G, we compute an atom tree by using a clique tree of a minimal triangulation H of G. Computing an atom tree with such a clique tree as input can be done in O(min(nm,m+nf)), where f is the number of fill edges added by the triangulation. When both a minimal triangulation and the clique minimal separators of G are provided, we compute an atom tree of G in O(m+f) time, which is in O(n2) time.We give an O(nm) time algorithm, based on MCS, which combines in a single pass the 3 steps involved in building an atom tree: computing a minimal triangulation, constructing a clique tree, and constructing the corresponding atom tree.Finally, we present a process which uses a traversal of a clique tree of a minimal triangulation to determine the clique minimal separators and build the corresponding atom tree in O(n(n+t)) time, where t is the number of 2-pairs of H (t is at most m¯−f, where m¯ is the number of edges of the complement graph); to complete this, we also give an algorithm which computes a minimal triangulation in O(n(n+m¯)) time, thus providing an approach to compute the decomposition in O(n(n+m¯)) time.