figure inserting node with key self _put(keyvalcurrent_node right_childelsecurrent_node right_child treenode(keyvalparent=current_nodewith the put method definedwe can easily overload the [operator for assignment by having the __setitem__ method call the put method this allows us to write python statements like my_zip_tree['plymouth' just like python dictionary def __setitem__(selfkv)self put(kvfigure illustrates the process for inserting new node into binary search tree the lightly shaded nodes indicate the nodes that were visited during the insertion process self check which of the trees shows correct binary search tree given that the keys were inserted in the following order binary search trees