'''
Priority Queue -> pop based on priority

Array based data structure
'''
class PriorityQueue:

    def __init__(self):
        pass

    def insert(self):
        pass

    def remove(self, fn):
        # remove based on a function
        pass


def max(a, b):
    return a if a > b else b

def min (a, b):
    return a if a < b else b



'''
Binary heap based data structure

save the values into a binary tree & have sink / swim operations
to reorder the nodes such that the root = max & lower are smaller and
so on
'''
