Program Listing for File CutClustering.hpp

Return to documentation for file (include/networkit/community/CutClustering.hpp)

#ifndef NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
#define NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_

#include <networkit/community/CommunityDetectionAlgorithm.hpp>

namespace NetworKit {

class CutClustering final : public CommunityDetectionAlgorithm {
public:
    CutClustering(const Graph &G, edgeweight alpha);

    void run() override;

    static std::map<edgeweight, Partition> getClusterHierarchy(const Graph &G);

private:
    static void clusterHierarchyRecursion(const Graph &G, edgeweight lower, Partition lowerClusters,
                                          edgeweight upper, Partition upperClusters,
                                          std::map<edgeweight, Partition> &result);
    edgeweight alpha;
};

} // namespace NetworKit

#endif // NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_