Data structure "heap" might be used in various places. If you are aware about process creation from operating system point of view. Heap used for dynamic memory allocation wherever it is needed.

There are two types of heap "ascending heap" and "descending heap". In ascending heap root is the smallest one and in descending heap root is the largest element of the complete or almost complete binary tree.

So, wherever priority thing need to be implemented, ascending or descending heap can be used.

To create `Priority queue`

, heaps are used.