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 = []
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 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
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]
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
# 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]')
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
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())
def printTree(s): print "\nGiven this tree:" drawtree.draw_level_order(s) print ""
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))
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:")
def print_heap(lst: List) -> None: from drawtree import draw_level_order draw_level_order(str(lst))
from drawtree import draw_level_order nums = [i+1 for i in xrange(127)] draw_level_order(str(nums))
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)# }}}