http://fullstackprep.dev/articles/dsa/queue/priority-queue-using-heap