3178 T. Yamada et al.R) for later use. In <strong>the</strong> column ‘MST’, edges with<strong>in</strong> braces are <strong>the</strong> fixed edges, <strong>an</strong>d hyphen(-)shows that <strong>the</strong> subproblem is term<strong>in</strong>ated because z ⋆ (F,R)>z ⋆ .Downloaded By: [Yamada, Takeo] At: 00:44 30 November 2010The computational complexity of <strong>the</strong> above algorithm c<strong>an</strong> be evaluated as follows. Let Ndenote <strong>the</strong> number of MSTs <strong>in</strong>cluded <strong>in</strong> G, <strong>an</strong>d T MST (n, m) be <strong>the</strong> time required to solve <strong>an</strong> MSTproblem for a <strong>graph</strong> with n nodes <strong>an</strong>d m edges. Note that each subproblem, <strong>in</strong>clud<strong>in</strong>g <strong>an</strong> MST,produces at most n − 1 children. So <strong>the</strong> total number of subproblems generated <strong>in</strong> All_MST isat most Nn− N + 1 ≈ Nn. In each subproblem, we solve <strong>an</strong> MST problem, which requiresO(T MST (n, m)) time. Thus, <strong>the</strong> total time complexity is O(NnT MST (n, m)).To access <strong>the</strong> space complexity, consider <strong>the</strong> tree of subproblems as shown <strong>in</strong> Figure 2. Wenote that <strong>the</strong> maximum height of <strong>the</strong> tree is at most m, s<strong>in</strong>ce at each br<strong>an</strong>ch at least one edgeis ei<strong>the</strong>r fixed or restricted. While solv<strong>in</strong>g P(F,R), we only need to keep <strong>the</strong> differential <strong>in</strong>formation(F ′ ,R ′ ) <strong>in</strong> memory for <strong>all</strong> <strong>an</strong>cestors P(F ′ ,R ′ ) of P(F,R). From <strong>the</strong>se <strong>in</strong>cremental<strong>in</strong>formation, we c<strong>an</strong> reconstruct (F, R), <strong>an</strong>d to keep <strong>the</strong>se <strong>in</strong> memory O(m) space suffices. Thus,we have <strong>the</strong> follow<strong>in</strong>g.Theorem 2.2respectively.The time <strong>an</strong>d space complexities of All_MST are O(NnT MST (n, m)) <strong>an</strong>d O(m),Remark 2.3 A simple implementation of Kruskal’s algorithm [6] runs <strong>in</strong> T MST (n, m) = O(mn)time, but by us<strong>in</strong>g sophisticated data structure such as Fibonacci heap, this c<strong>an</strong> be improved toT MST (n, m) = O(m + n log n) [1]. Therefore, <strong>the</strong> time complexity of All_MST is3. A cut-set-based algorithmO(N(mn + n 2 log n)). (2)Let T be <strong>an</strong> MST of G, <strong>an</strong>d e <strong>an</strong> arbitrary edge of T . Delet<strong>in</strong>g e from T divides <strong>the</strong> tree <strong>in</strong>totwo connected components with vertexes sets, say V 1 <strong>an</strong>d V 2 . We <strong>in</strong>troduce <strong>the</strong> cut-set <strong>in</strong>ducedby e ∈ T as <strong>the</strong> set of edges with one endpo<strong>in</strong>t <strong>in</strong> V 1 <strong>an</strong>d <strong>the</strong> o<strong>the</strong>r <strong>in</strong> V 2 . If we def<strong>in</strong>e this asCut(e) := {e ′ ∈ E | e ′ ∈ (V 1 × V 2 ) ∪ (V 2 × V 1 )}, <strong>the</strong> follow<strong>in</strong>g Proposition is clear from <strong>the</strong> ‘cutoptimality condition’ [1, Theorem 13.1] for MST.Proposition 3.1Let T be <strong>an</strong> MST <strong>an</strong>d e ∈ T . Then, for <strong>an</strong> arbitrary edge e ′ ∈ Cut(e),w(e ′ ) ≥ w(e). (3)That is, e ∈ T is <strong>an</strong> edge of <strong>the</strong> <strong>m<strong>in</strong>imum</strong> weight <strong>in</strong> Cut(e). For a pair of edges e ∈ T <strong>an</strong>de ′ ∈ Cut(e)\{e}, T ∪{e ′ }\{e} def<strong>in</strong>es <strong>an</strong>o<strong>the</strong>r <strong>sp<strong>an</strong>n<strong>in</strong>g</strong> tree, which is denoted as T ∪ e ′ \e forsimplicity. Let G (e) denote <strong>the</strong> <strong>graph</strong> obta<strong>in</strong>ed from G by delet<strong>in</strong>g e. We <strong>the</strong>n have <strong>the</strong> follow<strong>in</strong>g.Theorem 3.2 Let T be <strong>an</strong> MST, e∈ T <strong>an</strong>d e ′ ̸= e be second <strong>m<strong>in</strong>imum</strong> <strong>in</strong> weight <strong>in</strong> Cut(e).Then, T ′ := T ∪ e ′ \e is a <strong>m<strong>in</strong>imum</strong> <strong>sp<strong>an</strong>n<strong>in</strong>g</strong> tree <strong>in</strong> G (e) .Proof Suppose that T ′ is not a <strong>m<strong>in</strong>imum</strong> <strong>sp<strong>an</strong>n<strong>in</strong>g</strong> tree <strong>in</strong> G (e) . Then, by <strong>the</strong> ‘path optimalitycondition’[1, Theorem 13.3] <strong>the</strong>re exists a pair of edges c/∈ T ′ <strong>an</strong>d d ∈ T ′ such that (1) T ′′ := T ′ ∪c\d is a <strong>sp<strong>an</strong>n<strong>in</strong>g</strong> tree <strong>an</strong>d (2) w(c)
International Journal of Computer Ma<strong>the</strong>matics 3179Let <strong>the</strong> cycles <strong>in</strong>cluded <strong>in</strong> T ⋆ ∪{e ′ }, T ⋆ ∪{c} <strong>an</strong>d T ′ ∪{c} be C 0 , C 1 <strong>an</strong>d C 2 , respectively. S<strong>in</strong>ceC 2 = C 0 ⊕ C 1 (<strong>in</strong> Boole<strong>an</strong> sense) <strong>an</strong>d d ∈ C 2 ,wehaved ∈ C 0 or d ∈ C 1 . Def<strong>in</strong>e{TˆT ⋆ ∪ e ′ \d if d ∈ C 0 ,:=T ⋆ (5)∪ c\d if d ∈ C 1 .Then, ˆT is a <strong>sp<strong>an</strong>n<strong>in</strong>g</strong> tree with w( ˆT)