1
+ 'use strict' ;
2
+ class Node {
3
+ constructor ( data ) {
4
+ this . data = data ;
5
+ this . leftNode = this . rightNode = null ;
6
+ }
7
+ }
8
+
9
+ function insertInBST ( root , data ) {
10
+ if ( root == null ) return new Node ( data ) ;
11
+ else if ( root . data > data ) root . leftNode = insertInBST ( root . leftNode , data ) ;
12
+ else root . rightNode = insertInBST ( root . rightNode , data ) ;
13
+ return root ;
14
+ }
15
+
16
+ function inorderDisplay ( root ) {
17
+ if ( root == null ) return ;
18
+ inorderDisplay ( root . leftNode ) ;
19
+ console . log ( root . data ) ;
20
+ inorderDisplay ( root . rightNode ) ;
21
+ }
22
+
23
+ function maxInBST ( root ) {
24
+ if ( root == null ) return null ;
25
+ if ( root . rightNode == null ) return root ;
26
+ return maxInBST ( root . rightNode ) ;
27
+ }
28
+
29
+ let tree = null ;
30
+ tree = insertInBST ( tree , 4 ) ;
31
+ tree = insertInBST ( tree , 2 ) ;
32
+ tree = insertInBST ( tree , 3 ) ;
33
+ tree = insertInBST ( tree , 1 ) ;
34
+ tree = insertInBST ( tree , 6 ) ;
35
+ tree = insertInBST ( tree , 5 ) ;
36
+ tree = insertInBST ( tree , 7 ) ;
37
+ console . log ( 'Maximum In BST' , maxInBST ( tree ) . data ) ;
0 commit comments