Aktueller Standort: Startseite> Neueste Artikel> PHP implementiert das Beispiel für die Berechnung der Entfernung der Distanzsumme

PHP implementiert das Beispiel für die Berechnung der Entfernung der Distanzsumme

gitbox 2025-06-30

Was ist Hanming -Distanz?

Die Hamming -Entfernung ist eine Möglichkeit, die Anzahl der verschiedenen Zeichen zwischen zwei Zeichenfolgen der gleichen Länge zu messen. Insbesondere die Anzahl der Zeichen mit unterschiedlichen Positionen in den entsprechenden Positionen der beiden Saiten ist der Hanming -Abstand.

Betrachten Sie beispielsweise die folgenden zwei Zeichenfolgen:

"Abcdefgh" und "Abcxtdhy"

Ihre Hamming -Entfernung beträgt 4, weil sie sich in den Positionen 4, 5, 6 und 8 in den Charakteren unterscheiden.

PHP -Beispiel für die Berechnung der Summe der Hamming -Entfernungen

Angenommen, wir haben ein Array mit mehreren Binärsträngen mit mehreren Längen, wie unten gezeigt:

 
// Ein Array mit mehreren Binärsträngen mit mehreren Länge
$array = ["1100", "1010", "1111", "0000"];

Die Frage ist: Wie berechnet man die Summe der Hamming -Abstände zwischen diesen Zeichenfolgen? Wir können zuerst eine Funktion definieren, die den Abstand des Hamming berechnet:

 
/**
 * Berechnen Sie den Abstand von Hanming
 * @param string $str1
 * @param string $str2
 * @return int
 */
function hammingDistance($str1, $str2) {
    $dist = 0;
    $n = strlen($str1);
    for ($i = 0; $i < $n; $i++) {
        if ($str1[$i] !== $str2[$i]) {
            $dist++;
        }
    }
    return $dist;
}

Diese Funktion durchquert jedes Zeichen der beiden Zeichenfolgen, und wenn die Zeichen unterschiedlich sind, wird der Zähler durch 1 erhöht.

Als nächstes können wir eine Doppelschleife verwenden, um die Hamming -Distanzsumme aller Zeichenfolgen zu berechnen:

 
$len = count($array);
$sum = 0;
for ($i = 0; $i < $len; $i++) {
    for ($j = $i + 1; $j < $len; $j++) {
        $sum += hammingDistance($array[$i], $array[$j]);
    }
}
echo $sum; // Ausgabe 10

Durch diesen Prozess können wir die Summe der Hamming -Abstände zwischen allen binären Zeichenfolgen im Array erhalten.

Beispiel Erklärung

Unter der Annahme, dass das Array ["1100", "1010", "1111", "0000"] ist, ist der Hamming -Abstand jedes Paares von Binärsträngen wie folgt:

 1100
1010   2
1111 3 1
0000 4 2 5

Daher betragen die Gesamtabstände des Hammings 10.

Zusammenfassen

In diesem Artikel wird das grundlegende Konzept der Hamming -Distanz vorgestellt und ein PHP -Beispiel enthält, das zeigt, wie die Hamming -Distanzsumme zwischen mehreren binären Zeichenfolgen berechnet wird. Die Hanming -Entfernung wird in den Feldern der Datenübertragung, Verschlüsselung und Fehlerkorrektur häufig verwendet. Das Beherrschen dieser Methode kann uns helfen, verwandte Probleme besser zu lösen.