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
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
def test_pop_min_empty(): bst = BinarySearchTree() assert bst.pop_min() is None
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)