File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed
Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change 1+ # Author: OMKAR PATHAK
2+
3+ # Breadth First Traversal is the one in which we print the data level wise. Refer below code and output for more
4+ # explanation
5+
6+ class Node (object ):
7+ def __init__ (self , data = None ):
8+ self .leftChild = None
9+ self .rightChild = None
10+ self .data = data
11+
12+ def height (node ):
13+ if node is None :
14+ return 0
15+ else :
16+ leftHeight = height (node .leftChild )
17+ rightHeight = height (node .rightChild )
18+
19+ if leftHeight > rightHeight :
20+ return leftHeight + 1
21+ else :
22+ return rightHeight + 1
23+
24+ def breadthFirstTraversal (root ):
25+ if root == None :
26+ return 0
27+ else :
28+ h = height (root )
29+ for i in range (h + 1 ):
30+ printBFT (root , i )
31+
32+ def printBFT (root , level ):
33+ if root is None :
34+ return
35+ else :
36+ if level == 1 :
37+ print (root .data , end = ' ' )
38+ elif level > 1 :
39+ printBFT (root .leftChild , level - 1 )
40+ printBFT (root .rightChild , level - 1 )
41+
42+ if __name__ == '__main__' :
43+ root = Node (1 )
44+ root .leftChild = Node (2 )
45+ root .rightChild = Node (3 )
46+ root .leftChild .leftChild = Node (4 )
47+
48+ breadthFirstTraversal (root )
49+
50+ # OUTPUT:
51+ # 1 2 3 4
You can’t perform that action at this time.
0 commit comments