jweinst1
12/4/2015 - 9:03 PM

betree formation

betree formation

#binary tree implementation
class node(object):
    
    def __init__(self, head, left=None, right=None):
        self.head = head
        self.left = left
        self.right = right

#even btree
def make_btree(lst):
    bt = node(lst.pop())
    route = 'left'
    while lst != []:
        current = bt
        if current.left == None:
            current.left = node(lst.pop())
        elif current.right == None:
            current.right = node(lst.pop())
        else:
            current = current.__dict__[route]
            if route == 'left':
                route = 'right'
            else:
                route = 'left'
    return bt