예제 #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
예제 #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
예제 #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]))
예제 #4
0
파일: test_q_4_4.py 프로젝트: hydersm/CTCI
    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]))
예제 #5
0
파일: test_q_4_6.py 프로젝트: hydersm/CTCI
 def test_1(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.left).key, 1) 
예제 #6
0
파일: test_q_4_6.py 프로젝트: hydersm/CTCI
 def test_3(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.right), None) 
예제 #7
0
파일: test_q_4_3.py 프로젝트: hydersm/CTCI
 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
예제 #8
0
 def test_1(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(commonAncestor(root, root.left, root.right), root) 
예제 #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) 
예제 #10
0
파일: q_4_5.py 프로젝트: elliotCamblor/CTCI
def isBST(root):
    inOrderList = list(BinaryTreeNode.getInOrderGenerator(root))
    return inOrderList == sorted(inOrderList)
예제 #11
0
 def test_1(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.left).key, 1)
예제 #12
0
 def test_3(self):
     root = BinaryTreeNode.buildTree([1, 2, 3], [2, 1, 3])
     self.assertEqual(inOrderSuccessor(root.right), None)
예제 #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])
예제 #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])
예제 #15
0
파일: test_q_4_8.py 프로젝트: hydersm/CTCI
 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])
예제 #16
0
파일: test_q_4_9.py 프로젝트: hydersm/CTCI
 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])
예제 #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])