def test_delete(): my_list = [] my_list.append(2) my_list.append(1) my_list.append(7) my_list.append(4) my_list.append(8) my_list.append(3) my_list.append(6) my_list.append(5) tree = Tree(2) tree.insert(Tree(1)) tree.insert(Tree(7)) tree.insert(Tree(4)) tree.insert(Tree(8)) tree.insert(Tree(3)) tree.insert(Tree(6)) tree.insert(Tree(5)) print('list', my_list, '\n') print('delete node 7:') tree.delete(7) tree.print() print('delete node 5:') tree.delete(5) tree.print()
from classes.tree import TreeNode, Tree tree = Tree() tree.insert(1) tree.insert(3, 1) tree.insert(2, 1) tree.insert(4, 2) tree.insert(7, 2) tree.insert(78, 7) tree.insert(10, 3) tree.insert(10, 3) print(tree.print(tree.root, '')) def find_lca(tree, n1, n2): _, n1_path = tree.search(tree.root, n1) _, n2_path = tree.search(tree.root, n2) if n1_path is None: print('Node ', n1, ' doesn\'t exist') return None if n2_path is None: print('Node ', n2, ' doesn\'t exist') return None n1_path = n1_path.split(',') n2_path = n2_path.split(',') if len(n1_path) == 0 or len(n2_path) == 0: return None