1 #ifndef SINGLELINKAGE_H
2 #define SINGLELINKAGE_H
4 #include "../base/dissimilaritymeasure.h"
5 #include "../base/clusterdissimilaritymeasure.h"
33 virtual double dissimilarity(std::vector<T*>
const& c1, std::vector<T*>
const& c2);
69 std::vector<T*>
const& c2)
71 double max = std::numeric_limits<double>::infinity();
72 for (
unsigned int i=0; i<c1.size(); i++)
73 for (
unsigned int j=0; j<c2.size(); j++)
75 double cost = this->measure->dissimilarity(*c1[i], *c2[j]);
78 cost = this->measure->dissimilarity(*c2[j], *c1[i]);
Abstract base class for cluster dissimilarity measurement.
DissimilarityMeasure< T > * measure
virtual double dissimilarity(std::vector< T * > const &c1, std::vector< T * > const &c2)
Computes the single linkage dissimilarity between the two given clusters.
SingleLinkage(const DissimilarityMeasure< T > &measure)
SingleLinkage< T > & operator=(const SingleLinkage< T > &)
Abstract base class for dissimilarity measurement.
virtual SingleLinkage< T > * clone() const