def test_find(): tree = BinarySearchTree() tree.insert(15) tree.insert(10) tree.insert(3) tree.insert(11) found = tree.find(3) assert found.value == 3 found = tree.find(100) assert found is None
def test_insert(): tree = BinarySearchTree() tree.insert(15) assert tree.root.value == 15 tree.insert(10) assert tree.root.left.value == 10 tree.insert(3) assert tree.root.left.left.value == 3 tree.insert(11) assert tree.root.left.right.value == 11
def test_insert(): bst = BinarySearchTree() bst.insert(4) bst.insert(10) bst.insert(1) assert bst.root.data == 4 assert bst.root.left.data == 1 assert bst.root.right.data == 10
def test_insert_list_delete_left(self): # insert, list bst = BinarySearchTree(self.BinarySearchNode) lst = [random.randint(0, 99) for value in range(1000)] for value in lst: bst.insert(value) self.assertEqual(bst.list(), sorted(lst)) # delete_left random.shuffle(lst) for value in lst: bst.delete_left(value) self.assertEqual(bst.list(), [])
from random import randint from random import shuffle from tree.binary_search_tree import BinarySearchTree # from tree.binary_search_tree.recursive import BinarySearchNode # from tree.binary_search_tree.sequencial import BinarySearchNode from tree.binary_search_tree.parental import BinarySearchNode bst = BinarySearchTree(BinarySearchNode) # # 1) Insert # lst = [randint(1, 5) for _ in range(10)] for i in lst: bst.insert(i) print() print('# insert', i) print(bst) print(bst.list()) # # 2) Delete # shuffle(lst) for i in lst: # bst.delete_left(i) bst.delete_right(i) print() print('# delete', i) print(bst) print(list(bst))
from tree.binary_search_tree import Node, BinarySearchTree new_tree = BinarySearchTree() new_tree.insert('E', 'E') new_tree.insert('B', 'B') new_tree.insert('G', 'G') new_tree.insert('A', 'A') new_tree.insert('D', 'D') new_tree.insert('F', 'F') new_tree.insert('H', 'H') new_tree.insert('C', 'C') print(new_tree.size()) # print(new_tree.get(2)) # print(new_tree.delete(10)) print(new_tree.size()) # print(new_tree.get(10)) print(new_tree.min()) print(new_tree.max()) print('--------------') keys_que = new_tree.pre_ergodic() for i in keys_que: print(i.item.value) print('==============') keys_que = new_tree.mid_ergodic() for i in keys_que:
def test_bfs(): tree = BinarySearchTree() tree.insert(10) tree.insert(15) tree.insert(20) tree.insert(40) tree.insert(16) tree.insert(3) tree.insert(2) tree.insert(1) tree.insert(5) tree.insert(11) values = bfs_walk(tree) assert values == [10, 3, 15, 2, 5, 11, 20, 1, 16, 40]
def test_instantiation(): assert BinarySearchTree()
def bst(): b = BinarySearchTree() b.insert_list([10, 5, 17, 3, 7, 12, 19, 1, 4, 13]) return b
def test_insert_list(): bst = BinarySearchTree() bst.insert_list([10, 5, 17]) assert bst.root.data == 10 assert bst.root.left.data == 5 assert bst.root.right.data == 17