mirror of
https://github.moeyy.xyz/https://github.com/trekhleb/javascript-algorithms.git
synced 2024-12-26 23:21:18 +08:00
Update Hash Table image.
This commit is contained in:
parent
ac31c913b2
commit
18fcead0dc
@ -17,7 +17,9 @@ hachage où la fonction de hachage génère le même index
|
|||||||
pour plusieurs clés. De telles collisions doivent être
|
pour plusieurs clés. De telles collisions doivent être
|
||||||
accommodées d'une manière ou d'une autre.
|
accommodées d'une manière ou d'une autre.
|
||||||
|
|
||||||
![Hash Table](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
Collision de hachage résolue par chaînage séparé.
|
Collision de hachage résolue par chaînage séparé.
|
||||||
|
|
||||||
|
@ -4,7 +4,9 @@
|
|||||||
|
|
||||||
理想的には、ハッシュ関数は各キーを一意のバケットに割り当てますが、ほとんどのハッシュテーブルは不完全なハッシュ関数を採用しているため、複数のキーに対して同じインデックスを生成した時にハッシュの衝突が起こります。このような衝突は何らかの方法で対処する必要があります。
|
理想的には、ハッシュ関数は各キーを一意のバケットに割り当てますが、ほとんどのハッシュテーブルは不完全なハッシュ関数を採用しているため、複数のキーに対して同じインデックスを生成した時にハッシュの衝突が起こります。このような衝突は何らかの方法で対処する必要があります。
|
||||||
|
|
||||||
![Hash Table](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
チェイン法によるハッシュの衝突の解決例
|
チェイン法によるハッシュの衝突の解決例
|
||||||
|
|
||||||
|
@ -11,7 +11,9 @@ _Read this in other languages:_
|
|||||||
|
|
||||||
이상적으로, 해시 함수는 각 키들을 고유 버킷에 할당하지만 대부분의 해시 테이블은 불완전한 해시 함수를 사용하기 때문에 해시 함수를 통해 두 개 이상의 키에 대해 동일한 인덱스를 생성하는 해시 충돌이 발생할 수 있습니다. 이러한 해시 충돌은 어떠한 방법으로든 해결되어야 합니다.
|
이상적으로, 해시 함수는 각 키들을 고유 버킷에 할당하지만 대부분의 해시 테이블은 불완전한 해시 함수를 사용하기 때문에 해시 함수를 통해 두 개 이상의 키에 대해 동일한 인덱스를 생성하는 해시 충돌이 발생할 수 있습니다. 이러한 해시 충돌은 어떠한 방법으로든 해결되어야 합니다.
|
||||||
|
|
||||||
![Hash Table](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
다음은 분리 연결법을 통해 해시 충돌을 해결한 예시입니다.
|
다음은 분리 연결법을 통해 해시 충돌을 해결한 예시입니다.
|
||||||
|
|
||||||
|
@ -22,7 +22,9 @@ collisions where the hash function generates the same
|
|||||||
index for more than one key. Such collisions must be
|
index for more than one key. Such collisions must be
|
||||||
accommodated in some way.
|
accommodated in some way.
|
||||||
|
|
||||||
![Hash Table](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
Hash collision resolved by separate chaining.
|
Hash collision resolved by separate chaining.
|
||||||
|
|
||||||
|
@ -13,7 +13,9 @@ imperfeita, pela qual poderá causar colisões de hashes onde a função de hash
|
|||||||
gera o mesmo índice para mais de uma chave.Tais colisões devem ser
|
gera o mesmo índice para mais de uma chave.Tais colisões devem ser
|
||||||
acomodados de alguma forma.
|
acomodados de alguma forma.
|
||||||
|
|
||||||
![Hash Table](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
Colisão de hash resolvida por encadeamento separado.
|
Colisão de hash resolvida por encadeamento separado.
|
||||||
|
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
быть найдено желаемое значение. Ниже представлена хеш-таблица, в которой ключом выступает имя человека, а значениями
|
быть найдено желаемое значение. Ниже представлена хеш-таблица, в которой ключом выступает имя человека, а значениями
|
||||||
являются телефонные номера. Хеш-функция преобразует ключ-имя в индекс массива с телефонными номерами.
|
являются телефонные номера. Хеш-функция преобразует ключ-имя в индекс массива с телефонными номерами.
|
||||||
|
|
||||||
![Хеш-таблица](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
В идеале хеш-функция будет присваивать элементу массива уникальный ключ. Однако большинство реальных хеш-таблиц
|
В идеале хеш-функция будет присваивать элементу массива уникальный ключ. Однако большинство реальных хеш-таблиц
|
||||||
используют несовершенные хеш-функции. Это может привести к ситуациям, когда хеш-функция генерирует одинаковый индекс для
|
используют несовершенные хеш-функции. Это может привести к ситуациям, когда хеш-функция генерирует одинаковый индекс для
|
||||||
@ -14,9 +16,11 @@
|
|||||||
Существует два варианта решения коллизий - хеш-таблица с цепочками и с открытой адресацией.
|
Существует два варианта решения коллизий - хеш-таблица с цепочками и с открытой адресацией.
|
||||||
|
|
||||||
Метод цепочек подразумевает хранение значений, соответствующих одному и тому же индексу в виде связного списка(цепочки).
|
Метод цепочек подразумевает хранение значений, соответствующих одному и тому же индексу в виде связного списка(цепочки).
|
||||||
|
|
||||||
![Хеш цепочки](https://upload.wikimedia.org/wikipedia/commons/d/d0/Hash_table_5_0_1_1_1_1_1_LL.svg)
|
![Хеш цепочки](https://upload.wikimedia.org/wikipedia/commons/d/d0/Hash_table_5_0_1_1_1_1_1_LL.svg)
|
||||||
|
|
||||||
Метод открытой адресации помещает значение, для которого получен дублирующий индекс, в первую свободную ячейку.
|
Метод открытой адресации помещает значение, для которого получен дублирующий индекс, в первую свободную ячейку.
|
||||||
|
|
||||||
![Хеш открытая адресация](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Hash_table_5_0_1_1_1_1_0_SP.svg/380px-Hash_table_5_0_1_1_1_1_0_SP.svg.png)
|
![Хеш открытая адресация](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Hash_table_5_0_1_1_1_1_0_SP.svg/380px-Hash_table_5_0_1_1_1_1_0_SP.svg.png)
|
||||||
|
|
||||||
## Ссылки
|
## Ссылки
|
||||||
|
@ -9,7 +9,9 @@
|
|||||||
以某种方式进行处理。
|
以某种方式进行处理。
|
||||||
|
|
||||||
|
|
||||||
![Hash Table](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.svg)
|
![Hash Table](./images/hash-table.jpeg)
|
||||||
|
|
||||||
|
*Made with [okso.app](https://okso.app)*
|
||||||
|
|
||||||
通过单独的链接解决哈希冲突
|
通过单独的链接解决哈希冲突
|
||||||
|
|
||||||
|
BIN
src/data-structures/hash-table/images/hash-table.jpeg
Normal file
BIN
src/data-structures/hash-table/images/hash-table.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 165 KiB |
Loading…
Reference in New Issue
Block a user