1
+ class Node :
2
+ def __init__ (self , value ):
3
+ self .value = value
4
+ self .left , self .right = None , None
5
+
6
+ def get_left_child (self ):
7
+ return self .left
8
+
9
+ def get_right_child (self ):
10
+ return self .right
11
+
12
+ class BinarySearchTree :
13
+ def __init__ (self ):
14
+ self .root = None
15
+
16
+ def insert_into_tree (self , value ):
17
+ newNode = Node (value = value )
18
+ root = self .root
19
+ if root is None :
20
+ self .root = newNode
21
+ else :
22
+ while root :
23
+ if value < root .value :
24
+ if root .left is None :
25
+ root .left = newNode
26
+ break
27
+ else :
28
+ root = root .left
29
+ else :
30
+ if root .right is None :
31
+ root .right = newNode
32
+ break
33
+ else :
34
+ root = root .right
35
+
36
+
37
+ def inorder_traversal (self , root ):
38
+ if root :
39
+ self .inorder_traversal (root .left )
40
+ print (root .value , ' -> ' , end = '' )
41
+ self .inorder_traversal (root .right )
42
+
43
+ if __name__ == '__main__' :
44
+ # Initializing a Binary Search Tree
45
+ BST = BinarySearchTree ()
46
+ # Inserting into the tree in a BST fashion
47
+ BST .insert_into_tree (value = 190 )
48
+ BST .insert_into_tree (value = 14 )
49
+ BST .insert_into_tree (value = 199 )
50
+ BST .insert_into_tree (value = 3 )
51
+ # Inorder traversal of the tree
52
+ BST .inorder_traversal (root = BST .root )
0 commit comments