Tuesday, 3 December 2013

Binary tree

 
 
 There are three orders in binary tree:
 preorder:
       Visit root, then pre-order left subtree, then pre-order right subtree
 in-order: 
       Visit in-order left subtree, then root, then in-order right subtree 
 post-order:
        Visit post-order left subtree, then post-order right subtree, then
root
 
 
 this is how we created a binary tree
 
class Node:
    def __init__(self,data):
        self.left = None
        self.right = None
        self.data = data

class BinaryTree(Node):
    def __init__(self):
        self.root = None

    def addNode(self,data):
        return Node(data)

    def insert(self,root,data):
        if(root == None):
            root = self.addNode(data)
        else:
            if(data <= root.data):
               root.left = self.insert(root.left,data)
            else:
                root.right = self.insert(root.right,data)
        return root

    def PreOrder(self,root):
        if root == None:
            pass
        else:
            print(root.data)
            self.PreOrder(root.left)
            self.PreOrder(root.right)


No comments:

Post a Comment