Binnary Tree
class BSTNode: def __init__ ( self , key): self .key = key self .left = None self .right = None self .parent = None def insert ( self , node): if self .key > node.key: if self .left is None : self .left = node node.parent = self else : self .left.insert(node) elif self .key < node.key: if self .right is None : self .right = node node.parent = self else : self .right.insert(node) def inorder ( self ): if self .left is not None : self .left.inorder() print ( self .key , end = ' ' ) if self .right is not None : self .right.inorder() def replace_node_of_parent ( self , new_node): if self .parent is not None : if new_node is not None : new_node.parent = self .parent ...