This paper presents the k-d heap, an efficient data structure that implements a multi-dimensional priority queue. The basic form of the k-d heap uses no extra space, takes linear time to construct, and supports instant access to the items carrying the minimum key of any dimension, as well as logarithmic time insertion, deletion, and modification of any item in the queue. Moreover, it can be extended to a multi-dimensional double-ended mergeable priority queue, capable of efficiently supporting all the operations linked to priority queues. The k-d heap is very easily implemented, and has direct applications.