예제 #1
0
def test_heapify_1000_elements_in_reverse_order():
    heap = heapify(list(range(1000, -1, -1)))
    elem_pos = heap[9]
    par_pos = parent_position(9)
    while par_pos > 0:
        assert heap[elem_pos] > heap[par_pos]
        elem_pos = par_pos
        par_pos = parent_position(elem_pos)
예제 #2
0
def test_heapify_nothing():
    heap = heapify([])
    assert heap == []
예제 #3
0
def test_heapify_2_equal_elements():
    heap = heapify([2, 2])
    assert heap == [2, 2]
예제 #4
0
def test_heapify_2_elements_reverse():
    heap = heapify([2, 1])
    assert heap == [1, 2]
예제 #5
0
def test_heapify_2_elements():
    heap = heapify([1, 2])
    assert heap == [1, 2]
예제 #6
0
def test_heapify_5_elements_1():
    heap = heapify([3, 2, 1, 5, 4])
    assert heap == [1, 3, 2, 5, 4]
예제 #7
0
def test_sort_with_10_000_elements():
    big_number = 10_000
    heap = heapify(list(range(big_number, -1, -1)), min_heap=False)
    sort(heap)
    assert heap == list(range(big_number + 1))
예제 #8
0
def test_heapify_1_element():
    heap = heapify([1])
    assert heap == [1]
예제 #9
0
def test_heapify_1_element_in_existing_heap_2():
    heap = heapify([2, 4, 5, 3])
    assert heap == [2, 3, 5, 4]
예제 #10
0
def test_heapify_4_elements_2():
    heap = heapify([3, 4, 4, 1])
    assert heap == [1, 3, 4, 4]
예제 #11
0
def test_heapify_6_elements_3():
    heap = heapify([5, 4, 3, 2, 1, 0])
    assert heap == [0, 2, 1, 5, 3, 4]
예제 #12
0
def test_heapify_6_elements_2():
    heap = heapify([0, 2, 1, 4, 5, 3])
    assert heap == [0, 2, 1, 4, 5, 3]
예제 #13
0
def test_heapify_4_elements_1():
    heap = heapify([3, 4, 2, 1])
    assert heap == [1, 2, 3, 4]
예제 #14
0
def test_heapify_6_elements_1():
    heap = heapify([3, 2, 4, 1, 5, 0])
    assert heap == [0, 2, 1, 3, 5, 4]
예제 #15
0
def test_heapify_5_elements_2():
    heap = heapify([3, 2, 3, 1, 1])
    assert heap == [1, 1, 3, 3, 2]
예제 #16
0
def test_heapify_3_elements_2():
    heap = heapify([2, 1, 3])
    assert heap == [1, 2, 3]
예제 #17
0
def test_heapify_3_elements_3():
    heap = heapify([3, 2, 1])
    assert heap == [1, 3, 2]
예제 #18
0
def test_heapify_7_elements_1():
    heap = heapify([6, 5, 4, 3, 2, 1, 0])
    assert heap == [0, 3, 1, 6, 4, 5, 2]
예제 #19
0
def test_sort_with_10_elements():
    heap = heapify(list(range(10, -1, -1)), min_heap=False)
    sort(heap)
    assert heap == list(range(11))
예제 #20
0
def test_heapify_1_element_in_existing_heap_1():
    heap = heapify([0, 2, 3, 1, 6, 4, 5])
    assert heap == [0, 1, 3, 2, 6, 4, 5]
예제 #21
0
def test_max_heap_with_10_elements():
    heap = heapify(list(range(10, 0, -1)), min_heap=False)
    assert heap == [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
예제 #22
0
def test_heapify_4_elements_3():
    heap = heapify([3, 3, 3, 3])
    assert heap == [3, 3, 3, 3]