"Scrivi un algoritmo per implementare un albero di ricerca binario."
definire inserimento(nodo, dati):
    # Se l'albero è vuoto, restituisci un nuovo nodo
    if nodo is None:
        return Nodo(dati)

    # Altrimenti, ricorri verso il basso nell'albero
    if dati < nodo.dati:
        nodo.sinistro = inserimento(nodo.sinistro, dati)
    else:
        nodo.destro = inserimento(nodo.destro, dati)

    # Restituisci il puntatore al nodo (non modificato)
    return nodo

# Funzione per cercare un dato specifico
def ricerca(nodo, dati):

    # Caso base: se la radice è vuota o la chiave è presente nella radice
    if nodo is None or nodo.dati == dati:
        return nodo

    # La chiave è maggiore della chiave della radice
    if nodo.dati < dati:
        return ricerca(nodo.destro, dati)

    # La chiave è minore della chiave della radice
    return ricerca(nodo.sinistro, dati)