Algorithms 1 to 5 present five variations of Monte Carlo schemes that have been applied. The first variation assumes a fixed number of clusters (C) and assigns each vertex to those clusters randomly. The second variation randomly picks a vertex which is assigned to its first neighbor cluster if exists, otherwise the vertex is made the head of a newly created cluster. The third variation randomly selects a vertex pair and if any cluster exists on either vertices’ first neighbor, both vertices are assigned to that cluster. Otherwise both vertices are made head of two new clusters.