

Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Riassunto capitolo complessità computazionale dal libro Informatica App 3
Tipologia: Sintesi del corso
Offerta a tempo limitato
Caricato il 22/05/2019
3.9
(17)21 documenti
1 / 3
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


In offerta
Un algoritmo sono una serie di azioni elementari indicate in modo preciso e sistematico che, se eseguite in sequenza, conducano a risolvere un dato problema (ex. Ricetta). Deve essere preciso perché progettato per essere utilizzato da un automa , cioè da qualcosa che non è in grado di ragionare e prendere decisioni. Un azione si dice elementare quando non può essere scomposta in altre azioni più semplici; è chiamata anche istruzione ed è interpretabile in modo univoco. Un procedimento risolutivo di un problema è un algoritmo quando può essere descritto per mezzo di un insieme finito di azioni elementari univocamente interpretabili e definite , che formano una successione ordinata e finita di passi, la cui esecuzione si arresta per fornire i risultati del problema partendo dai valori assunti dai dati iniziali.
L’impiego dell’algoritmo più efficiente si traduce in un risparmio di risorse computazionali e, di conseguenza, in un risparmio di tempo e di denaro. Di ogni algoritmo dobbiamo considerare due aspetti:
Valutare il tempo di esecuzione esprimendolo in unità solari è un modo errato perchè poco attendibile in quanto i risultati dipendono esclusivamente dalle condizioni in cui è stato fatto il test, cioè:
Per ottenere una valutazione affidabile, nel seguito della nostra analisi misureremo il tempo di esecuzione in numero di operazioni (assegnazioni, scambi, confronti, operazioni di I/O e così via) che l’algoritmo deve compiere per fornire i risultati. chiameremo tale numero costo dell’algoritmo. Regole di valutazione per il calcolo del costo delle istruzioni di un algoritmo:
Il numero di operazioni di un algoritmo è legato alla dimensione dei dati in input. Usiamo la notazione generica T(N) per indicare la funzione matematica che indica la relazione esistente tra il numero di operazioni di un programma e la dimensione N dei dati in input. La funzione T(N) è chiamata complessità computazionale (in tempo) o semplicemente complessità dell’algoritmo. La dimensione N dei dati in input è anche detta dimensione del problema.
La complessità è legata ai valori dei dati in input a e come i dati sono disposti , oltre che alla loro dimensione. Per valutare le prestazioni di alcuni algoritmi si dovrebbero prevedere i tre tipi di analisi e le loro rispettiva funzioni complessità: