コード例 #1
0
 def find_clusters(self):
     q = queue.Queue()
     first_cluster = Cluster()
     first_cluster.edges = self.edges
     first_cluster.vertices = self.vertices
     first_cluster.build_array()
     self.clusters.append(first_cluster)
     q.put(first_cluster)
     while not q.empty():
         cluster = q.get()
         if cluster.should_cluster_be_split():
             new_cluster = Cluster()
             cluster.split_cluster(new_cluster)
             self.clusters.append(new_cluster)
             if not cluster.verticies.__len__() > 0:
                 q.put(cluster)
             if new_cluster.verticies.__len__() > 0:
                 q.put(new_cluster)