def test(): bt = BinaryTree(1) bt.insertLeft(2) bt.insertLeft(3) assert bt.left.key == 3 assert bt.left.left.key == 2 print("assertions ok")
maxlevel.value = level _leftViewRec(root.left, level + 1, maxlevel) _leftViewRec(root.right, level + 1, maxlevel) return def rightViewRec(root): m = MaxLevel(-1) _rightViewRec(root, 0, m) def _rightViewRec(root, level, maxlevel): if root is None: return if maxlevel.value < level: print(root.data) maxlevel.value = level _rightViewRec(root.right, level + 1, maxlevel) _rightViewRec(root.left, level + 1, maxlevel) return t = BinaryTree() t.insertLeft(5) t.insertLeft(4) t.insertLeft(3) t.insertRight(7) t.insertRight(9) t.insertLeftNode(7, 6) t.insertRightNode(9, 11) rightView(t.root)
from binarytree import BinaryTree # Create a test tree: bt bt = BinaryTree('HTML') bt.insertLeft('HEAD') bt.insertRight('BODY') head = bt.left_node head.insertLeft('META') head.insertRight('TITLE') body = bt.right_node body.insertLeft('HEADING') body.insertRight('CONTENT') content = body.right_node content.insertRight('WRAPPER') bt.pre_order() print() bt.in_order() print() bt.post_order()
from binarytree import BinaryTree r = BinaryTree('a') print(r.getRootVal()) print(r.getLeftChild()) r.insertLeft('b') #insert a node print(r.getLeftChild()) #get that node print(r.getLeftChild().getRootVal()) #get that node, get that key(name) r.insertRight('c') print(r.getRightChild().getRootVal()) #get the name of right child r.getRightChild().setRootVal('hello') print(r.getRightChild().getRootVal()) #get the changed name of right child r.insertRight('o') print('-----') print(r.getRightChild().getRootVal()) print(r.getRightChild().getRightChild().getRootVal())
def isMirror(t1, t2): if t1 is None and t2 is None: return True if t1 is None and t2 is not None: return False if t1 is not None and t2 is None: return False if (t1.data == t2.data and isMirror(t1.left, t2.right) and isMirror(t1.right, t2.left)): return True return False t = BinaryTree() t.insertLeft(5) t.insertLeft(4) t.insertRight(7) s = BinaryTree() s.insertLeft(5) s.insertLeft(4) s.insertRight(7) r = BinaryTree() r.insertLeft(5) r.insertLeft(7) r.insertRight(4) print(isMirror(t.root, r.root))
from binarytree import BinaryTree # create a sample tree, bt bt = BinaryTree(1) bt.insertLeft(2) bt.insertRight(5) l1 = bt.left_node l1.insertLeft(3) l1.insertRight(4) r1 = bt.right_node r1.insertLeft(6) r1.insertRight(7) bt.bfs()