コード例 #1
0
ファイル: P3.py プロジェクト: nishu-lahoti/cs107_nishu_lahoti
    def __init__(self, max_size):

        # Different metholodogy for initialization based on conversations with Hayoun in OH.

        # super().__init__(max_size)
        # Set elements to empty MinHeap
        # Set max_size to max_size
        self.elements = MinHeap([])
        self.max_size = max_size
コード例 #2
0
ファイル: P3.py プロジェクト: sandrawing/cs107_Xin_Zeng
class HeapPriorityQueue(PriorityQueue):
    def __init__(self, max_size):
        self.max_size = max_size
        self.elements = MinHeap([])

    def put(self, val):
        if len(self.elements) >= self.max_size:
            raise IndexError('Max Size has reached')
        self.elements.heappush(val)

    def get(self):
        if len(self) == 0:
            raise IndexError('Empty Priority Queue')
        return self.elements.heappop()

    def peek(self):
        if len(self) == 0:
            raise IndexError('Empty Priority Queue')
        return self.elements.elements[0]
コード例 #3
0
class HeapPriorityQueue(PriorityQueue):
    def __init__(self,max_size) -> None:
        self.elements=MinHeap([])
        self.max_size = max_size

    def put(self, val):
        if self.elements.size >= self.max_size:
            raise IndexError('Full priority queue')
        self.elements.heappush(val)

    def get(self):
        if self.elements.size==0:
            raise IndexError('Empty priority queue')
        return self.elements.heappop()

    def peek(self):
        if self.elements.size==0:
            raise IndexError('Empty priority queue')
        return self.elements.elements[0]
コード例 #4
0
class HeapPriorityQueue(PriorityQueue):
    def __init__(self, max_size):
        self.elements = MinHeap([])
        self.max_size = max_size

    def put(self, val):
        if self.elements.size is self.max_size:
            raise IndexError('Priority Queue is empty')
        #adding the element
        self.elements.heappush(val)

    def get(self):
        if self.elements.size is 0: raise IndexError('Priority Queue is empty')
        #deletes and returns smallest element
        return self.elements.heappop()

    def peek(self):
        if self.elements.size is 0: raise IndexError('Priority Queue is empty')
        #returning smallest element
        return self.elements.elements[0]
コード例 #5
0
ファイル: P3.py プロジェクト: sjmoon715/cs207_stephen_moon
class HeapPriorityQueue(PriorityQueue):
    def __init__(self, max_size):
        self.elements = MinHeap([])
        self.max_size = max_size

    def put(self, val):
        if len(self.elements) > self.max_size:
            raise IndexError("Full Priority Queue")
        else:
            self.elements.heappush(val)

    def get(self):
        if not self.elements:
            raise IndexError("Empty Priority Queue")
        else:
            return self.elements.heappop()

    def peek(self):
        if not self.elements:
            raise IndexError("Empty Priority Queue")
        else:
            return self.elements.elements[0]
コード例 #6
0
ファイル: P3.py プロジェクト: ZhenruWang/cs207_zhenru_wang
class HeapPriorityQueue(PriorityQueue):
    def __init__(self, max_size):
        self.elements = MinHeap([])
        self.max_size = max_size

    def put(self, val):
        if len(self.elements) == self.max_size:
            raise IndexError('put called on a full priority queue')
        self.elements.heappush(val)

    def get(self):
        try:
            removed = self.elements.heappop()
        except:
            raise IndexError('get called on an empty priority queue')
        return removed

    def peek(self):
        if len(self.elements.elements) == 0:
            raise IndexError('peek called on an empty priority queue')
        res = self.elements.elements[0]
        return res
コード例 #7
0
ファイル: P3.py プロジェクト: nishu-lahoti/cs107_nishu_lahoti
class HeapPriorityQueue(PriorityQueue):
    def __init__(self, max_size):

        # Different metholodogy for initialization based on conversations with Hayoun in OH.

        # super().__init__(max_size)
        # Set elements to empty MinHeap
        # Set max_size to max_size
        self.elements = MinHeap([])
        self.max_size = max_size

    def put(self, val):

        # IndexError if the elements list is greater than the max size
        if len(self.elements) > self.max_size - 1:
            raise IndexError("Max size already reached")

        # Utilize the heappush from MinHeap method
        self.elements.heappush(val)

    def get(self):

        if not self.elements:
            raise IndexError("Empty priority queue.")

        # Utilize the heappop from MinHeap method
        return self.elements.heappop()

    def peek(self):

        # IndexError if the elements list doesn't exist
        if not self.elements:
            raise IndexError("Empty priority queue.")

        # Guidance from Hayoun - the first element of elements
        return self.elements.elements[0]
コード例 #8
0
ファイル: P3.py プロジェクト: sandrawing/cs107_Xin_Zeng
 def __init__(self, max_size):
     self.max_size = max_size
     self.elements = MinHeap([])
コード例 #9
0
 def __init__(self,max_size) -> None:
     self.elements=MinHeap([])
     self.max_size = max_size