we move down from node to to to get to the node with smallest value likewisewe go down to node which is the node with the largest value this same means of finding the minimum and maximum nodes applies to sub-trees too the minimum node in the sub-tree with root node is the node within that sub-tree with the maximum value is the method that returns the minimum node is as followsdef find_min(self)current self root_node while current left_childcurrent current left_child return current the while loop continues to get the left node and visits it until the last left node points to none it is very simple method the method to return the maximum node does the oppositewhere current left_child now becomes current right_child it takes (hto find the minimum or maximum value in bstwhere is the height of the tree inserting nodes one of the operations on bst is the need to insert data as nodes whereas in our first implementationwe had to insert the nodes ourselveshere we are going to let the tree be in charge of storing its data in order to make search possiblethe nodes must be stored in specific way for each given nodeits left child node will hold data that is less than its own valueas already discussed that node' right child node will hold data greater than that of its parent node we are going to create new bst of integers by starting with the data to do thiswe will create node with its data attribute set to nowto add the second node with value is compared with the root node