Maison >développement back-end >tutoriel php >Structure des données PHP : le secret de la table de hachage, un outil puissant pour miner des requêtes rapides
Une table de hachage est une structure de données efficace qui mappe les clés aux index d'un tableau via une fonction de hachage, permettant un stockage et une récupération rapides des données. En combat réel, il peut être utilisé pour compter efficacement le nombre d'occurrences d'un mot : ① Utilisez une table de hachage pour mapper chaque mot à un compteur ; ② Lorsqu'un mot est rencontré, vérifiez si la clé existe dans la table de hachage ; Sinon, ajoutez-le et réglez le compte sur 1 ; ④ Si c'est le cas, ajoutez 1 au compte.
Structure de données PHP : le secret des tables de hachage
Introduction aux tables de hachage
Une table de hachage est une structure de données efficace utilisée pour stocker et récupérer rapidement des données. Il mappe les clés aux valeurs et utilise une fonction de hachage pour convertir les clés en indices pouvant être utilisés dans le tableau.
Fonction Hash
La fonction Hash est la formule magique qui convertit une clé en index. La fonction de hachage idéale est :
Exemple pratique : Compteur de mots
Supposons que nous ayons un fichier texte et que nous devions compter le nombre de fois où chaque mot apparaît. Une solution naïve consisterait à utiliser un tableau pour stocker les mots et leurs décomptes, mais à mesure que le nombre de mots augmente, la recherche et la mise à jour des décomptes deviennent moins efficaces.
À l'aide d'une table de hachage, nous pouvons mapper chaque mot à un compteur et utiliser le mot directement comme clé. Lorsque nous rencontrons un mot, nous pouvons rapidement vérifier si la clé existe dans la table de hachage, et sinon, nous l'ajoutons et mettons son compte à 1. Si tel est le cas, nous ajoutons 1 au décompte.
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; } }
Dans cet exemple, $words
数组充当哈希表,键是单词,值是计数。函数countWords()
高效地计算每个单词的计数,而函数getWordCount()
nous permet de récupérer rapidement le décompte d'un mot spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!