Exemplo n.º 1
0
 def test_insert_three(self):
     T = rank_tree([41, 38, 31])
     self.assertEquals(T.root, T.iterative_tree_search(38))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 38, 31, 41, -1, 1, 2)
     self.wrap(T, 31, -1, -1, 38, 0, 1)
     self.wrap(T, 41, -1, -1, 38, 0, 3)
Exemplo n.º 2
0
 def test_insert_three(self):
     T = rank_tree([41, 38, 31])
     self.assertEquals(T.root, T.iterative_tree_search(38))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 38, 31, 41, -1, 1, 2)
     self.wrap(T, 31, -1, -1, 38, 0, 1)
     self.wrap(T, 41, -1, -1, 38, 0, 3)
Exemplo n.º 3
0
 def test_delete_two(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     T.delete(T.iterative_tree_search(9))
     T.delete(T.iterative_tree_search(12))
     self.wrap(T, 38, 19, 41, -1, 1, 3)
     self.wrap(T, 19, -1, 31, 38, 1, 1)
     self.wrap(T, 41, -1, -1, 38, 1, 4)
     self.wrap(T, 31, -1, -1, 19, 0, 2)
Exemplo n.º 4
0
 def test_insert_four(self):
     T = rank_tree([41, 38, 31, 12])
     self.assertEqual(T.root, T.iterative_tree_search(38))
     self.assertEqual(T.nil.rank, 0)
     self.wrap(T, 38, 31, 41, -1, 1, 3)
     self.wrap(T, 31, 12, -1, 38, 1, 2)
     self.wrap(T, 41, -1, -1, 38, 1, 4)
     self.wrap(T, 12, -1, -1, 31, 0, 1)
Exemplo n.º 5
0
 def test_delete_two(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     T.delete(T.iterative_tree_search(9))
     T.delete(T.iterative_tree_search(12))
     self.wrap(T, 38, 19, 41, -1, 1, 3)
     self.wrap(T, 19, -1, 31, 38, 1, 1)
     self.wrap(T, 41, -1, -1, 38, 1, 4)
     self.wrap(T, 31, -1, -1, 19, 0, 2)
Exemplo n.º 6
0
 def test_delete_five(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     T.delete(T.iterative_tree_search(9))
     T.delete(T.iterative_tree_search(12))
     T.delete(T.iterative_tree_search(19))
     T.delete(T.iterative_tree_search(31))
     T.delete(T.iterative_tree_search(38))
     self.wrap(T, 41, -1, -1, -1, 1, 1)
Exemplo n.º 7
0
 def test_delete_five(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     T.delete(T.iterative_tree_search(9))
     T.delete(T.iterative_tree_search(12))
     T.delete(T.iterative_tree_search(19))
     T.delete(T.iterative_tree_search(31))
     T.delete(T.iterative_tree_search(38))
     self.wrap(T, 41, -1, -1, -1, 1, 1)
Exemplo n.º 8
0
 def test_insert_six(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     self.assertEquals(T.root, T.iterative_tree_search(38))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 38, 19, 41, -1, 1, 5)
     self.wrap(T, 19, 12, 31, 38, 0, 3)
     self.wrap(T, 41, -1, -1, 38, 1, 6)
     self.wrap(T, 12, 9, -1, 19, 1, 2)
     self.wrap(T, 31, -1, -1, 19, 1, 4)
     self.wrap(T, 9, -1, -1, 12, 0, 1)
Exemplo n.º 9
0
 def test_delete_six(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     T.delete(T.iterative_tree_search(9))
     T.delete(T.iterative_tree_search(12))
     T.delete(T.iterative_tree_search(19))
     T.delete(T.iterative_tree_search(31))
     T.delete(T.iterative_tree_search(38))
     T.delete(T.iterative_tree_search(41))
     self.assertEquals(T.root, T.nil)
     self.assertEquals(T.nil.rank, 0)
Exemplo n.º 10
0
 def test_delete_six(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     T.delete(T.iterative_tree_search(9))
     T.delete(T.iterative_tree_search(12))
     T.delete(T.iterative_tree_search(19))
     T.delete(T.iterative_tree_search(31))
     T.delete(T.iterative_tree_search(38))
     T.delete(T.iterative_tree_search(41))
     self.assertEquals(T.root, T.nil)
     self.assertEquals(T.nil.rank, 0)
Exemplo n.º 11
0
 def test_insert_six(self):
     T = rank_tree([41, 38, 31, 12, 19, 9])
     self.assertEquals(T.root, T.iterative_tree_search(38))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 38, 19, 41, -1, 1, 5)
     self.wrap(T, 19, 12, 31, 38, 0, 3)
     self.wrap(T, 41, -1, -1, 38, 1, 6)
     self.wrap(T, 12, 9, -1, 19, 1, 2)
     self.wrap(T, 31, -1, -1, 19, 1, 4)
     self.wrap(T, 9, -1, -1, 12, 0, 1)
Exemplo n.º 12
0
def inversion(A):
    inversion = 0
    i = 0
    T = rank_tree([])
    if isinstance(A, list):
        for key in A:
            i = i + 1
            x = rank_node(key, None, None, None, 0, 1)
            T.insert(x)
            #    print( 'x.key = {}, x.rank = {}'.format(x.key, x.rank))
            inversion = inversion + i - x.rank
        return inversion
    else:
        print("Not invalid argument")
Exemplo n.º 13
0
def inversion(A):
    inversion = 0
    i = 0
    T = rank_tree([])
    if isinstance(A, list):
        for key in A:
            i = i + 1
            x = rank_node(key, None, None, None, 0, 1)
            T.insert(x)
        #    print 'x.key = {}, x.rank = {}'.format(x.key, x.rank)
            inversion = inversion + i - x.rank
        return inversion
    else:
        print "Not invalid argument"
Exemplo n.º 14
0
 def test_insert_two(self):
     T = rank_tree([41, 38])
     self.assertEquals(T.root, T.iterative_tree_search(41))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 41, 38, -1, -1, 1, 2)
     self.wrap(T, 38, -1, -1, 41, 0, 1)
Exemplo n.º 15
0
 def test_insert_two(self):
     T = rank_tree([41, 38])
     self.assertEquals(T.root, T.iterative_tree_search(41))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 41, 38, -1, -1, 1, 2)
     self.wrap(T, 38, -1, -1, 41, 0, 1)
Exemplo n.º 16
0
 def test_insert_one(self):
     T = rank_tree([41])
     print T.root.iterative_tree_search(41).p.key
     self.assertEquals(T.root, T.root.iterative_tree_search(41))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 41, -1, -1, -1, 1, 1)
Exemplo n.º 17
0
 def test_insert_one(self):
     T = rank_tree([41])
     print T.root.iterative_tree_search(41).p.key
     self.assertEquals(T.root, T.root.iterative_tree_search(41))
     self.assertEquals(T.nil.rank, 0)
     self.wrap(T, 41, -1, -1, -1, 1, 1)