Developed a Max Priority Queue data structure using the Heap algorithm in Python as part of the Algorithm course. The project demonstrates how priority queues work by maintaining elements in a heap-based structure where the largest element always has the highest priority.
The implementation includes key operations such as insertion (push), deletion of the maximum element (pop), and heap reordering using upheap and heapify operations to maintain the heap property.
max
The project also applies the data structure to solve the Last Stone Weight problem, where the two largest elements are repeatedly removed and processed until only one value remains. This demonstrates a practical application of priority queues in algorithmic problem solving