Priority Queue implemented using Binary heap