Пример #1
0
 def test_LCA(self):
     root = LCA.Node(20) 
     root.left = LCA.Node(8) 
     root.right = LCA.Node(22) 
     root.left.left = LCA.Node(4) 
     root.left.right = LCA.Node(12) 
     root.left.right.left = LCA.Node(10) 
     root.left.right.right = LCA.Node(14)
     self.assertEqual(LCA.lca(root, 10,14).data,12) 
     self.assertEqual(LCA.lca(root, 14,8).data,8) 
     self.assertEqual(LCA.lca(root, 10,22).data, 20)  
Пример #2
0
    def test_lca(self):
        root = LCA.Node(20)
        root.left = LCA.Node(8)
        root.right = LCA.Node(22)
        root.left.left = LCA.Node(4)
        root.left.right = LCA.Node(12)
        root.left.right.left = LCA.Node(10)
        root.left.right.right = LCA.Node(14)
        n1 = 10
        n2 = 14
        t = LCA.lca(root, n1, n2)
        print "LCA of %d and %d is %d" % (n1, n2, t.data)
        self.assertEqual(LCA.lca(root, n1, n2).data, 12)

        n1 = 14
        n2 = 8
        t = LCA.lca(root, n1, n2)
        print "LCA of %d and %d is %d" % (n1, n2, t.data)
        self.assertEqual(LCA.lca(root, n1, n2), t)

        n1 = 10
        n2 = 22
        t = LCA.lca(root, n1, n2)
        print "LCA of %d and %d is %d" % (n1, n2, t.data)
        self.assertEqual(LCA.lca(root, n1, n2), t)