A pairing heap is a self-adjusting heap data structure that efficiently supports decrease-key.
The pairing heap was introduced by Fredman, Sedgewick, Sleator, and Tarjan in their paper The Pairing Heap, a New Form of Self-Adjusting Heap. It has worse theoretical performance than the more complicated Fibonacci Heap, but in practice is dramatically faster.