Esercitazioni: Programmazione Funzionale

Esercizio 1 Definire la funzione mcd che ricevuto in input i valori interi a e b calcola il loro massimo comun divisore.

Esercizio 2 Definire la funzione isPrime che ricevuto in input il valore intero n restituisce true se questo รจ primo, false altrimenti.

Esercizio 3 Definire la funzione primeFactors che ricevuto in input in intero n calcola la lista dei suoi fattori primi.

Esercizio 4 Definire il modulo BSTree che contiene tipi di dato e funzioni per gestire gli alberi binari di ricerca come visto a lezione.

Esercizio 5 Aggiungere al modulo BSTree definito nell'Esercizio 4 la funzione size che dato un albero t calcola il numero di elementi presenti in t.

Esercizio 6 Aggiungere al modulo BSTree definito nell'Esercizio 4 la funzione height che dato in input un albero t restituisce la sua altezza (si assume che l'altezza di un albero vuoto sia 0).

Esercizio 7 Aggiungere al modulo BSTree definito nell'Esercizio 4 la funzione balance che ricevuto un albero t restituisce un albero t1 con gli stessi elementi di t ma con un miglio bilanciamento.

Esercizio 8 Definite il modulo AVLTree che gestisce gli alberi AVL.