C++での標準的な距離計算方法


  1. ユークリッド距離の計算: ユークリッド距離は、2つの点間の直線距離を表します。C++の標準ライブラリである <cmath> を使用して、以下のように計算することができます。
#include <cmath>
double euclideanDistance(double x1, double y1, double x2, double y2) {
    double dx = x2 - x1;
    double dy = y2 - y1;
    return std::sqrt(dx * dx + dy * dy);
}
  1. マンハッタン距離の計算: マンハッタン距離は、2つの点間の縦方向と横方向の差の絶対値の総和を表します。以下のように計算することができます。
#include <cmath>
double manhattanDistance(double x1, double y1, double x2, double y2) {
    double dx = std::abs(x2 - x1);
    double dy = std::abs(y2 - y1);
    return dx + dy;
}
  1. ハミング距離の計算: ハミング距離は、2つの等しい長さの文字列やビット列において、対応する位置の異なる要素の数を表します。以下のように計算することができます。
#include <string>
int hammingDistance(const std::string& str1, const std::string& str2) {
    int distance = 0;
    size_t length = str1.length();
    for (size_t i = 0; i < length; i++) {
        if (str1[i] != str2[i]) {
            distance++;
        }
    }
    return distance;
}

これらは、距離計算の一部の例です。他にも様々な距離計算手法がありますので、具体的な要件に応じて適切な方法を選択してください。以上が、C++での標準的な距離計算方法の解説です。