Skip to main content

Python : Tree implementation


class Node:
    def __init__(self,value):
        self.left = None
        self.data = value
        self.right = None
       
class Tree:
   
    def createNode(self,data):
        return Node(data)
       
    def insert(self,node,data):
        if node is None:
            return self.createNode(data)
        if data < node.data:
            node.left = self.insert(node.left,data)
        elif data > node.data:
            node.right = self.insert(node.right,data)
       
        return node
   
    def traversePreorder(self,root):
        if root is not None:
            print root.data
            self.traversePreorder(root.left)
            self.traversePreorder(root.right)
           
       
def main():
    root = None
    tree = Tree()
    root = tree.insert(root,10)
    print root
    tree.insert(root,20)
    tree.insert(root,30)
    tree.insert(root,40)
    tree.insert(root,70)
   
   
    print "Traverse Inorder"
    tree.traversePreorder(root)
   
if __name__ == "__main__":
    main()
   

Comments

Popular posts from this blog

Pokemon Go download link

Pokemon go has become the buzz word in tech industry now. Nintendo, the Japanese video game company are the creates of this game. Its first of it kind to integrate a game with augmented reality , so people has to go out to real world with there android or iPhone to catch em all . You can download  Pokemon go  from this link. 

UNIX : How to ignore lines with certain names

Sometimes we need to ignore multiple lines with certain words and get the list out of the file. usually it will be a log file to read . The below grep command can be used to ignore multiple words present in a text file. Lets say the file contain $ cat list.txt apple orange apple banana papaya Now we need to ignore line with orange , banana and papaya . So we can use the below grep command. $ cat list.txt | grep -Ev "orange|banana|papaya" apple apple It will ignore lines with the words in -v part of grep.