File tree Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,16 @@ def find(self, data):
37
37
return self .rightChild .find (data )
38
38
else :
39
39
return False
40
+
41
+ def getHeight (self ):
42
+ if self .leftChild and self .rightChild :
43
+ return 1 + max (self .leftChild .getHeight (), self .rightChild .getHeight ())
44
+ elif self .leftChild :
45
+ return 1 + self .leftChild .getHeight ()
46
+ elif self .rightChild :
47
+ return 1 + self .rightChild .getHeight ()
48
+ else :
49
+ return 1
40
50
41
51
def preorder (self ):
42
52
if self :
@@ -78,6 +88,12 @@ def find(self, data):
78
88
return self .root .find (data )
79
89
else :
80
90
return False
91
+
92
+ def getHeight (self ):
93
+ if self .root :
94
+ return self .root .getHeight ()
95
+ else :
96
+ return - 1
81
97
82
98
def remove (self , data ):
83
99
# empty tree
@@ -176,7 +192,7 @@ def preorder(self):
176
192
if self .root is not None :
177
193
print ("PreOrder" )
178
194
self .root .preorder ()
179
-
195
+
180
196
def postorder (self ):
181
197
if self .root is not None :
182
198
print ("PostOrder" )
@@ -189,8 +205,9 @@ def inorder(self):
189
205
190
206
bst = Tree ()
191
207
print (bst .insert (10 ))
192
-
208
+ #print(bst.insert(5))
193
209
bst .preorder ()
210
+ print (bst .getHeight ())
194
211
#bst.postorder()
195
212
#bst.inorder()
196
213
print (bst .remove (10 ))
You can’t perform that action at this time.
0 commit comments