public List < Pair < Subspace , ModifiableDBIDs > > determineClusters ( ) { List < Pair < Subspace , ModifiableDBIDs > > clusters = new ArrayList <> ( ) ; for ( CLIQUEUnit unit : denseUnits ) { if ( ! unit . isAssigned ( ) ) { ModifiableDBIDs cluster = DBIDUtil . newHashSet ( ) ; CLIQUESubspace model = new CLIQUESubspace ( getDimensions ( ) ) ; clusters . add ( new Pair < Subspace , ModifiableDBIDs > ( model , cluster ) ) ; dfs ( unit , cluster , model ) ; } } return clusters ; }
Determines all clusters in this subspace by performing a depth - first search algorithm to find connected dense units .