Uma Binary Heap é uma árvore binária completa ou quase completa onde os elementos são dispostos de forma a respeitar a propriedade da Min-Heap ou Max-Heap. A Binary Heap pode ser implementada como um array, onde cada posição é considerada pai de outras duas posições. Elementos podem ser inseridos ou removidos em tempo O(logN) através de correções para manter a propriedade da heap.