Example #1
0
def main():
    checkInfo = read(check)
    trainInfo = read(train)
    attr = [x for x in range(len(trainInfo[0]) - 1)]
    print "Total tests: ", len(checkInfo)
    print attr
    print "Using random attributes: "
    tree = deciciontreelearning(trainInfo, attr, [], False)
    testing(tree, checkInfo)
    print tree.printTree()
    print "Using importance function: "
    tree = deciciontreelearning(trainInfo, attr, [], True)
    testing(tree, checkInfo)

    wut = tree.printTree()
    print wut
    #wuttree = "".join(wut)
    #draw_level_order(wuttree)
    #print [i for i, j in enumerate(wut) if j == '#']
    #for i in wut:
    #	if i == '#':
    #		print i
    #draw_level_order('{3,9,20,#,#,15,7}')
    draw_level_order('{0,1,1,#,#,2,2,1,2,2,1}')

    newlist = []
Example #2
0
File: BST.py Project: adimali/Trees
 def print_tree(self):
     q=[]
     r='{'
     q.append(self.root)
     while len([i for i in q if type(i)!=str])!=0:
         n=q.pop(0)
         if n=="#":
             r+=n+','
         else:
             r+=str(n.key)+','
         if (n!="#"):                  
             if (n.left!=None):
                 q.append(n.left)
             else:
                 q.append("#")
             if (n.right!=None):
                 q.append(n.right)
             else:
                 q.append("#")
     draw_level_order( r[:-1]+'}')
Example #3
0
 def print_tree(self):
     q = []
     r = '{'
     q.append(self.root)
     while len([i for i in q if type(i) != str]) != 0:
         n = q.pop(0)
         if n == "#":
             r += n + ','
         else:
             r += str(n.key) + ','
         if (n != "#"):
             if (n.left != None):
                 q.append(n.left)
             else:
                 q.append("#")
             if (n.right != None):
                 q.append(n.right)
             else:
                 q.append("#")
     draw_level_order(r[:-1] + '}')
def helper(s):
    print "Given this tree:"
    drawtree.draw_level_order(s)
    d = solution(deserialize(s))
    print "\nThe diameter is %s" % d
    return d
Example #5
0
from drawtree import draw_level_order
draw_level_order('{3,9,20,#,#,15,7}')
"""
  3
 / \
9  20
   / \
  15  7

"""

# from drawtree import draw_random_bst
# draw_random_bst(10)
"""
    64
    / \
   /   \
  4    66
   \     \
   37    70
   / \
  8  51
 / \
6  12
     \
     21

"""

# from drawtree import draw_bst
# nums = [55, 30, 10, 5, 2, 20, 15, 25, 40, 35, 70, 60, 80, 75, 95]
Example #6
0
        if p is None:
            continue
        else:
            key = p.key()
            after = "#" if tree.after(p) is None else tree.after(p).key()
            before = "#" if tree.before(p) is None else tree.before(p).key()

        print("Il successore di", key, "è:", after)
        print("Il predecessore di", key, "è:", before)


print("Test su MyTreeMap:")
btree1 = MyTreeMap()
btree1[0] = 233
print("Stampa del primo albero di test con successori e predecessori:")
draw_level_order(str(btree1))
printsp(btree1)

btree2 = MyTreeMap()
btree2[0] = 244
btree2[1] = 448
btree2[2] = 11
btree2[3] = 999
print("Stampa del secondo albero di test con successori e predecessori:")
draw_level_order(str(btree2))
printsp(btree2)

btree3 = MyTreeMap()
btree3[3] = 244
btree3[2] = 448
btree3[1] = 11
Example #7
0
# pip install drawtree
from drawtree import draw_level_order
draw_level_order('[41,37,44,24,39,42,48,1,35,38,40,#,43,46,49,0,2,30,36,#,#,#,#,#,#,45,47,#,#,#,#,#,4,29,32,#,#,#,#,#,#,3,9,26,#,31,34,#,#,7,11,25,27,#,#,33,#,6,8,10,16,#,#,#,28,#,#,5,#,#,#,#,#,15,19,#,#,#,#,12,#,18,20,#,13,17,#,#,22,#,14,#,#,21,23]')
Example #8
0
from drawtree import draw_level_order
draw_level_order('{3,9,20,#,#,15,7}')

