Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Datenstruktur: Das Geheimnis der Hash-Tabelle, einem Tool zum Mining schneller Abfragen

PHP-Datenstruktur: Das Geheimnis der Hash-Tabelle, einem Tool zum Mining schneller Abfragen

WBOY
WBOYOriginal
2024-06-02 14:56:57440Durchsuche

Eine Hash-Tabelle ist eine effiziente Datenstruktur, die Schlüssel über eine Hash-Funktion Indizes in einem Array zuordnet und so ein schnelles Speichern und Abrufen von Daten ermöglicht. Im tatsächlichen Kampf kann es verwendet werden, um die Anzahl der Vorkommen eines Wortes effizient zu zählen: ① Verwenden Sie eine Hash-Tabelle, um jedes Wort einem Zähler zuzuordnen. ② Überprüfen Sie, ob der Schlüssel in der Hash-Tabelle vorhanden ist Wenn nicht, addieren Sie es und setzen Sie die Anzahl auf 1; wenn ja, addieren Sie 1 zur Anzahl.

PHP-Datenstruktur: Das Geheimnis der Hash-Tabelle, einem Tool zum Mining schneller Abfragen

PHP-Datenstruktur: Das Geheimnis von Hash-Tabellen

Einführung in Hash-Tabellen

Eine Hash-Tabelle ist eine effiziente Datenstruktur, die zum Speichern und schnellen Abrufen von Daten verwendet wird. Es ordnet Schlüssel Werten zu und wandelt die Schlüssel mithilfe einer Hash-Funktion in Indizes um, die im Array verwendet werden können.

Hash-Funktion

Hash-Funktion ist die Zauberformel, die einen Schlüssel in einen Index umwandelt. Die ideale Hash-Funktion ist:

  • Uniform: Erzeugt unterschiedliche Indizes für unterschiedliche Schlüssel
  • Schnell: Berechnet in konstanter Zeit
  • Kollisionsfrei: Vermeidet die Generierung desselben Index für mehrere Schlüssel

Praktisches Beispiel: Wortzähler

Angenommen, wir haben eine Textdatei und müssen zählen, wie oft jedes Wort vorkommt. Eine naive Lösung wäre, ein Array zum Speichern der Wörter und ihrer Anzahl zu verwenden, aber mit zunehmender Anzahl von Wörtern wird das Finden und Aktualisieren der Anzahl weniger effizient.

Mithilfe einer Hash-Tabelle können wir jedes Wort einem Zähler zuordnen und das Wort direkt als Schlüssel verwenden. Wenn wir auf ein Wort stoßen, können wir schnell überprüfen, ob der Schlüssel in der Hash-Tabelle vorhanden ist. Wenn nicht, fügen wir ihn hinzu und setzen seine Anzahl auf 1. Wenn ja, addieren wir 1 zur Zählung.

class WordCounter {
    private $words = [];

    public function countWords($text) {
        $words = explode(' ', $text);
        foreach ($words as $word) {
            if (isset($this->words[$word])) {
                $this->words[$word]++;
            } else {
                $this->words[$word] = 1;
            }
        }
    }

    public function getWordCount($word) {
        return $this->words[$word] ?? 0;
    }
}

In diesem Beispiel können wir mit $words数组充当哈希表,键是单词,值是计数。函数countWords()高效地计算每个单词的计数,而函数getWordCount() schnell die Anzahl eines bestimmten Wortes ermitteln.

Das obige ist der detaillierte Inhalt vonPHP-Datenstruktur: Das Geheimnis der Hash-Tabelle, einem Tool zum Mining schneller Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn