Ciao Andrea,

il tuo codice va modificato leggermente:

codice:
CercaElemento(nodo r, chiave k){

      IF(r == null) THEN return null // Caso base 1: gli stò passando un albero vuoto
      IF(chiave(r) == k) THEN return k // Caso base 2: ho trovato l'elemento che cerco

      ELSE    // Caso generale
          IF (k < chiave(r)) CercaElemento(nodo figlio sinistro di r, chiave k)
          IF (k > chiave(r)) CercaElemento(nodo figlio destro di r, chiave k)
}
Per le proprietà degli alberi binari di ricerca, se k è minore della chiave del nodo r, bisogna cercare nel sottoalbero di sinistra. Se k è maggiore, cerchiamo nel sottoalbero destro.