**A.1. Algorithm C(Z) with accelerated updates**

We identify the form of the C(Z) algorithm that results by incorporating all of the accelerated updates of Section 7. As before, the sets E<sup>k</sup> do not need to be maintained unless they are of interest for experimental purposes. The case where added memory is used is identified in Case (2) so that this memory need not be used if desired. (In that case, the variable Copy will always remain False, as in Initialization(B).)

Endif

**Begin Inner Loop**

Set s: = s + 1 and identify edge e(s) = (p(s), q(s)). Let i′ = p(s), i″ = q(s) and let k′ = L(i′) and

Case (2): If c(e(s)) > Z + MinCostC0, then compute Znext = Min(Znext, c(e(s)) –

k ∈K and the arrays L(i), MinCostB(i), MinCostC(i), i∈ N (writing over any previous

Case (3): Absorb Nk″ into Nk′ by setting Nk′: = Nk′∪Nk″ with its associated edge set Ek″:

*Initialization(A)*. Set Znext = Large, K = N (= {1, …, n}), and for each k ∈ K let.

k″ = L(i″) and absorb Nk″ into Nk′ to create the cluster Nk′: = Nk′∪ N<sup>k</sup>

set t(i′) = t(i″) = 1. Set nTrack = 0 and set FirstTime(k) = True, k ∈ K.

*Initialization(B)*. Let i′ = p(1) and i″ = q(1) and select e(1) (= (i′, i″)).Set k′ = L(i′) and.

edge set Ek′ = e(1). Set MinCostA(k′) = c(e(1)) and MinCostB(i) = c(e(1)) for i = i′ and i″ and set K: = K \ {k″}. Set v<sup>2</sup> = v<sup>3</sup> = 1; s2(1) = s3(1) = 1 and Z(1) = Large. Set n<sup>e</sup> = 1

Initialization(C): Set nk = 1, k ∈ K \ {k′}, and nk′ = 2; set t(i) = 0 for i∈ N \{i′, i″} and

= ∅, and MinCostA(k) = MinCostB(k) = MinCostC(k) = Large.

MinCostA(k″), c(e(s)); MinCostB(i): = Min(MinCostB(i), c(e(s)) for i = i′ and i″ (thus yielding MinCostC(i) by the definitions of Section 7). Set K: = K \ {k″}

) = Znext.

, E<sup>k</sup>

A Class of Parametric Tree-Based Clustering Methods http://dx.doi.org/10.5772/intechopen.76406

″, and set MinCostA(k′): = Min(MinCostA(k′),

) = s, ne:= n<sup>e</sup> + 1 and if n<sup>e</sup> = n – 1 terminate the

, MinCostA(k),

151

″= {i′, i″} with

) = s, Z(v<sup>2</sup>

Case (1): If k′ = k″, then continue to the next iteration of the Inner Loop.

Set Copy = True and record a copy of ne, the set K and arrays N<sup>k</sup>

:= v<sup>3</sup> + 1, s3(v<sup>3</sup>

Continue to the next iteration of the Inner Loop.

= Ek′∪ Ek″ ∪{e(s)}. Set L(i)=k′ for all i∈ N<sup>k</sup>

While s < sLast

k″ = L(i″).

copy).

Endwhile Z = Znext

sLast = sEnd

**End of C(Z) Algorithm**

**Routine for Z = Zo**

Endwhile

MinCostC0), set v<sup>2</sup> = v<sup>2</sup> + 1, s2(v<sup>2</sup>

and sEnd = s.Set v<sup>3</sup>

If v<sup>2</sup> = 1 terminate the C(Z) Algorithm

L(k) = k, N<sup>k</sup> = {k}, E<sup>k</sup>

and s = 1.

Inner Loop.

*For added memory case*:
