Esempio n. 1
0
    def testExtractMax(self):
        # Single element
        heap = Heap([1])

        assert heap.extract_max() == 1

        # Sorted, n = 2
        heap = Heap([1, 2])

        for i in [2, 1]:
            assert heap.extract_max() == i

        # Reversed, n = 2
        heap = Heap([2, 1])

        for i in [2, 1]:
            assert heap.extract_max() == i

        # Sorted, n = 3
        heap = Heap([1, 2, 3])

        for i in [3, 2, 1]:
            assert heap.extract_max() == i

        # Reversed, n = 3
        heap = Heap([3, 2, 1])

        for i in [3, 2, 1]:
            assert heap.extract_max() == i

        # Intercalated, n = 5
        heap = Heap([1, 5, 2, 3, 4])

        for i in [5, 4, 3, 2, 1]:
            assert heap.extract_max() == i
Esempio n. 2
0
    def testExtractMax(self):
        # Single element
        heap = Heap([1])

        assert heap.extract_max() == 1

        # Sorted, n = 2
        heap = Heap([1, 2])

        for i in [2, 1]:
            assert heap.extract_max() == i

        # Reversed, n = 2
        heap = Heap([2, 1])

        for i in [2, 1]:
            assert heap.extract_max() == i

        # Sorted, n = 3
        heap = Heap([1, 2, 3])

        for i in [3, 2, 1]:
            assert heap.extract_max() == i

        # Reversed, n = 3
        heap = Heap([3, 2, 1])

        for i in [3, 2, 1]:
            assert heap.extract_max() == i

        # Intercalated, n = 5
        heap = Heap([1, 5, 2, 3, 4])

        for i in [5, 4, 3, 2, 1]:
            assert heap.extract_max() == i