@@ -15,10 +15,10 @@ def __init__(self):
15
15
16
16
def insert_into_tree (self , value ):
17
17
newNode = Node (value = value )
18
- root = self .root
19
- if root is None :
18
+ if self .root is None :
20
19
self .root = newNode
21
20
else :
21
+ root = self .root
22
22
while root :
23
23
if value < root .value :
24
24
if root .left is None :
@@ -32,7 +32,27 @@ def insert_into_tree(self, value):
32
32
break
33
33
else :
34
34
root = root .right
35
-
35
+
36
+ def search_in_tree (self ,value ):
37
+ if self .root is None :
38
+ return f'value({ value } ) not found'
39
+ elif self .root .value == value :
40
+ return f'value({ value } ) found in root'
41
+ else :
42
+ root = self .root
43
+ while root :
44
+ if value == root .value :
45
+ return f'value({ value } ) found in tree'
46
+ elif value < root .value :
47
+ if root .left is None :
48
+ return f'value({ value } ) not found'
49
+ else :
50
+ root = root .left
51
+ else :
52
+ if root .right is None :
53
+ return f'value({ value } ) not found'
54
+ else :
55
+ root = root .right
36
56
37
57
def inorder_traversal (self , root ):
38
58
if root :
@@ -49,4 +69,8 @@ def inorder_traversal(self, root):
49
69
BST .insert_into_tree (value = 199 )
50
70
BST .insert_into_tree (value = 3 )
51
71
# Inorder traversal of the tree
52
- BST .inorder_traversal (root = BST .root )
72
+ BST .inorder_traversal (root = BST .root )
73
+ print () # Just for a newline :)
74
+ # Searching for a value in the tree
75
+ print (BST .search_in_tree (value = 12 ))
76
+ print (BST .search_in_tree (value = 14 ))
0 commit comments