diff --git a/src/data-structures/heap/README.md b/src/data-structures/heap/README.md index 204bb676..848b2821 100644 --- a/src/data-structures/heap/README.md +++ b/src/data-structures/heap/README.md @@ -1,5 +1,9 @@ # Heap (data-structure) +_Read this in other languages:_ +[_简体中文_](README.zh-CN.md), +[_Русский_](README.ru-RU.md) + In computer science, a **heap** is a specialized tree-based data structure that satisfies the heap property described below. diff --git a/src/data-structures/heap/README.ru-RU.md b/src/data-structures/heap/README.ru-RU.md new file mode 100644 index 00000000..760fc479 --- /dev/null +++ b/src/data-structures/heap/README.ru-RU.md @@ -0,0 +1,22 @@ +# Куча (структура данных) + +В компьютерных науках куча — это специализированная структура данных типа дерево, которая удовлетворяет свойству кучи: +если B является узлом-потомком узла A, то ключ(A) ≥ ключ(B). Из этого следует, что элемент с наибольшим ключом всегда +является корневым узлом кучи, поэтому иногда такие кучи называют max-кучами. + +![Max-куча](https://upload.wikimedia.org/wikipedia/commons/3/38/Max-Heap.svg) + +Если сравнение перевернуть, то наименьший элемент будет всегда корневым узлом, такие кучи называют min-кучами. + +![Min-куча](https://upload.wikimedia.org/wikipedia/commons/6/69/Min-heap.png) + +Не существует никаких ограничений относительно того, сколько узлов-потомков имеет каждый узел кучи. На практике их +число обычно не более двух. Куча является максимально эффективной реализацией абстрактного типа данных, который +называется очередью с приоритетом. + +Узел на вершине кучи, у которого нет родителей, называется корневым узлом. + +## Ссылки + +- [Wikipedia](https://ru.wikipedia.org/wiki/Куча_(структура_данных)) +- [YouTube](https://www.youtube.com/watch?v=noQ4SUoqrQA)