Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Esercizi utili a comprendere meglio la ricorsione!!
Forum - Java - Esercizi utili a comprendere meglio la ricorsione!!

Avatar
DejKry (Normal User)
Newbie


Messaggi: 2
Iscritto: 19/11/2016

Segnala al moderatore
Postato alle 17:03
Domenica, 22/01/2017
Salve, sono uno studente universitario di informatica tra 3 giorni ho un esame di programmazione e mi servirebbe comprendere meglio la ricorsione, potreste consigliarmi qualche esercizio su tale argomento?

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 20:27
Domenica, 22/01/2017
Prova a dare un'occhiata a questa sezione di learn you a Haskell: http://learnyouahaskell.com/recursion

Se fai OCaml o qualche linguaggio funzionale dovresti più o meno capire, altrimenti ti riassumo brevemente quali funzioni ci sono nella pagina:

- maximum: data una lista di elementi ne ritorna quello più grande
- replicate: dati m e n ritorna una lista di n elementi tutti uguali a m
- take: data una lista e un numero n ritorna una lista con i primi n elementi
- reverse: data una lista ritorna la stessa rovesciata
- repeat: questo non farlo perché genera una lista infinita, cosa fattibile in haskell che è un linguaggio lazy ma non penso nel tuo caso
- "quicksort" (in realtà non proprio perché non è in-place), comunque il quicksort scritto ricorsivamente spezzando in due liste , applicando ricorsivamente il quicksort dopo il partitioning degli elementi e poi ricongiunte.

Poi ci sono alcuni classici abbastanza banali, tipo sommare una lista di numeri, oppure farne il prodotto, fibonacci, fattoriale, sequenze di Collatz  e così via. In realtà queste ultime due e molte della lista sono casi particolare di una tecnica generale che almeno in haskell si chiama fold (ripiegamento), a volte si chiama reduce in altri linguaggi.

Ultima modifica effettuata da lumo il 22/01/2017 alle 23:58
PM Quote
Avatar
DejKry (Normal User)
Newbie


Messaggi: 2
Iscritto: 19/11/2016

Segnala al moderatore
Postato alle 23:19
Martedì, 24/01/2017
Grazie

PM Quote