Home Page Servizi Soluzioni Articoli Storia Contatti Links English Version
Software
Creazioni 2D
Creazioni 3D
Immagini
Open Source
Progetti
Utilità Web
Strumenti Grafica
Downloads
Documenti

Siti e progetti personali:

Forum per Programmatori in Italiano

Community per Programmatori, in Inglese

Community per Sviluppatori di Videogames

Portale con soluzioni ed articoli di Programmazione

Directory e motore di Ricerca per Alloggi

Servizi di Hosting e Registrazione Domini

Servizi di Hosting in versione Inglese

Servizi di Hosting Economico e Registrazione domini

Tutto il Network Giovanni Ceglia

Portale di Annunci Immobiliari in Inglese

Portale di Annunci Immobiliari in Italiano

Portale di Annunci Immobiliari in Tedesco

Malmignatta Motore di Ricerca

Malmignatta Motore di Ricerca in Inglese


Pillole sulla Ricorsione


La ricorsione è una particolare tecnica di programmazione che consiste nel richiamare all'interno di una funzione, la funzione stessa, questa tecnica è particolarmente utile perchè si avvicina di più alla logica del pensiero umano e viene in aiuto con strutture complesse come gli Alberi, oppure il Quick Sort, il Quick Sort in particolare è di una difficoltà mostruosa da realizzare con algoritmi iterativi!

Ka ricorsione è inoltre importante, perchè gli algoritmi ricorsivi
generalmente possono essere testati e garantiti tramite il Principio di
Induzione Matematica. Questo significa che se si ha un problema e lo si  può risolvere ricorsivamente o iterativamente è sempre meglio risolverlo
ricorsivamente se si ha a cuore la sicurezza e l'affidabilità, perchè solo risolvendolo in questo modo si può dimostrare matematicamente che l'algoritmo è valido per tutti i valori di ingresso e tutti i possibili casi.

Che poi nella pratica si usano gli algoritmi iterativi a volte perchè quelli ricorsivi mandano in overflow lo stack, è un'altro discorso, è un discorso che non è molto valido ai giorni nostri siccome basta procurarsi macchine più potenti.

In conclusione comunque:

La ricorsione è ottima alleata della sicurezza e della funzionalità.

L'iteratività è ottima alleata della velocità e del risparmio di risorse.

Sta poi di volta in volta decidere quale è preferibile.

Ci sono casi in cui per esempio come nel caso della potenza, che è indifferente, scegliere l'uno o l'altro metodo, ma in altri come per esempio il Quick Sort, è preferibile optare per algoritmi ricorsivi.

Infassi se si scrivesse il Quick Sort, iterativamente (ammesso che ci si riesca) non si potrebbe mai dimostrare che funziona per tutti gli insiemi di ingresso, mentre il QuickSort Ricorsivo si può dimostrare sfruttando il Principio di Induzione Matematica.



Giovanni Ceglia
giovanniceglia@xungame.com


Home Page Servizi Soluzioni Articoli Storia Contatti Links English Version



Tutto il materiale qui presente è © CopyRight Giovanni Ceglia dal 2003, tutti i diritti sono riservati, la copia e la redistribuzione di materiale presente su questo sito, sono vietate ove non espressamente consentito. Eventuali marchi citati appartengono ai rispettivi proprietari. Giovanni Ceglia - Servizi Informatici, Internet e Hosting, Partita IVA N. 03972320653, Sede Legale in Via Trento N.74 84016, Pagani (Salerno) Italy, E-Mail: giovanni.ceglia@frazionabile.it, Tutti i contatti sono reperibili su: Ceglia.TEL.