searching the tree since the insert method organizes data in specific waywe will follow the same procedure to find the data in this implementationwe will simply return the data if it was found or none if the data wasn' founddef search(selfdata)we need to start searching at the very topthat isat the root nodecurrent self root_node while truewe may have passed leaf nodein which case the data doesn' exist in the tree and we return none to the client codeif current is nonereturn none we might also have found the datain which case we return itelif current data is datareturn data as per the rules for how data is stored in the bstif the data we are searching for is less than that of the current nodewe need to go down the tree to the leftelif current data datacurrent current left_child now we only have one option leftthe data we are looking for is greater than the data held in the current nodewhich means we go down the tree to the rightelsecurrent current right_child finallywe can write some client code to test how the bst works we create tree and insert few numbers between and then we search for all the numbers in that range the ones that exist in the tree get printedtree tree(tree insert( tree insert( tree insert( tree insert( tree insert(