Trees

Hi! If you are thinking where have you arrived and have no clue of whats going on then visit this page.

Here is the lecture on general trees and binary trees by Prof Naveen Garg.

Some very important properties of a binary tree assuming that the height of the tree is h are:

1. The maximum number of nodes at each level of a binary tree is: 2l where l is the level number.

2. The number of nodes n in a full binary tree are: 2h+1-1
This is because a binary tree of height h has h levels. So we add the number of nodes at each level
(20+21+22…2h)

3. The number of leaf nodes in a full binary tree is: 2h

Here is the python implementation of a binary tree:

class BinaryTree:
    #binary tree constructor
    def __init__(self, root):
        self.root = root
        self.leftChild = None #initializing left child of a binary tree
        self.rightChild = None #initializing right child of a binary tree
    
    #method for setting the root of a binary tree    
    def setRoot(self, root):
        self.root = root
    
    #method for getting the root of a binary tree    
    def getRoot(self):
        return self.root
    
    #method for getting the left child of the binary tree
    def getLeftChild(self):
        return self.leftChild
    
    #method for getting the right child of the binary tree
    def getRightChild(self):
        return self.rightChild
    
    #method for inserting the left child of the binary tree
    def insertLeftChild(self, newNode):
        if self.leftChild == None:
            self.leftChild = BinaryTree(newNode)
        else:
            t = BinaryTree(newNode)
            t.leftChild = self.leftChild
            self.leftChild = t
    
    #method for inserting the right child of the binary tree        
    def insertRightChild(self, newNode):
        if self.rightChild == None:
            self.rightChild = BinaryTree(newNode)
        else:
            t = BinaryTree(newNode)
            t.rightChild = self.rightChild
            self.rightChild = t
Advertisements

One thought on “Trees

  1. Pingback: Data Structures and Algorithms | codeatsociallywired

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s