https://www.techiedelight.com/introduction-priority-queues-using-binary-heaps/ https://www.techiedelight.com/min-heap-max-heap-implementation-in-java/