https://stackoverflow.com/questions/18993269/difference-between-priority-queue-and-a-heap

A priority queue is an abstract datatype. It is a shorthand way of describing a particular interface and behavior, and says nothing about the underlying implementation.

A heap is a data structure. It is a name for a particular way of storing data that makes certain operations very efficient.

It just so happens that a heap is a very good data structure to implement a priority queue. And a priority queue can be implemented using many of the data structures, such as Array, Linked List, Binary Search Tree, Heap, etc.

Screenshot 2023-04-07 at 3.30.21 PM.png