forked from trekhleb/javascript-algorithms
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: added ukrainian translations for hash table (trekhleb#948)
Co-authored-by: Oleksii Trekhleb <[email protected]>
- Loading branch information
1 parent
26a27f3
commit 9ef6650
Showing
2 changed files
with
35 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Геш таблиця | ||
|
||
**Геш таблиця** - структура даних, що реалізує абстрактний тип даних асоціативний масив, тобто. структура, яка | ||
_зв'язує ключі зі значеннями_. Геш-таблиця використовує _геш-функцію_ для обчислення індексу в масиві, в якому може | ||
бути знайдено бажане значення. Нижче представлена геш-таблиця, у якій ключем виступає ім'я людини, а значеннями | ||
телефонні номери. Геш-функція перетворює ключ-ім'я на індекс масиву з телефонними номерами. | ||
|
||
![Hash Table](./images/hash-table.jpeg) | ||
|
||
В ідеалі геш-функція присвоюватиме елементу масиву унікальний ключ. Проте більшість реальних геш-таблиць | ||
використовують недосконалі геш-функції. Це може призвести до ситуацій, коли геш-функція генерує однаковий індекс для | ||
кількох ключів. Ці ситуації називаються колізіями і мають бути якось вирішені. | ||
|
||
Існує два варіанти вирішення колізій - геш-таблиця з ланцюжками та з відкритою адресацією. | ||
|
||
Метод ланцюжків передбачає зберігання значень, відповідних одному й тому індексу як зв'язкового списку(ланцюжка). | ||
|
||
![Hash Collision](./images/collision-resolution.jpeg) | ||
|
||
_Made with [okso.app](https://okso.app)_ | ||
|
||
Метод відкритої адресації поміщає значення, для якого отримано дублюючий індекс, в першу вільну комірку. | ||
|
||
![Геш відкрита адресація](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://uk.wikipedia.org/wiki/%D0%93%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8F) | ||
- [YouTube](https://www.youtube.com/watch?v=WTYaboK-NMk) |