해시 테이블은 해시 함수를 통해 키를 배열의 인덱스에 매핑하는 효율적인 데이터 구조로, 빠른 데이터 저장 및 검색이 가능합니다. 실제 전투에서는 단어의 발생 횟수를 효율적으로 계산하는 데 사용할 수 있습니다. ① 해시 테이블을 사용하여 각 단어를 카운터에 매핑합니다. ② 단어가 나타나면 해시 테이블에 키가 있는지 확인합니다. 없으면 추가하고 개수를 1로 설정합니다. ④ 있으면 개수에 1을 추가합니다.
PHP 데이터 구조: 해시 테이블의 비밀
해시 테이블 소개
해시 테이블은 데이터를 저장하고 빠르게 검색하는 데 사용되는 효율적인 데이터 구조입니다. 키를 값에 매핑하고 해시 함수를 사용하여 키를 배열에서 사용할 수 있는 인덱스로 변환합니다.
해시 함수
해시 함수는 키를 인덱스로 변환하는 마법의 공식입니다. 이상적인 해시 함수는 다음과 같습니다.
실용 예: 단어 카운터
텍스트 파일이 있고 각 단어가 나타나는 횟수를 계산해야 한다고 가정해 보겠습니다. 순진한 해결책은 배열을 사용하여 단어와 그 개수를 저장하는 것이지만, 단어 수가 증가하면 개수를 찾고 업데이트하는 효율성이 떨어집니다.
해시 테이블을 사용하면 각 단어를 카운터에 매핑하고 해당 단어를 직접 키로 사용할 수 있습니다. 단어를 만나면 해시 테이블에 키가 있는지 빠르게 확인할 수 있고, 없으면 추가하고 개수를 1로 설정합니다. 그렇다면 개수에 1을 더합니다.
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; } }
이 예에서 $words
数组充当哈希表,键是单词,值是计数。函数countWords()
高效地计算每个单词的计数,而函数getWordCount()
를 사용하면 특정 단어의 개수를 빠르게 검색할 수 있습니다.
위 내용은 PHP 데이터 구조: 빠른 쿼리 마이닝을 위한 강력한 도구인 해시 테이블의 비밀의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!