Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Complessità di Calcolo degli Algoritmi: Introduzione e Analisi, Appunti di Fondamenti di informatica

Il concetto di complessità di calcolo degli algoritmi, un tema fondamentale nell'informatica. Vengono analizzati i problemi risolubili e la loro classificazione in base al costo di soluzione, definendo la complessità di calcolo come la misura del costo di esecuzione di un algoritmo. Il concetto di passo di calcolo e confronta diversi algoritmi di somma per illustrare l'importanza dell'efficienza e della valutazione accurata della complessità per ottimizzare le risorse. Infine, vengono discusse le differenze tra complessità temporale e spaziale e il ruolo della macchina di turing nella teoria della complessità.

Tipologia: Appunti

2024/2025

In vendita dal 14/10/2025

ellisss05
ellisss05 🇮🇹

23 documenti

1 / 3

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
COMPLESSITA’ DI CALCOLO
Introduzione
Questa lezione si concentra sulla complessità di calcolo degli algoritmi, un
concetto fondamentale dell’informatica.
Nelle lezioni precedenti sono stati analizzati i problemi non risolubili e
i limiti intrinseci del calcolo.
Ora l’attenzione si sposta sui problemi risolubili, classificandoli in
base al costo di soluzione.
Definizione di complessità di calcolo
La complessità di calcolo di un algoritmo misura il costo della sua
esecuzione per risolvere un problema risolubile.
Anche tra i problemi risolubili, ne esistono alcuni che richiedono così
tante risorse (tempo o memoria) da risultare praticamente
irrisolvibili.
Concetto di passo di calcolo
Un passo di calcolo è ogni operazione elementare che un algoritmo
esegue.
Nel modello semplificato:
Ogni operazione (aritmetica, logica, confronto, assegnamento)
costa 1 unità di tempo.
Il costo è indipendente dalla tipologia di operazione.
Esempio: confronto tra algoritmi di somma
1. Algoritmo del pallottoliere (manuale):
Somma ottenuta spostando palline.
pf3

Anteprima parziale del testo

Scarica Complessità di Calcolo degli Algoritmi: Introduzione e Analisi e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

COMPLESSITA’ DI CALCOLO

Introduzione

Questa lezione si concentra sulla complessità di calcolo degli algoritmi , un concetto fondamentale dell’informatica.

● Nelle lezioni precedenti sono stati analizzati i problemi non risolubili e i limiti intrinseci del calcolo.

● Ora l’attenzione si sposta sui problemi risolubili , classificandoli in base al costo di soluzione.

Definizione di complessità di calcolo

● La complessità di calcolo di un algoritmo misura il costo della sua esecuzione per risolvere un problema risolubile.

● Anche tra i problemi risolubili, ne esistono alcuni che richiedono così tante risorse (tempo o memoria) da risultare praticamente irrisolvibili.

Concetto di passo di calcolo

● Un passo di calcolo è ogni operazione elementare che un algoritmo esegue.

● Nel modello semplificato:

○ Ogni operazione (aritmetica, logica, confronto, assegnamento) costa 1 unità di tempo.

○ Il costo è indipendente dalla tipologia di operazione.

Esempio: confronto tra algoritmi di somma

  1. Algoritmo del pallottoliere (manuale) :

○ Somma ottenuta spostando palline.

○ Uso di un ciclo di incrementi e decrementi fino al raggiungimento del risultato.

○ Ogni spostamento conta come un passo di calcolo.

○ Esempio con 3 + 4 → richiede 6 passi.

  1. Algoritmo aritmetico su calcolatore rudimentale :

○ Somma di due cifre in un solo passo.

○ Stesso esempio con 3 + 4 → richiede 1 passo.

Analisi dell’efficienza

● Non basta valutare la chiarezza del codice o il numero di istruzioni per stabilire la bontà di un algoritmo.

● Il parametro più corretto è il numero di passi di calcolo.

● Per sommare due numeri di L cifre :

○ Tempo di calcolo: t(L) = L + 1.

○ L’efficienza dipende dalla dimensione dei dati in ingresso.

● Questo modello semplificato consente di stimare la complessità in modo generale.

Importanza pratica della complessità

● La complessità è cruciale in contesti con grandi quantità di dati o esecuzioni frequenti di algoritmi.

● Algoritmi lenti:

○ Consumano più risorse.