Esistono tanti algoritmi nel mondo dell’informatica e in questo articolo ti racconto i tipi principali di algoritmi che esistono e come funzionano nella risoluzione di un problema!
In un altro articolo ho voluto spiegare che cos’è un algoritmo in linea generale, ma devi sapere che ne esistono di differente tipo in base alla logica con cui si vuole risolvere un problema.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Vediamo quindi con ordine quali tipi di algoritmo esistono e come funzionano nel dettaglio.
Algoritmi ricorsivi
Questo tipo di algoritmo si basa sul concetto del caso base. Il caso base non è nient’altro che il problema più piccolo e semplice che siamo intenzionati a risolvere.
Una volta individuato il caso base, quello che si fa è applicare la soluzione individuata direttamente su esso.
Una volta verificato che la soluzione funzioni, si replica l’esecuzione della soluzione con un input più piccolo o semplice.
Algoritmi dinamici
Questo tipo di algoritmo è alquanto curioso e un po’ “intelligente” se così possiamo dire.
Quello che fanno questi algoritmi è innanzitutto spaccare il problema principale in sottoproblemi.
Fino a qua nulla di strano, in fondo è quello che di per se si dovrebbe fare in ogni caso vero?
Beh, dopo questo step, gli algoritmi dinamici risolvono questi sotto problemi.
Ma non solo!
Ho detto prima che sono un tipo “intelligente” di algoritmi: salvano le soluzioni generate. Perchè mai fare una cosa simile?
Per semplificare a se stessi la vita e risparmiare tempo di fronte a problematiche future e applicare quello che già “sanno” 😀
Algoritmi dividi et impera
Da che mondo e mondo si utilizza il latino in informatica?
Devi sapere che dividere un problema e “conquistarne ogni aspetto” sta alla base dell’imparare a programmare 😀
Quello che fa questo tipo di algoritmo infatti, è scomporre il problema in problemi più semplici, dopodiché applica una soluzione a ciascuno di essi, infine combina i risultati ottenuti per generare la soluzione finale per il problema principale.
Algoritmi golosi
“gnam gnam!”
Battute a parte, questo tipo di algoritmi devono il loro nome all’approccio che seguono per generare la soluzione.
Ragionano così: dato il problema, cercano una soluzione ottimale quanto più accettabile per risolverlo con un caso semplice senza considerare eventuali conseguenze come errori, variazioni su altri input che spaccherebbero il programma oppure casi peggiori.
La sua speranza, è quella di trovare la soluzione finale e globale a furia di “mangiarsi” i problemi semplici.
Possiamo dire che gli algoritmi golosi, o meglio in inglese “greedy algorithms”, sbattono la informaticoa su casi semplici finché non trovano la soluzione da applicare a qualsiasi altro caso, ovvero quella finale!
Questi quindi, sono i principali tipi di algoritmi e quali sono le logiche sui cui basano il loro funzionamento: e tu? Quali usi?