 Ecrire un algorithme pour implémenter un arbre de recherche binaire.
def insert(node, data): \n # Si l'arborescence est vide, renvoie un nouveau noeud \n si le noeud est None: \n return Node(data) \n \n # Sinon, revient vers le bas de l'arborescence\n if data < node.data : \n node.left = insert(node.left, data) \n else : \n node.right = insert(node.right, data) \n \n # renvoie le pointeur de nœud (inchangé) \ n node de retour \n \n# Fonction pour rechercher une donnée donnée \ndef search(node, data): \n \n # Cas de base : si la racine est None ou si la clé est présente à la racine \n si le node est None ou node. data == data: \n return node \n \n # La clé est supérieure à la clé de la racine \n if node.data < data: \n return search(node.right, data) \n \n # La clé est plus petite que celle de la racine clé \n renvoie la recherche (nœud.gauche, données)