/*
 * DissimilarityMeasure.h
 *
 *  Created on: 19.01.2013
 *      Author: Christian Staudt (christian.staudt@kit.edu)
 */

#ifndef NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
#define NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_

#include <networkit/graph/Graph.hpp>
#include <networkit/structures/Partition.hpp>
#include <networkit/structures/Cover.hpp>

namespace NetworKit {


/**
 * @ingroup community
 * Base class for all clustering dissimilarity measures.
 */
class DissimilarityMeasure {

public:

    virtual double getDissimilarity(const Graph& G, const Partition& first, const Partition& second) = 0;


    virtual double getDissimilarity(const Graph &G, const Cover &first, const Cover &second);
};

} /* namespace NetworKit */
#endif // NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
