def testBasic(self): nodes = [node(i) for i in range(6)] root = nodes[4] root.setLeft(nodes[2]).setRight(nodes[5]) nodes[2].setLeft(nodes[1]).setRight(nodes[3]) nodes[1].setLeft(nodes[0]) print vertical_sum(root)
def testNoParent(self): nodes = [node(i) for i in range(5)] root = nodes[3] root.setLeft(nodes[1]).setRight(nodes[4]) nodes[1].setLeft(nodes[0]).setRight(nodes[2]) self.assertEqual(nodes[1], next_largest(root, nodes[0])) self.assertEqual(nodes[2], next_largest(root, nodes[1])) self.assertEqual(nodes[3], next_largest(root, nodes[2])) self.assertEqual(nodes[4], next_largest(root, nodes[3])) self.assertEqual(None, next_largest(root, nodes[4]))
def testBasic(self): nodes = [node(i) for i in range(6)] root = nodes[4] root.setLeft(nodes[2]).setRight(nodes[5]) nodes[2].setLeft(nodes[1]).setRight(nodes[3]) nodes[1].setLeft(nodes[0]) self.assertEqual(nodes[0], lowest_common_ancestor(root, nodes[0], nodes[0])) self.assertEqual(nodes[1], lowest_common_ancestor(root, nodes[0], nodes[1])) self.assertEqual(nodes[2], lowest_common_ancestor(root, nodes[1], nodes[3])) self.assertEqual(nodes[2], lowest_common_ancestor(root, nodes[0], nodes[3])) self.assertEqual(nodes[4], lowest_common_ancestor(root, nodes[0], nodes[5]))
def _buildTree(self): nodes = [node(i) for i in range(5)] root = nodes[3] root.setLeft(nodes[1]).setRight(nodes[4]) nodes[1].setLeft(nodes[0]).setRight(nodes[2]) return root
def testBasic(self): nodes = [node(i) for i in range(7)] root = nodes[3] root.setLeft(nodes[1]).setRight(nodes[5]) nodes[1].setLeft(nodes[0]).setRight(nodes[2]) nodes[5].setLeft(nodes[4]).setRight(nodes[6])