Esercizio 1confronto tra complessità quadratica e n log n
In questa pagina 5
Testo (scritto del 24/06/2026, parte 1, esercizio 1, 3 punti). Due algoritmi e risolvono lo stesso problema computazionale. La loro complessità al caso pessimo è e , dove è la dimensione dell'input. Rispondere, motivando brevemente.
(a) È vero che esiste tale che, per ogni , l'algoritmo esegue meno operazioni di ?
(b) Uno studente afferma: "Poiché , allora è sempre più veloce di ". È corretto?
(c) Un secondo studente afferma: "Se l'input diventa molto grande, la differenza tra i due algoritmi diventa trascurabile, poiché entrambi hanno tempo di esecuzione che tende a infinito". È corretto?
Richiami
significa che esistono costanti positive con per ; analogamente per con (vedi Notazione asintoticaDefinizioni di O, Omega, Theta e o piccolo con le costanti c ed n0; esempi con costanti esplicite; proprietà (polinomi, esponenziali, logaritmi, somme, implicazioni tra notazioni); sommatorie notevoli; terminologia (logaritmica, lineare, polinomiale, esponenziale).Notazione asintotica →). Le costanti non sono note: la notazione le nasconde.
(a) Sì
Si confronta il limite del rapporto:
Per definizione di , per ogni costante esiste tale che per . Allora, fissate le costanti nascoste, e : scegliendo si ha, per abbastanza grande,
Quindi da un certo in poi esegue strettamente meno operazioni di : è asintoticamente più efficiente.
(b) No
è un confronto tra le funzioni che descrivono solo l'andamento. Le complessità vere sono di queste funzioni, cioè moltiplicate per costanti ignote. Controesempio: e rispettano le ipotesi, ma solo se , cioè per (calcolato con un piccolo programma). Per più piccoli, ad esempio , fa operazioni e circa : è più veloce. Conclusione: la superiorità di vale per sufficientemente grande, non sempre. L'analisi asintotica ignora le costanti e può essere fuorviante per input piccoli.
(c) No
Il fatto che entrambi i tempi tendano a infinito non implica che la differenza sia trascurabile; conta il rapporto:
All'aumentare di il tempo di diventa infinitamente più grande di quello di (per esempio per il rapporto è circa ). Anche la differenza assoluta cresce senza limite. L'affermazione è falsa.
Errori comuni
- Rispondere "sì" al punto (b): dice solo come crescono le funzioni, non il tempo reale.
- Confondere "tendono entrambi a infinito" con "hanno lo stesso ordine di grandezza".
- Nel punto (a) dimenticare che l'affermazione è su abbastanza grande, non su tutti gli .
Versione ripasso
Testo. , . (a) fa meno operazioni di per ? (b) " quindi sempre più veloce"? (c) "la differenza diventa trascurabile perché entrambi "?
- (a) Sì: , cioè ; per ogni esiste con ; usando e con si ha definitivamente (vedi Notazione asintoticaDefinizioni di O, Omega, Theta e o piccolo con le costanti c ed n0; esempi con costanti esplicite; proprietà (polinomi, esponenziali, logaritmi, somme, implicazioni tra notazioni); sommatorie notevoli; terminologia (logaritmica, lineare, polinomiale, esponenziale).Notazione asintotica →).
- (b) No: le costanti sono nascoste in . Controesempio , : vince solo per .
- (c) No: il rapporto e la differenza cresce senza limite.
- Errori: (b) risposto "sì"; "" scambiato per "stesso ordine"; dimenticato.