diff --git a/src/data-structures/hash-table/README.fr-FR.md b/src/data-structures/hash-table/README.fr-FR.md index f32d8e56..3dd17630 100644 --- a/src/data-structures/hash-table/README.fr-FR.md +++ b/src/data-structures/hash-table/README.fr-FR.md @@ -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 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é. diff --git a/src/data-structures/hash-table/README.ja-JP.md b/src/data-structures/hash-table/README.ja-JP.md index 85bf71d1..e73ed012 100644 --- a/src/data-structures/hash-table/README.ja-JP.md +++ b/src/data-structures/hash-table/README.ja-JP.md @@ -1,10 +1,12 @@ # ハッシュテーブル - + コンピュータサイエンスにおいて、**ハッシュテーブル**(ハッシュマップ)は*キーを値にマッピング*できる*連想配列*の機能を持ったデータ構造です。ハッシュテーブルは*ハッシュ関数*を使ってバケットやスロットの配列へのインデックスを計算し、そこから目的の値を見つけることができます。 理想的には、ハッシュ関数は各キーを一意のバケットに割り当てますが、ほとんどのハッシュテーブルは不完全なハッシュ関数を採用しているため、複数のキーに対して同じインデックスを生成した時にハッシュの衝突が起こります。このような衝突は何らかの方法で対処する必要があります。 -![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)* チェイン法によるハッシュの衝突の解決例 diff --git a/src/data-structures/hash-table/README.ko-KR.md b/src/data-structures/hash-table/README.ko-KR.md index 0b847df5..b7d13d6c 100644 --- a/src/data-structures/hash-table/README.ko-KR.md +++ b/src/data-structures/hash-table/README.ko-KR.md @@ -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)* 다음은 분리 연결법을 통해 해시 충돌을 해결한 예시입니다. @@ -20,4 +22,4 @@ _Read this in other languages:_ ## 참고 - [Wikipedia](https://en.wikipedia.org/wiki/Hash_table) -- [YouTube](https://www.youtube.com/watch?v=shs0KM3wKv8&index=4&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8) \ No newline at end of file +- [YouTube](https://www.youtube.com/watch?v=shs0KM3wKv8&index=4&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8) diff --git a/src/data-structures/hash-table/README.md b/src/data-structures/hash-table/README.md index 3aec51b5..42c4a8dd 100644 --- a/src/data-structures/hash-table/README.md +++ b/src/data-structures/hash-table/README.md @@ -22,7 +22,9 @@ collisions where the hash function generates the same index for more than one key. Such collisions must be 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. diff --git a/src/data-structures/hash-table/README.pt-BR.md b/src/data-structures/hash-table/README.pt-BR.md index 0adf9ca9..6a9b660c 100644 --- a/src/data-structures/hash-table/README.pt-BR.md +++ b/src/data-structures/hash-table/README.pt-BR.md @@ -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 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. diff --git a/src/data-structures/hash-table/README.ru-RU.md b/src/data-structures/hash-table/README.ru-RU.md index 1b829049..513f4038 100644 --- a/src/data-structures/hash-table/README.ru-RU.md +++ b/src/data-structures/hash-table/README.ru-RU.md @@ -2,10 +2,12 @@ **Хеш-таблица** - структура данных, реализующая абстрактный тип данных *ассоциативный массив*, т.е. структура, которая *связывает ключи со значениями*. Хеш-таблица использует *хеш-функцию* для вычисления индекса в массиве, в котором может -быть найдено желаемое значение. Ниже представлена хеш-таблица, в которой ключом выступает имя человека, а значениями +быть найдено желаемое значение. Ниже представлена хеш-таблица, в которой ключом выступает имя человека, а значениями являются телефонные номера. Хеш-функция преобразует ключ-имя в индекс массива с телефонными номерами. -![Хеш-таблица](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/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) ## Ссылки diff --git a/src/data-structures/hash-table/README.zh-CN.md b/src/data-structures/hash-table/README.zh-CN.md index f9219df8..3170283d 100644 --- a/src/data-structures/hash-table/README.zh-CN.md +++ b/src/data-structures/hash-table/README.zh-CN.md @@ -1,6 +1,6 @@ # 哈希表 -在计算中, 一个 **哈希表(hash table 或hash map)** 是一种实现 *关联数组(associative array)* +在计算中, 一个 **哈希表(hash table 或hash map)** 是一种实现 *关联数组(associative array)* 的抽象数据类型, 该结构可以将 *键映射到值*。 哈希表使用 *哈希函数/散列函数* 来计算一个值在数组或桶(buckets)中或槽(slots)中对应的索引,可使用该索引找到所需的值。 @@ -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)* 通过单独的链接解决哈希冲突 diff --git a/src/data-structures/hash-table/images/hash-table.jpeg b/src/data-structures/hash-table/images/hash-table.jpeg new file mode 100644 index 00000000..fe50c35f Binary files /dev/null and b/src/data-structures/hash-table/images/hash-table.jpeg differ