-
Notifications
You must be signed in to change notification settings - Fork 0
2.01 Lezione 1
Un algoritmo può essere definito tramite un linguaggio naturale, semplicemente descrivendo l'algoritmo a parole, oppure scrivendo un programma che implementi la procedura.
public static int gcd(int p, int q){
if(q==0) return p
int r = p % q;
return gcd(q,r);
}
Quando usiamo un computer per aiutarci a risolvere un problema, possiamo usare un gran numero di approcci. Per problemi piccoli, possiamo scegliere un qualsiasi approccio, purchè esso risolva il problema. Quando invece ci troviamo a risolvere un problema grande, dobbiamo stare attenti a quale approccio, e quindi algoritmo, scegliamo. Infatti un buon algoritmo ottimizzato può farci risparmiare molto tempo.
Grazie agli algoritmi, inoltre, possiamo risolvere problemi che altrimenti non sarebbero risolvibili, come ad esempio visualizzare qualcosa di invisibile, come nel caso di un buco nero.
La scelta del migliore algoritmo può essere un processo complicato. Inoltre non dovremmo mai usare un algoritmo senza conoscere le risorse che potrebbe consumare.
