Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

traversing a tree in python

"""Inorder Traversing"""
def inorder_traversing(self, root):
  res = []
  if root:
    res = self.inorder_traversing(root.left)
    res.append(root.data)
    res = res + inorder_traversing(root.right)
   return res
Comment

traversing a tree in python

"""Post-order"""
    def postorder_traversal(self, root):
        res = []

        if root:
            res = self.predorder_traversal(root.left)
            res = res + self.predorder_traversal(root.right)
            res.append(root.data)
        return res
Comment

traversal tree in python

class Node:
     def __init__(self,data):
          self.data = data
          self.parent = None
          self.left = None
          self.right = None

     def __repr__(self):
          return repr(self.data)

     def add_left(self,node):
         self.left = node
         if node is not None:
             node.parent = self

     def add_right(self,node):
         self.right = node
         if node is not None:
             node.parent = self
'''
Example:
          _2_
        /       
       7         9
      /          
     1   6         8
         /        / 
       5   10   3   4
'''
def create_tree():
    two = Node(2)
    seven = Node(7)
    nine = Node(9)
    two.add_left(seven)
    two.add_right(nine)
    one = Node(1)
    six = Node(6)
    seven.add_left(one)
    seven.add_right(six)
    five = Node(5)
    ten = Node(10)
    six.add_left(five)
    six.add_right(ten)
    eight = Node(8)
    three = Node(3)
    four = Node(4)
    nine.add_right(eight)
    eight.add_left(three)
    eight.add_right(four)

    # now return the root node
    return two

def pre_order(node):
    print(node)
    if node.left:
        pre_order(node.left)
    if node.right:
        pre_order(node.right)

def in_order(node):
    if node.left:
        in_order(node.left)
    print(node)
    if node.right:
        in_order(node.right)

def post_order(node):
    if node.left:
        post_order(node.left)
    if node.right:
        post_order(node.right)
    print(node)

if __name__ == "__main__":
    root = create_tree()
    print("
Pre-order traversal:")
    pre_order(root)
    print("
In-order traversal:")
    in_order(root)
    print("
Post-order traversal:")
    post_order(root)
Comment

PREVIOUS NEXT
Code Example
Python :: generate rsa key python 
Python :: render django template 
Python :: python regex get word after string 
Python :: how to add csrf token in python requests 
Python :: socket exception python 
Python :: python int to bytes 
Python :: how to get a int from string python 
Python :: select multiple dict 
Python :: tuple comprehension python 
Python :: how to append two numpy arrays 
Python :: dice roller in python 
Python :: get week from datetime python 
Python :: semicolon in python 
Python :: python get array from json 
Python :: virtual mic with python 
Python :: add item to python dictionary 
Python :: split list in pd dataframe into rows 
Python :: gráfico barras python 
Python :: how can i remove random symbols in a dataframe in Pandas 
Python :: pandas if else 
Python :: how to calculate fibonacci numbers in python 
Python :: read list from txt python 
Python :: python session set cookies 
Python :: lamda python 
Python :: Python Tkinter Button Widget 
Python :: find optimal number of clusters sklearn 
Python :: get input on same line python 
Python :: python dictionary multiple same keys 
Python :: how to check if number is negative in python 
Python :: python cv2 canny overlay on image 
ADD CONTENT
Topic
Content
Source link
Name
9+3 =