Esempio n. 1
0
 def test_lca(self):
     root = Node(1)
     root.left = Node(2)
     root.right = Node(3)
     self.assertEqual(lca_node(root, 2, 3).key, 1)
Esempio n. 2
0
from main import Node, serialize, deserialize

#     1
#    / \
#   3   4
#  / \   \
# 2   5   7
tree = Node(1)
tree.left = Node(3)
tree.left.left = Node(2)
tree.left.right = Node(5)
tree.right = Node(4)
tree.right.right = Node(7)

res = serialize(tree)
expected = '1 3 2 # # 5 # # 4 # 7 # #'
print('result: ' + res)
print('expected: ' + expected)
assert(res == expected)

res = deserialize(expected)
print('result: ' + str(res))
print('expected: ' + str(tree))
assert(res.val == 1)
assert(res.left.val == 3)
assert(res.left.left.val == 2)
assert(res.left.right.val == 5)
assert(res.right.val == 4)
assert(res.right.right.val == 7)
# 132547
Esempio n. 3
0
from main import Node, evaluate

tree = Node('*')
tree.left = Node('+')
tree.left.left = Node(3)
tree.left.right = Node(2)
tree.right = Node('+')
tree.right.left = Node(4)
tree.right.right = Node(5)

res = evaluate(tree)
print(res)
# 45
assert (res == 45)