notice that the print_exp function as we have implemented it puts parentheses around each number while not incorrectthe parentheses are clearly not needed in the exercises at the end of this you are asked to modify the print_exp function to remove this set of parentheses binary search trees we have already seen two different ways to get key-value pairs in collection recall that these collections implement the map abstract data type the two implementations of map adt we discussed were binary search on list and hash tables in this section we will study binary search trees as yet another way to map from key to value in this case we are not interested in the exact placement of items in the treebut we are interested in using the binary tree structure to provide for efficient searching search tree operations before we look at the implementationlet' review the interface provided by the map adt you will notice that this interface is very similar to the python dictionary map(create newempty map put(key,valadd new key-value pair to the map if the key is already in the map then replace the old value with the new value get(keygiven keyreturn the value stored in the map or none otherwise del delete the key-value pair from the map using statement of the form del map[keylen(return the number of key-value pairs stored in the map in return true for statement of the form key in mapif the given key is in the map search tree implementation binary search tree relies on the property that keys that are less than the parent are found in the left subtreeand keys that are greater than the parent are found in the right subtree we will call this the bst property as we implement the map interface as described abovethe bst property will guide our implementation figure illustrates this property of binary search treeshowing the keys without any associated values notice that the property holds for each parent and child all of the keys in the left subtree are less than the key in the root all of the keys in the right subtree are greater than the root now that you know what binary search tree iswe will look at how binary search tree is constructed the search tree in figure represents the nodes that exist after we have inserted the following keys in the order shown since was the first key inserted into the treeit is the root next is less than so it becomes the left child of next is greater than so it becomes the right child of now we have two levels of binary search trees