A priority queue is a data structure that stores elements with associated priorities and allows retrieval of the element with the highest (or lowest) priority. A min heap is a specific implementation of a priority queue where the element with the smallest priority is always at the root, ensuring efficient retrieval of the minimum element. Operations on a min heap, such as insertion and extraction of the minimum element, have a time complexity logarithmic in the number of elements.