mirror of
https://github.moeyy.xyz/https://github.com/trekhleb/javascript-algorithms.git
synced 2024-12-26 07:01:18 +08:00
Translate hash table into Russian. Add links from English file to translations. (#318)
This commit is contained in:
parent
0aa63ff42a
commit
c672f1ff30
@ -1,5 +1,9 @@
|
|||||||
# Hash Table
|
# Hash Table
|
||||||
|
|
||||||
|
_Read this in other languages:_
|
||||||
|
[_简体中文_](README.zh-CN.md),
|
||||||
|
[_Русский_](README.ru-RU.md)
|
||||||
|
|
||||||
In computing, a **hash table** (hash map) is a data
|
In computing, a **hash table** (hash map) is a data
|
||||||
structure which implements an *associative array*
|
structure which implements an *associative array*
|
||||||
abstract data type, a structure that can *map keys
|
abstract data type, a structure that can *map keys
|
||||||
|
25
src/data-structures/hash-table/README.ru-RU.md
Normal file
25
src/data-structures/hash-table/README.ru-RU.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Хэш таблица
|
||||||
|
|
||||||
|
**Хеш-таблица** - структура данных, реализующая абстрактный тип данных *ассоциативный массив*, т.е. структура, которая
|
||||||
|
*связывает ключи со значениями*. Хеш-таблица использует *хеш-функцию* для вычисления индекса в массиве, в котором может
|
||||||
|
быть найдено желаемое значение. Ниже представлена хеш-таблица, в которой ключём выступает имя человека, а значениями
|
||||||
|
являются телефонные номера. Хеш-функция преобразует ключ-имя в индекс массива с телефонными номерами.
|
||||||
|
|
||||||
|
![Хеш-таблица](https://upload.wikimedia.org/wikipedia/commons/7/7d/Hash_table_3_1_1_0_1_0_0_SP.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)
|
||||||
|
|
||||||
|
## Ссылки
|
||||||
|
|
||||||
|
- [Wikipedia](https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0)
|
||||||
|
- [YouTube](https://www.youtube.com/watch?v=rVr1y32fDI0)
|
Loading…
Reference in New Issue
Block a user