what is the difference between priority queue and heap?
The heap is one maximally efficient implementation of an abstract data type called a priority queue, and in fact, priority queues are often referred to as "heaps", regardless of how they may be implemented. ... However, a heap is not a sorted structure; it can be regarded as being partially ordered.