- ユークリッド距離の計算:
ユークリッド距離は、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);
}
- マンハッタン距離の計算: マンハッタン距離は、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;
}
- ハミング距離の計算: ハミング距離は、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++での標準的な距離計算方法の解説です。