Recognizing i-triangulated graphs in O(mn) time
F. Roussel, I. Rusu
Universite d'Orleans, L.I.F.O., B.P. 6759,
45067 Orleans Cedex 2, France
Abstract We use breadth-rst search and contractions of subgraphs to give a new (and better, from a
complexity point of view) algorithm to recognize i-triangulated graphs.
Keywords: recognition algorithm, breadth-rst search, i-triangulated graph
1 The algorithm
A graph is i-triangulated [2] if every odd cycle on ve vertices or more contains at least two noncrossing chords. Several recognition algorithms exist for this class (see [5, 6]), the best of which needs
O(mn2 ) time. Our aim here is to give an O(mn) recognition algorithm.
We denote by G = (V; E ) the connected graph we will be working on and by F = (V (F ); E (F ))
every other graph. The neighborhood of a vertex x in G (respectively in F ), i.e. the set of vertices
(also called neighbors of x) which are adjacent to x in G (respectively F ) is N (x) (respectively NF (x)).
For an induced subgraph H of G, T (H ) is the set of vertices in G which are adjacent to every vertex
in H . If H is an edge xy, then we will write T (x; y) instead of T (H ). A graph H is called uniform if
for every two edges x1 y1 , x2 y2 of it we have T (x1 ; y1 ) = T (x2 ; y2 ).
Recall that a graph is called complete multi-partite if its vertex set can be partitioned into stable
sets S1 ; S2 ; : : : ; Sl such that, for every i 6= j , each vertex in Si is adjacent to each vertex in Sj . Such a
stable set will be called proper if its cardinality is at least 2. It is easy to see that a graph is complete
multi-partite i it does not contain three vertices a; b; c such that ab 2 E , but ca; cb 62 E .
Besides the breadth rst search technique (abbreviated BFS), that, we assume, is very well known
to the reader, we need a lemma and an algorithm. The easy lemma below (see also [1]) implies that
in an i-triangulated graph, every induced bipartite 2-connected graph is uniform.
Lemma 1 Let G be an i-triangulated graph and let B be a bipartite 2-connected induced subgraph of
G. Then every vertex x 2 V ?V (B ) satises exactly one of the following statements: (i) N (x)\V (B ) =
;; (ii) N (x) \ V (B ) = V (B ); (iii) fxg [ V (B ) induces a connected bipartite graph.
The algorithm is the linear one given by Rose, Tarjan and Leuker [4] (see also [3]) to recognize
triangulated graphs, i.e. graphs with no chordless cycle on four vertices or more. When the answer is
\no", this algorithm (that we call Find-Cycle) allows us to nd a chordless cycle in the graph.
Now, we can describe the recognition algorithm for i-triangulated graphs as follows:
Algorithm Recognize (input: a graph G = (V; E ); output: either \TRUE" or \FALSE").
Step 1. Use algorithm Find-Cycle to nd, if possible, a chordless cycle C in G. If C is not found,
goto Step 7; otherwise compute T := T (C ). If C is odd or not uniform, then return
\FALSE".
Step 2. Use BFS to build a largest tree H , which is a partial subgraph of G ? T , such that H
contains at least one edge of C and is uniform. Denote by ? the subgraph induced in G
by V (H ) (then C is an induced subgraph of ? and T (?) = T (C ) = T ).
Step 3. Test if ? is a bipartite graph; if not, then return \FALSE".
Step 4. If ? is a complete bipartite graph: then test if T induces a complete multi-partite graph
or not. If not, then return \FALSE". Otherwise, for every proper stable set S of T ,
remove S from T and add S to V (?). Let ? be the graph induced by the new V (?).
Else test if T induces a clique or not. If not, then return \FALSE".
Step 5. For every x in V (?), compute L(x) := the connected component of x in V ? (V (?) ?
fxg) ? T . Test if, for every x; y 2 V (?), L(x) \ L(y) = ;. If not, then return \FALSE".
1
Step 6. Contract ? into one vertex . Add a new vertex w adjacent exclusively to and all the
vertices in T . Denote the new graph by Gj? . Put G := Gj? and goto Step 1.
Step 7. Return \TRUE".
The main purpose of Steps 1, 2, 3 above is to nd, if possible, a chordless cycle on at least four
vertices and to extend it to a maximal bipartite graph ? around which the rest of the graph would
be regularly organised. The input of Step 2 is the cycle C (found in Step 1), for which T := T (C )
has been computed in Step 1 (and, by Lemma 1 we know that for every edge xy in C we should have
T (x; y) = T (C ), if G is i-triangulated). Then BFS is used to explore the graph and to build H . We
start BFS with a vertex c in C (that is, we put V (H ) := fcg) and, at every step of the algorithm BFS,
we consider a vertex u in H and one of its neighbors, s (at the very beginning, when u = c, we take s
in C too, in order to insure that at least one edge of C exists in H ). If s has already been considered,
we do nothing. Otherwise, we add s and us to H i T (u; s) = T . Obviously, all the vertices in C are
in H , so C is an induced subgraph of ?.
In Steps 4 and 5,Sthe vertices in V ? V (?) are partitioned into sets L(x) (x 2 V (?)), T and
R = V ? V (?) ? T ? x2V (?) L(x), which must have the indicated properties if G is an i-triangulated
graph. A particular treatment is necessary when ? is a complete bipartite graph; in this case, ? is
augmented to a complete multi-partite graph.
Step 6 performs the reduction of the graph G into a smaller graph, with the same nature as G
(i.e. i-triangulated or not), and indicates that the tests are to be continued on the smaller graph.
Contracting ? into one vertex consists in replacing the subgraph ? with one new vertex which is
adjacent to every neighbor in V ? V (?) of every vertex of ?. By the denition, NG ? (w) = T [ f g is
a clique and NG ? (w) NG ? ( ).
As soon as a graph with no cycle is found in Step 1, the algorithm is stopped and gives the answer
\TRUE" (Step 7).
j
j
j
2 Main Theorem
The theorem below insures that the algorithm works correctly:
Theorem 1 The initial graph G is i-triangulated i the algorithm Recognize returns \TRUE".
Proof of Theorem 1. We use induction and we notice that for graphs with at most three vertices
the algorithm gives the desired answer. Then we assume Theorem 1 true for graphs smaller than G.
I. The \only if" part.
Let G be i-triangulated and consider successively the steps of the algorithm.
Step 1. In the case where G is not only i-triangulated but also triangulated, then in Step 1 no
cycle is found, so the algorithm goes to Step 7 and stops giving the answer \TRUE".
Step 2. Now, if G contains at least one chordless cycle on four vertices or more, in Step 2 we
obtain the connected induced subgraph ? of G, which has H as a spanning tree and C as an induced
subgraph. Since H is uniform (by construction) and contains at least one edge in C , then for every
edge xy in H we have T (x; y) = T (C ) = T . We have nothing to prove here.
Step 3. Because of Step 2, we know that H is uniform. Let us rst prove that ? must be trianglefree. If this is not the case, let xyz be a triangle in ?. If at least one edge of the triangle is an edge of
H (say xy), we have T (x; y) ? T fz g, so T (x; y) 6= T , a contradiction. So no edge is in H . Since H
is a tree, we can see that either the path joining x and y in H does not contain z or the path joining z
to y in H does not contain x. Without loss of generality, we can suppose that the former holds Then
P and the edge xy of ? form a cycle on four or more vertices, for which Lemma 1 can be applied
(using z ) to deduce that z is adjacent to every vertex of the cycle (and thus to the endpoints of at
least one edge of H ), so z should be in T , a contradiction.
Since G is i-triangulated and ? is an induced subgraph of G, ? cannot contain odd cycles on at
least ve vertices. Therefore ? is bipartite.
2
Step 4. If ? is a complete bipartite graph (not an edge, since it contains C ) and T is not a
complete multi-partite graph, then ? contains two nonadjacent vertices a; b, while T contains three
vertices c; d; e such that de 2 E , but cd; ce 62 E ; consequently, a; b; c; d; e induce an odd cycle which
has no pair of non-crossing chords, a contradiction. Then, as indicated in the algorithm, every proper
stable set S of T is removed from T and added to V (?) such that the new graph ? is complete
multi-partite, while T is a (possibly empty) clique.
Finally, if ? is bipartite but not complete bipartite, then T must be a clique, otherwise three
vertices a; b; c 2 V (?) such that bc 2 E , but ab; ac 62 E and two nonadjacent vertices d; e in T induce
again an odd cycle which has no pair of non-crossing chords, a contradiction.
Step 5. Notice that ? is either a complete multi-partite graph with k 3 proper stable sets
S1 ; S2 ; : : : ; Sk , or a bipartite graph. In both cases we denote by ?0 (respectively T 0) the old graph ?
(respectively the old set T ), i.e. the one we had before performing Step 4.
Now, if in Step 5 the graph ? is a complete multi-partite graph (with k 3), then we assume
without loss of generality that ?0 is induced by S1 [ S2 , so that T 0 = S3 [ : : : [ Sk [ T .
On the other hand, if in Step 5 the graph ? is bipartite, then ?0 = ? (the two vertex sets of the
bipartition are still denoted S1 ; S2 ) and T 0 = T .
In both cases T is a clique and H is a spanning tree of ?0 . Moreover, every vertex of T is adjacent
to all the vertices of ?.
Claim 1 In ?, every edge xy satises T (x; y) ? V (?) = T (so that T (?) = T ).
Proof of Claim 1. If this is not true, then an edge xy of E (?) exists such that T (x; y) ? V (?) 6= T .
Since x; y 2 V (H ), we have T N (x) ? V (?) and T N (y), so T T (x; y) ? V (?). Then a vertex
z in V ? (T [ V (?)) must exist such that z is adjacent to both x and y.
By treating together the two cases with respect to ?, the following situations can occur:
xy is an edge of H ; this is impossible, since then z should be in T 0 (i.e. either in S3 [ ::: [ Sk [ T
if ? is a complete multi-partite graph, or in T if ? is a bipartite graph), a contradiction.
xy is an edge of ?0 ? H ; then xy forms with the unique path joining x; y in H a chordless cycle
for which Lemma 1 can be applied to deduce that z should have been in T 0, a contradiction.
xy is an edge of ?, but not of ?0 ; this can happen only in the situation where ? is complete
multi-partite (with k 3). Then assume without loss of generality that x 2 Sj ; y 2 Sj+1 such that
j 2. By Lemma 1 for z and the bipartite graph induced by Sj ; Sj+1 , the vertex z is adjacent to
every vertex in Sj [ Sj+1 . In particular, it is adjacent to two nonadjacent vertices y; u in Sj+1 . If z
is adjacent to every vertex in ?, then we are done (z should be in T , a contradiction). Otherwise,
assume there exists a vertex a 2 Sq (1 q k) nonadjacent to z . For every index r 6= q; j + 1, take
b 2 Sr and notice that a; b induce with u; y; z a bad cycle on ve vertices, except if z is adjacent to b.
Then (since r 6= q; j + 1 was arbitrarily chosen and b 2 Sr was arbitrarily chosen too) z is completely
adjacent to every set Sr (r 6= q; for r = j + 1, this was already proved). Moreover, z is adjacent
to no vertex of Sq (otherwise, by Lemma 1 for Sq ; Sj , it should be adjacent to every vertex in Sq , a
contradiction).
Now, if q 6= 1; 2, then z is adjacent to every vertex in ?0 , so it should be in T 0 = S3 [ : : : [ Sk [ T ,
a contradiction. If q = 1 (and similarly for q = 2), then take c1 ; c2 2 S2 and recall that , by Lemma
1, the cycle given by z; c1; a; c2 must be uniform. So T (c1; z ) = T (c1 ; a) = T (c2 ; z ) = T (c2 ; a) = T 0,
therefore z should have been put in H in Step 2, a contradiction.
Claim 2 For every x; y 2 V (?); L(x) \ L(y) = ;.
Proof of Claim 2. By contradiction, assume there exist two vertices x; y in ? such that L(x) \
L(y) 6= ;, and take x; y as close as possible (i.e. such that the shortest path P joining them in ?
has minimum length). Then there exists a chordless path P 0 joining x; y in the subgraph induced by
L(x) [ L(y). The cycle induced by V (P ) [ V (P 0 ) is a chordless cycle (by the choice of x; y) on three
vertices or more. We show that, whatever the length is, we have a contradiction.
If the cycle has three vertices, we must have xy 2 E . Let z be the internal vertex of P 0 . Since z
is in V ? (V (?) [ T ) and z is adjacent to both x and y, we have a contradiction with Claim 1.
3
Thus, we can suppose that the cycle has at least four vertices. Let v be the neighbor of x on P 0 ,
and u its neighbor on P . In both cases with respect to ? (complete multi-partite or bipartite), we
prove that T (x; v) 6= T (x; u).
if ? is complete multi-partite (with k 3 stable sets), then let s 2 V (?) be a common neighbor
of x and u. If T (x; v) = T (x; u), then v is adjacent to both x and s. So L(x) \ L(s) 6= ; and then x,
s are closer than x, y, a contradiction with the choice of x, y as close as possible.
if ? is bipartite, then by Claim 1 we have T (x; u) = T (H ). Thus, by the construction of H , if
T (x; v) = T (x; u) then v should have been put in V (H ). Then v should have been in ?, a contradiction.
So T (x; v) ? T (x; u) 6= ;, or T (x; u) ? T (x; v) 6= ;. Assume that the former holds (the reasoning
is identical if the later holds) and let q 2 T (x; v) ? T (x; u). Lemma 1 for q and the cycle induced by
V (P ) [ V (P 0 ) implies that qu 2 E , a contradiction.
Step 6. In this step, ? is transformed into a smaller graph Gj? , for which, by induction, the \only
if" part of Theorem 1 is true. So, if we show that Gj? is i-triangulated, we are sure that the answer
returned by the algorithm will be \TRUE". (Notice that Gj? has a smaller number of vertices than
G, since it is obtained from G by replacing a graph with at least four vertices, with only two vertices,
and w). Recall that a vertex v adjacent to in Gj? is either w, or belongs to T , or else is in some
L(x) (with x 2 V (?)) such that v; x are adjacent in G. Let us rstly prove that:
Claim 3 If is contained in a chordless cycle B of Gj? with at least four vertices, then there
exists x 2 V (?) such that in G we have V (B ) ? f g L(x).
Proof of Claim 3. Let B = [v1 = ; v2 ; : : : ; vp] be the chordless cycle, and notice that each of
v2 ; vp belongs either to T or to some set L(x), where x 2 V (?) (since NG ? (w) NG ? ( ), v2 6= w
and vp 6= w). Obviously, v2 ; vp cannot be simultaneously in T since they are nonadjacent and T is a
j
j
clique. Two non-symmetrical cases can occur:
Case 1. v2 2 T; vp 2 L(x) (where x 2 V (?)). Then let a be a neighbor of x in ? and notice that
v2 is adjacent to both x; a, while vp is adjacent only to x (since L(x) \ L(a) = ;). Moreover, we can
remark that for all vi 2 fv3 ; :::; vp?1 g we have vi a 62 E and vi x 62 E (otherwise, vi 2 E (Gj? )). Now,
the vertices x; a; v2 ; : : : ; vp induce in G an odd cycle with no pair of non-crossing chords.
Case 2. v2 2 L(y); vp 2 L(x). Then no vertex among v2 ; : : : ; vp is in T (it should be adjacent to ),
so this path is included both in L(x) and in L(y). We deduce that L(x) \ L(y) 6= ;, a contradiction,
except if x; y are the same vertex. The proof of the claim is then nished.
We can prove now that Gj? is an i-triangulated graph, thus proving the \only if" part of the
theorem. If, by contradiction, Gj? is not i-triangulated , then it contains some odd cycle on ve vertices
or more, with no pair of non-crossing chords. Consider a minimum (with respect to cardinality) such
cycle B = [v1 ; v2 ; : : : ; vp ]. Necessarily, or w must be on B , otherwise B is also a bad cycle of G.
Case where B has two crossing chords.
It is easy to see that the crossing chords must be short chords, i.e. joining vertices at distance
two along the cycle (otherwise a smaller bad cycle can be found). Then we can assume without loss
of generality that the two chords are v1 v3 ; v2 v4 . Let vi be every vertex of B . We can remark that
N (vi ) \ B is not a clique. Then w cannot belong to B and belongs to B .
If 2 fv1 ; v4 ; v5 ; : : : ; vp g, then is situated on two chordless cycles on at least four vertices, and
Claim 3 implies that there exists x 2 V (?) such that V (B ) ? f g L(x). Then fxg [ V (B ) ? f g is
a bad cycle in G, a contradiction.
If = v2 (and similarly if = v3 ), then by Claim 3 for the cycle [v2 ; v4 ; : : : ; vp ; v1 ] we have that
all the vertices v4 : : : ; vp ; v1 are in some L(x) (x 2 V (?)). The vertex v3 cannot belong to L(x) (a bad
cycle would then exist in G), so v3 2 T . Then in G we have v3 x 2 E and the cycle [v1 ; x; v3 ; : : : ; vp ]
is a bad cycle in G, a contradiction.
Case where B has only one chord.
Once more, the unique chord must be a short chord (assume it is v1 v3 ), otherwise the cycle is not
minimum. Moreover, if w belongs to B , then w is necessarily egal to v2 . We have several cases.
If = v1 (and similarly if = v3 ), then we have a chordless cycle for which Claim 3 implies that
v3 ; : : : ; vp ; v1 are in some L(x) and v2 2 T [ fwg. Now, it is easy to see that we cannot have v2 = w,
4
since w is exclusively adjacent to and the vertices in T , while v3 62 f g [ T . Then v2 2 T and
[x; v2 ; : : : ; vp ] is a bad cycle in G, a contradiction.
If = vi (4 i p), then all the other vertices must be in the same set L(x) and we have a bad
cycle in G.
If = v2 , then in G the vertices v1 ; v3 must be adjacent to dierent vertices x, respectively y of ?
(otherwise a bad cycle exists in G). Moreover, since L(x) \ L(y) = ;, at least one of v1 ; v3 must be
in T . This is impossible since v3 2 T would imply xv3 2 E (thus a bad cycle would exist in G) and
similarly if v1 2 T .
If w = v2 and does not belong to BS
, then v1 and v3 must belong to T . Obviously, v4 ; : : : ; vp are
in some L(x) or in R = V ? V (?) ? T ? x2V (?) L(x). Then, we can take any vertex y in ? ? fxg to
form a bad cycle v1 ; y; v3 : : : vp in G, a contradiction.
Case where B has no chord.
Clearly, w cannot belong to B and then belongs to B . Thus by Claim 3, the entire cycle is
included in some L(x) (where x 2 V (?)) and we have a contradiction.
II. The \if" part.
We have to prove that if the algorithm answers \TRUE", then G is indeed i-triangulated. By
induction, we assume this is true for graphs with smaller number of vertices. Now, since Algorithm
Recognize returns \TRUE" and its execution just after computing Gj? is, in fact, the execution of
Recognize for this smaller graph Gj? , we have, by induction, that Gj? is i-triangulated.
By contradiction, assume G is not i-triangulated and consider an odd cycle D = [d1 ; d2 ; : : : ; dq ] of
G, with at least ve vertices, which has no pair of non-crossing chords and is minimum (with respect
to cardinality) with this property. Since ? is bipartite or complete multi-partite, V (D) is not included
in V (?).
Claim 4 Consider in G two paths P; P 0 , each of them with endpoints x and y, where x; y are two
(possible adjacent) distinct vertices in ?. Assume that V (P ) [ V (P 0 ) 6 V (?). Then at least one of
the paths contains a vertex of T , while the other one either contains a vertex of T or is completely
included in ?.
Proof
of Claim 4. Since V (P ) [ V (P 0) 6 V (?), at least one vertex of V (P ) [ V (P 0 ) is in
S
L(z ). Assume no vertex in T exists in every of the paths. Then V (P ) [ V (P 0 ) is included
T [ z2V (?)
S
in V (? [ z2V (?) L(z )). Moreover, at least one path, say P , has a vertex u in some L(z ). As for all
x0 2 V (?) we have L(x0 ) \ L(z ) = ;, then z must be on the subpath of P situated between x and u
(z =
6 u). Similarly, z must be on the subpath of P situated between y and u. We have a contradiction.
So at least one vertex in T exists in V (P ) [ V (P 0 ) (say it is in V (P )). As before for P , we deduce
that no vertex in some L(z ) can exist on P 0 . The claim is proved.
Claim 5 The cycle D must contain at least two vertices of ?.
Proof of Claim 5. Assume the contrary and notice that, necessarily, exactly one vertex of ? exists
on D, for otherwise D is a bad cycle of Gj? . Say that d1 2 V (?) and consider, in Gj? , the cycle F given
by V (D) ? fd1 g [ f g. This cycle cannot be a copy of D, therefore at least one supplementary chord
must exist (when compared to D). The only possibility is the existence of a vertex di (i = 3; : : : ; q ? 1)
which is nonadjacent to d1 in G but is adjacent to a vertex x 6= d1 in ? (so that the chord di exists
in F ).
Consider in G the paths [d1 ; d2 ; : : : ; di ; x] and [d1 ; dq ; dq?1 ; : : : ; di ; x], both of them with endpoints
d1 ; x in ?. By Claim 4, we can assume that the path [d1 ; d2 ; : : : ; di ; x] contains a vertex dj (j =
2; 3 : : : ; i) belonging to T . So d1 dj 2 E . Furthermore, the other path is not completely included
in ? (since no vertex of D but d1 belongs to ?) so, again by Claim 4, it must contain some dh
(h = q; q ? 1; : : : ; i) which belongs to T . Then d1 dh 2 E , dj dh 2 E (since T is a clique; notice that
j 6= i; h 6= i since d1 di 62 E ). We deduce that d1 dj ; d1 dh ; dj dh are three non-crossing chords of D in G
(a contradiction), except if some of these edges are identical to some edge of D. The only possibility
is j = 2 and h = q (so that the unique chord remains dj dh ).
5
Now, let us show that the cycle given by V (D) ? fd1 g [ fwg in Gj? is isomorphic to D (and we
have a bad cycle in Gj? , a contradiction). It is sucient to show that d1 dp 2 E (D) if and only if
wdp 2 E (D) (p = 2; 3; : : :; q). This is true for p = 2 and p = q since w is adjacent to every vertex in
T . Furthermore, if d1 dp 2 E (2 < p < q), then dp 2 L(d1 ) (since dp 62 V (?) by hypothesis and dp 2 T
would imply that either dj dp or dh dp is another chord of D, a contradiction). Now, the path joining
di and dp along D, not containing d1 , contains a vertex (namely dp ) of L(d1 ) and a vertex (namely
di ) of L(x). As for every x0 ; y0 2 V (?), L(x0 ) \ L(y0 ) = ;, at least one vertex t 2 T must exist on this
path. But then another chord (either dj t or dh t) non-crossing dj dh exists in D, a contradiction. Thus
for all p 2 f3; :::; q ? 1g, we have d1 dp 62 E . As no dp , p 2 f3; :::; q ? 1g, belongs to T (otherwise two
non-crossing chords exist in D, dj dh and either dp dj or dp dh ), then w is not adjacent to dp .
So, at least two vertices of ? exist on D. We distinguish two cases for D:
Case where D contains two non-consecutive vertices x; y of ?.
Then x and y are joined along D by two paths (denoted P and P 0 ) such that at least one of these
paths has a length at least 3 (namely P ). If P contains a vertex of T (denoted t), then, by Claim 4,
there exists a vertex z of P 0 (z 6= x and z 6= y) such that z belongs to T [ V (?). Thus, t is adjacent to
z , x and y. Since P is a path of length at least 3, tx or ty is a chord of D (suppose that tx is a chord
of D). Now, tz and tx are two non-crossing chords of D, a contradiction. Hence, P cannot contain a
vertex of T . So, by Claim 4, P is completely included in ? and P 0 contains a vertex t of T . Since P
has a length at least 3 and t is adjacent to all the vertices of ?, two internal vertices of P with t form
two non-crossing chords of D, a contradiction.
Case where D does not contain two non-consecutive vertices of ?.
Call x; y the two consecutive vertices and notice that D contains no other vertex of ?. We suppose
without loss of generality that x = d1 and y = d2 . Let P = [d1 ; dq ; dq?1 ; : : : ; d2 ] be the path of length
at least 4 on D joining d1 to d2 . Since V (D) is not included in V (?), by Claim 4, P must contain a
vertex t in T . Then t is adjacent to both d1 ; d2 and at least one of these edges must be an edge along
D (otherwise D contains two non-crossing chords). We suppose without loss of generality that t = d3 .
Then d1 d3 is short chord of D. If P contains another vertex in T (denoted t0 ), then td1 with tt0 or
d1 t0 are two non-crossing chords of D, a contradiction. Therefore, V (P ) ? fd1 ; d2 ; d3 g cannot contain
a vertex of T [ V (?), consequently this set is necessarily included in L(d1 ). Now, a copy of D can be
realized in Gj? by taking instead of d1 and w instead of d2 . Therefore Gj? is not i-triangulated, a
contradiction.
3 Complexity aspects
The number of iterations of Steps 1 to 6 in the algorithm is of O(n), since the number of vertices of
the graph reduces at each iteration. It is easy to see that steps 1 to 6 may be done in O(m + n) time
(where m is the number of edges in G), if the graph is represented both using adjacency lists and the
adjacency matrix. Therefore, the complexity of the whole algorithm is in O(n(m + n)).
References
[1] M. Burlet, J. Fonlupt { Polynomial algorithm to recognize a Meyniel graph, Annals of Discr. Math. 21
(1984) 225-252.
[2] T. Gallai, Graphes mit triangulierbaren ungeraden Vielecken, Magyar Tud. Akad. Mat. Kutato Int. Kozl.
7 (1962) 3-36.
[3] M. C. Golumbic, \Algorithmic graph theory and perfect graphs", Academic Press (1980).
[4] D. J. Rose, R. E. Tarjan, G. S. Leuker, Algorithmic aspects of vertex elimination on graphs, SIAM J.
Comput. 5 (1976), 266-283.
[5] F. Roussel, I.Rusu, An O(m2 + mn) algorithm to recognize Meyniel graphs, Research report RR-97-11,
LIFO, Universite d'Orleans, France (1997).
[6] S. H. Whitesides, A method for solving certain graph recognition and optimization problems, with applications to perfect graphs, Annals of Discrete Math. 21 (1984) 281-297.
6
© Copyright 2026 Paperzz