Answer ti the question no 1:
A binary heap is a data structure, which looks similar to a complete binary tree.
Answer to the question no 2 :
Heaps are used in many famous algorithms such as Dijkstra's algorithm for finding the shortest path, the heap sort sorting algorithm, implementing priority queues, and more. Essentially, heaps are the data structure you want to use when you want to be able to access the maximum or minimum element very quickly.For instant access to the foremost important value within the case of a Max Heap or the tiniest value within the case of a Min Heap. By “instant access” I mean constant time or O(1) for you computer scientists. This just implies that we all know where the value is visiting be which is within the muse of the tree or at the beginning of the array, hoping on which system you're using. Useful for priority rows and schedules, where the first item is prioritized. An exercise for this could be prioritizing patients at a hospital to figure on with the foremost effective priority.