Example #1
0
 def test1(self):
     i = 0
     for test in self.tests:
         node = createBSTWrapper(test[0])
         self.assertTrue(
             list(BinaryTreeNode.getInOrderGenerator(node)) == test[0]
             and list(BinaryTreeNode.getPreOrderGenerator(node)) == test[1],
             '%i failed' % i)
         i += 1
Example #2
0
def createBST(sortedList, start, end):
    if start > end:
        return None

    middle = (start + end) // 2

    node = BinaryTreeNode(sortedList[middle])
    node.left = createBST(sortedList, start, middle - 1)
    node.right = createBST(sortedList, middle + 1, end)

    return node
Example #3
0
    def test_1(self):
        for test in self.tests:
            treeRoot = BinaryTreeNode.buildTree(test[0], test[1])
            levelLists = createLevelLinkedLists(treeRoot)
            levelLists2 = createLevelLinkedListsBFS(treeRoot)

            for i in range(len(test[2])):
                self.assertEqual(str(test[2][i]), str(levelLists[i]))
                self.assertEqual(str(test[2][i]), str(levelLists2[i]))
Example #4
0
    def test_1(self):
        for test in self.tests:
            treeRoot = BinaryTreeNode.buildTree(test[0], test[1])
            levelLists = createLevelLinkedLists(treeRoot)
            levelLists2 = createLevelLinkedListsBFS(treeRoot)

            for i in range(len(test[2])):
                self.assertEqual(str(test[2][i]), str(levelLists[i]))
                self.assertEqual(str(test[2][i]), str(levelLists2[i]))
Example #5
0
 def test_1(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.left).key, 1) 
Example #6
0
 def test_3(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.right), None) 
Example #7
0
 def test1(self):
     i = 0
     for test in self.tests:
         node = createBSTWrapper(test[0])
         self.assertTrue(list(BinaryTreeNode.getInOrderGenerator(node)) == test[0] and list(BinaryTreeNode.getPreOrderGenerator(node)) == test[1] , '%i failed' %i)
         i += 1
Example #8
0
 def test_1(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(commonAncestor(root, root.left, root.right), root) 
Example #9
0
 def test_3(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [3, 2, 1])
     self.assertEqual(commonAncestor(root, root.left, root.left), root.left) 
Example #10
0
def isBST(root):
    inOrderList = list(BinaryTreeNode.getInOrderGenerator(root))
    return inOrderList == sorted(inOrderList)
Example #11
0
 def test_1(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.left).key, 1)
Example #12
0
 def test_3(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.right), None)
Example #13
0
 def test_1(self):
     for test in self.tests:
         root = BinaryTreeNode.buildTree(test[1], test[0])
         self.assertEqual(isBST(root), test[2])
         self.assertEqual(isBST2(root), test[2])
Example #14
0
 def test_1(self):
     for test in self.tests:
         t1 = BinaryTreeNode.buildTree(test[0], test[1])
         result = findSums(t1, test[2])
         self.assertEqual(result, test[3])
Example #15
0
 def test_1(self):
     for test in self.tests:
         t1 = BinaryTreeNode.buildTree(test[0], test[1])
         t2 = BinaryTreeNode.buildTree(test[2], test[3])
         self.assertEquals(isSubtree(t1, t2), test[4])
Example #16
0
 def test_1(self):
     for test in self.tests:
         t1 = BinaryTreeNode.buildTree(test[0], test[1])
         result = findSums(t1, test[2])
         self.assertEqual(result, test[3])
Example #17
0
 def test_1(self):
     for test in self.tests:
         t1 = BinaryTreeNode.buildTree(test[0], test[1])
         t2 = BinaryTreeNode.buildTree(test[2], test[3])
         self.assertEquals(isSubtree(t1, t2), test[4])