diff options
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/hierarchical/extraction/HDBSCANHierarchyExtraction.java')
-rw-r--r-- | elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/hierarchical/extraction/HDBSCANHierarchyExtraction.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/hierarchical/extraction/HDBSCANHierarchyExtraction.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/hierarchical/extraction/HDBSCANHierarchyExtraction.java index 20c5e211..80c32ae4 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/hierarchical/extraction/HDBSCANHierarchyExtraction.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/hierarchical/extraction/HDBSCANHierarchyExtraction.java @@ -40,6 +40,7 @@ import de.lmu.ifi.dbs.elki.database.datastore.DataStoreFactory; import de.lmu.ifi.dbs.elki.database.datastore.DataStoreUtil; import de.lmu.ifi.dbs.elki.database.datastore.DoubleDataStore; import de.lmu.ifi.dbs.elki.database.datastore.WritableDataStore; +import de.lmu.ifi.dbs.elki.database.ids.ArrayDBIDs; import de.lmu.ifi.dbs.elki.database.ids.ArrayModifiableDBIDs; import de.lmu.ifi.dbs.elki.database.ids.DBIDArrayIter; import de.lmu.ifi.dbs.elki.database.ids.DBIDRef; @@ -81,6 +82,7 @@ import de.lmu.ifi.dbs.elki.workflow.AlgorithmStep; * one-element clusters to reduce garbage collection overhead. * * @author Erich Schubert + * @since 0.7.0 * * @apiviz.uses HierarchicalClusteringAlgorithm * @apiviz.uses PointerHierarchyRepresentationResult @@ -153,8 +155,7 @@ public class HDBSCANHierarchyExtraction implements ClusteringAlgorithm<Clusterin FiniteProgress progress = LOG.isVerbose() ? new FiniteProgress("Extracting clusters", ids.size(), LOG) : null; // Sort DBIDs by lambda, to process merges in increasing order. - ArrayModifiableDBIDs order = DBIDUtil.newArray(ids); - order.sort(new DataStoreUtil.AscendingByDoubleDataStore(lambda)); + ArrayDBIDs order = PointerHierarchyRepresentationResult.topologicalSort(ids, pi, lambda); WritableDataStore<TempCluster> cluster_map = DataStoreUtil.makeStorage(ids, DataStoreFactory.HINT_TEMP, TempCluster.class); |