"""
  3
 / \
9  20
   / \
  15  7

"""

# from drawtree import draw_random_bst
# draw_random_bst(10)
"""
    64
    / \
   /   \
  4    66
   \     \
   37    70
   / \
  8  51
 / \
6  12
     \
     21

"""

# from drawtree import draw_bst
Example #9
0
from drawtree import draw_level_order
from pkg_3.my_tree_map import MyTreeMap

btree = MyTreeMap()
btree[6] = 244
btree[2] = 448
btree[1] = 11
btree[4] = 999
btree[5] = 448
btree[9] = 11
btree[8] = 999
print("Stampa del di un albero con diversi LCA:")
draw_level_order(str(btree))
print("LCA(6,9)",
      btree.LCA(btree.find_position(6), btree.find_position(9)).key())
print("LCA(1,4)",
      btree.LCA(btree.find_position(1), btree.find_position(4)).key())
print("LCA(5,8)",
      btree.LCA(btree.find_position(5), btree.find_position(8)).key())
print("LCA(5,2)",
      btree.LCA(btree.find_position(5), btree.find_position(2)).key())
print("LCA(5,6)",
      btree.LCA(btree.find_position(5), btree.find_position(6)).key())
Example #10
0
def printTree(s):
    print "\nGiven this tree:"
    drawtree.draw_level_order(s)
    print ""
Example #11
0
        return max(highleft, highright)

    return highrec(root)


def format_for_drawtree(node_list):
    result_str = ','.join([str(item) for item in node_list])
    return '{' + result_str + '}'


if __name__ == '__main__':
    t = build_a_random_bintree()

    level_order_list = list(level_iterative(t))
    print('the tree is:')
    draw_level_order(format_for_drawtree(level_order_list))
    # print('level order node value list is:{}'.format(level_order_list))

    # pre_order_recursive_list = list(preorder_recursive(t))
    # print('pre order recursive node value list is:{}'.format(pre_order_recursive_list))

    # pre_order_iterative_list = list(preoder_iterative(t))
    # print('pre order iterative node value list is:{}'.format(pre_order_iterative_list))

    # in_order_recursive_list = list(inorder_recursive(t))
    # print('in order recursive node value list is:{}'.format(in_order_recursive_list))

    # in_order_iterative_list = list(inorder_iterative(t))
    # print('in order iterative node value list is:{}'.format(in_order_iterative_list))

    in_order_morris_list = list(inorder_morris(t))
Example #12
0
rb_tree = MyRBTreeMap()
rb_treet = RedBlackTreeMap()

rl = randList(1, 100, 30)
i = 0
for element in rl:
    rb_tree[element] = "test"
    rb_treet[element] = "test"
    i += 1
    if i == 20:
        elem20 = element
    if i == 15:
        elem15 = element
    if i == 25:
        elem25 = element
draw_level_order(str(rb_tree))
print("Albero RB casuale non My:")
print(str(rb_treet))
print("Albero RB T:")
rb_tree1 = MyRBTreeMap()
rb_tree1[1] = "test"
draw_level_order(str(rb_tree1))
rb_tree2 = MyRBTreeMap()
rb_tree2[2] = "test"
print("Albero RB T1:")
draw_level_order(str(rb_tree2))
rb_tree1.fusion(rb_tree2)
print("Albero RB T.fusion(T1):")
draw_level_order(str(rb_tree1))
# Test se T > T1
# print("Albero RB T:")
Example #13
0
def print_heap(lst: List) -> None:
    from drawtree import draw_level_order

    draw_level_order(str(lst))
Example #14
0
from drawtree import draw_level_order
nums =  [i+1 for i in xrange(127)]
draw_level_order(str(nums))
Example #15
0
 def drawTree(self):# {{{
     """ This package I'm using doesn't work. It says the tree is way longer than it is and it's also unsorted. I'd rather show it in a plot than in the command line. """
     self.drawString = ''
     self._drawTree(self.head)
     print self.drawString
     draw_level_order(self.drawString)# }}}