def add_node_to_tree( self, data): #if given a list, how to add all the elements in the list if self.root == None: self.root = TreeNode(data) self.no_of_nodes += 1 #print "root: ",self.root.data else: q = Queue() node = self.root q.enqueue([node]) while not q.IsQueueEmpty(): node = q.dequeue() if node.left is None: node.left = TreeNode(data) self.no_of_nodes += 1 #print node.left.data q.clear() elif node.right is None: node.right = TreeNode(data) self.no_of_nodes += 1 #print node.right.data q.clear() else: q.enqueue([node.left, node.right])