Elenco degli algoritmi significativi da conoscere:
Senza uso di vettori:
- Scomposizione in fattori primi di un numero intero
- Fattoriale di un numero (eventualmente anche con versione ricorsiva)
- Elevamento a potenza intera di un numero reale
- MCD tra due numeri (con diverse soluzioni)
- Calcolo del mcm tra due numeri (con diverse soluzioni)
- Primalità di un numero intero (N.B. 1 non e' considerato numero primo, si parte da due)
- Stampa dei primi N numeri primi
- Calcolo dell'n-esimo numero primo
- Serie di Fibonacci (versione iterativa e versione ricorsiva)
- Tabellina pitagorica
- Calcolo della radice quadrata con il metodo dicotomico
- Muretto di mattoni (http://codingbat.com/doc/practice/makebricks-introduction.html)
- Barretta d cioccolato (http://codingbat.com/doc/practice/makebricks-introduction.html)
Con i vettori:
- Crivello di Eratostene per determinare i numeri primi inferiori a 1000
- Ricerca di un valore in un vettore disordinato
- Ricerca di un valore in un vettore ordinato (dicotomica)
- Calcolo del valore medio degli elementi di un vettore
- Ordinamento di un vettore (diversi algoritmi, almeno selection sort)
- Gestione di vettori parzialmente riempiti
- Concatenazione di una stringa con un'altra
- Verificare se una stringa è un anagramma di una seconda
- Contare le parole presenti in una stringa (separate da uno o più spazi)
- Ordinare i caratteri in una stringa
- Sostituire tutti i caratteri di tabulazione ('\t') in una stringa con tre spazi
Strutture dati
- Realizzare una lista (creazione, aggiunta e rimozione di elementi)
- Realizzazione di una lista circolare
- Realizzare una coda
- Realizzare un albero binario (aggiunta, rimozione, attraversamento)
- Realizzazione di una mappa
Quesiti simpatici che possono essere richiesti:
-
Scambiare il valore di due variabili intere SENZA usare altre variabili (Formula: a = b - a; b = b - a; a = a + b)