Skip to content

Commit 5f4e7ce

Browse files
authored
Update binary_tree_traversals.py
1 parent 27d854f commit 5f4e7ce

File tree

1 file changed

+27
-18
lines changed

1 file changed

+27
-18
lines changed

data_structures/binary_tree/binary_tree_traversals.py

+27-18
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
class Node:
22
"""
3-
A Node has data variable and pointers toits left and right nodes.
3+
A Node has data variable and pointers
4+
to its left and right nodes.
45
"""
56

67
def __init__(self, data):
@@ -20,8 +21,9 @@ def make_tree() -> Node:
2021

2122
def preorder(root):
2223
"""
23-
PreOrder traversal:visit root then its
24-
leftsubtree followed by right subtree.
24+
PreOrder traversal: visit root node
25+
then its left subtree followed
26+
by right subtree.
2527
>>> preorder(make_tree())
2628
4 2 5 1 3
2729
"""
@@ -33,9 +35,9 @@ def preorder(root):
3335

3436
def postorder(root):
3537
"""
36-
PostOrder traversal:visit leftsubtree
37-
followed by right subtree and
38-
then root node.
38+
PostOrder traversal: visit left subtree
39+
followed by right subtree
40+
and then root node.
3941
"""
4042
if root:
4143
postorder(root.left)
@@ -45,8 +47,8 @@ def postorder(root):
4547

4648
def inorder(root):
4749
"""
48-
InOrder traversal: visit leftsubtree
49-
followed by root node and
50+
InOrder traversal: visit its leftsubtree
51+
followed by root node and
5052
then right subtree.
5153
"""
5254
if root:
@@ -57,7 +59,7 @@ def inorder(root):
5759

5860
def height(root):
5961
"""
60-
Recursive function for calculating
62+
Recursive function for calculating
6163
height of the binary tree.
6264
"""
6365
if not root:
@@ -73,8 +75,8 @@ def height(root):
7375
def levelorder1(root):
7476
"""
7577
Print whole binary tree in Level Order Traverse.
76-
Level Order traverse: Visit nodes of
77-
the tree level-by-level.
78+
Level Order traverse: Visit nodes
79+
of the tree level-by-level.
7880
"""
7981
if not root:
8082
return
@@ -106,8 +108,9 @@ def levelorder2(root, level):
106108

107109
def print_left_to_right(root, level):
108110
"""
109-
Print elements on particular level from
110-
left to right direction of the binary tree.
111+
Print elements on particular level
112+
from left to right direction of
113+
the binary tree.
111114
"""
112115
if not root:
113116
return
@@ -120,8 +123,9 @@ def print_left_to_right(root, level):
120123

121124
def print_right_to_left(root, level):
122125
"""
123-
Print elements on particular level from
124-
right to left direction of the binary tree.
126+
Print elements on particular level
127+
from right to left direction of
128+
the binary tree.
125129
"""
126130
if not root:
127131
return
@@ -134,8 +138,9 @@ def print_right_to_left(root, level):
134138

135139
def zigzag(root):
136140
"""
137-
ZigZag traverse: Print node left to right
138-
and right to left, alternatively.
141+
ZigZag traverse: Print node
142+
left to right and
143+
right to left, alternatively.
139144
"""
140145
flag = 0
141146
height_tree = height(root)
@@ -152,7 +157,11 @@ def main(): # Main function for testing.
152157
"""
153158
Create binary tree.
154159
"""
155-
make_tree()
160+
root = Node(1)
161+
root.left = Node(2)
162+
root.right = Node(3)
163+
root.left.left = Node(4)
164+
root.left.right = Node(5)
156165

157166
"""
158167
All Traversals of the binary are as follows:

0 commit comments

Comments
 (0)