Beispiel #1
0
def test_pop_min_reverse_ordered():
    bst = BinarySearchTree()

    item_list = list(range(10))[::-1]

    for item in item_list:
        bst.add_value(item)

    assert bst.pop_min() == 0
Beispiel #2
0
def test_pop_min_random():
    bst = BinarySearchTree()

    item_list = list(range(10))

    shuffled_item_list = item_list[:]
    random.shuffle(shuffled_item_list)

    for item in shuffled_item_list:
        bst.add_value(item)

    assert bst.pop_min() == 0
Beispiel #3
0
def test_pop_min_empty():
    bst = BinarySearchTree()
    assert bst.pop_min() is None
Beispiel #4
0
    bst = BinarySearchTree()

    bst.add_value(5)
    bst.add_value(3)
    bst.add_value(2)
    bst.add_value(1)
    bst.add_value(20)
    bst.add_value(24)
    a = bst.add_value(25)
    bst.add_value(26)
    bst.add_value(7)
    bst.add_value(4)
    bst.add_value(6)
    bst.add_value(8)
    bst.add_value(23)
    bst.add_value(21)
    bst.add_value(22)

    print(bst.pop_min_at_parent(a))

    print(bst.pop_min())
    print(bst.pop_min())
    print(bst.pop_min())
    print(bst.pop_min())
    print(bst.pop_min())

    print('-----')

    for value in bst.traverse():
        print(value)