40 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Heap (data-structure)
_Read this in other languages:_
[_简体中文_](README.zh-CN.md),
[_Русский_](README.ru-RU.md),
[_日本語_](README.ja-JP.md),
[_Français_](README.fr-FR.md),
[_Português_](README.pt-BR.md),
[_Türkçe_](README.tr-TR.md),
[_한국어_](README.ko-KR.md),
[_Українська_](README.uk-UA.md)
In computer science, a **heap** is a specialized tree-based
data structure that satisfies the heap property described
below.
In a *min heap*, if `P` is a parent node of `C`, then the
key (the value) of `P` is less than or equal to the
key of `C`.
![MinHeap](./images/min-heap.jpeg)
*Made with [okso.app](https://okso.app)*
In a *max heap*, the key of `P` is greater than or equal
to the key of `C`
![MaxHeap](./images/max-heap.jpeg)
![Array Representation](./images/array-representation.jpeg)
The node at the "top" of the heap with no parents is
called the root node.
## References
- [Wikipedia](https://en.wikipedia.org/wiki/Heap_(data_structure))
- [YouTube](https://www.youtube.com/watch?v=t0Cq6tVNRBA&index=5&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)