Skip to content

tikhon-kozyrev/metricspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple templated classes for Metric Space representation.

The main class is template <class T, size_t SIZE> class MetricSpace::TMetricSpace.

It has two parameters:

  1. used numeric type
  2. space dimension

and 2 nested classes:

  1. MetricSpace::TMetricSpace<>::Point - a point.
  2. MetricSpace::TMetricSpace<>::Metric - a metric.

and four static functions, each returns one of predefined metrics:

  1. MetricSpace::TMetricSpace<>::Euclidian() - returns Euclidean distance.
  2. MetricSpace::TMetricSpace<>::SquaredEuclidian() - returns squared Euclidean distance.
  3. MetricSpace::TMetricSpace<>::Manhattan() - returns Manhattan or taxicab.
  4. MetricSpace::TMetricSpace<>::Chebyshev() - returns Chebyshev distance.

The main program (main.cpp) contains a "custom" metric "Weighted", parameterized by vector of "weights" of dimensions. The distance is calculated as a weighted sum of absolute dimensions differences.

The class MetricSpace::TMetricSpace was used to study cluster analysis.

About

Templated metric space

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published