Complimenti, spiegazione chiarissima. Un dubbio, ma questo argomento che hai trattato nel video viene insegnato alle scuole superiori o direttamente in università?
Salve, scusi il disturbo, avrei una domanda forse un po' stupida: è necessario trovare quella funzione di costo totale oppure posso limitarmi a trovare l'istruzione dominante (in questo caso uno dei due cicli più interni) e procedere con l'andamento asintotico? Comunque molto chiaro e preciso, complimenti☺ La ringrazio in anticipo per l'eventuale risposta!
@@AndreaCapiluppi in che senso "soluzione esatta"? In fin dei conti anche quell'equazione presenta degli errori di valutazione, no? Che però sono trascurabili in quanto ciò che ci interessa è la complessità dell'algoritmo e non una stima esatta del costo in termini di tempo dell'algoritmo. Mi corregga se sbaglio. Più che altro non so a cosa possa servire quell'equazione carattetistica del costo dell'algoritmo. A intuizione direi per paragonare algoritmi con stessa complessità per quanto riguarda l'andamento asintotico, ma mi sembra comunque sbagliato, sempre per il fatto che commettiamo errori di valutazione per quanto riguarda il costo delle singole operazioni🤔 non so se ha capito il mio dubbio... Spero di si... Comunque la ringrazio per il suo tempo e per la risposta tempestiva!☺
Grazie alle regole di semplificazione della notazione asintotica è possibile trascurare le costanti moltiplicative. Inoltre, la somma di due complessità è limitata superiormente dalla complessità massima. Quindi, trascurando 6n + 4, rimane 5n^2. Trascurando la costante moltiplicativa, rimane n^2.
Complimenti, molto chiaro. Ma che linguaggio stiamo usando? Pensavo fosse c ma quell'output c>> eccetera non mi torna essere nel c. Grazie per il video :)
Ciao e grazie per il feedback. Il linguaggio è c++. Ma come vedi è del tutto simile al c... ma ha la bella caratteristica di avere un input/output semplificato. Inoltre è ad oggetti.
In realtà non si parla di infiniti nel caso specifico, ma l'O grande per definizione è la "stima peggiore", quindi si ipotizza una quantità di dati in input infinita (n->infinito) Di fatto se n == 1 la complessità è enormemente ridotta.
Grazie mille. Molto chiaro. Stra contenta. Ora capisco come si fa😀
menomale via :)
Complimenti, spiegazione chiarissima. Un dubbio, ma questo argomento che hai trattato nel video viene insegnato alle scuole superiori o direttamente in università?
Grazie del feedback. Io lo insegno alle superiori.
@@AndreaCapiluppi Va bene, grazie per la risposta.
Salve, scusi il disturbo, avrei una domanda forse un po' stupida: è necessario trovare quella funzione di costo totale oppure posso limitarmi a trovare l'istruzione dominante (in questo caso uno dei due cicli più interni) e procedere con l'andamento asintotico? Comunque molto chiaro e preciso, complimenti☺ La ringrazio in anticipo per l'eventuale risposta!
Tutto dipende se devi trovare la soluzione esatta o solo asintotica
@@AndreaCapiluppi in che senso "soluzione esatta"? In fin dei conti anche quell'equazione presenta degli errori di valutazione, no? Che però sono trascurabili in quanto ciò che ci interessa è la complessità dell'algoritmo e non una stima esatta del costo in termini di tempo dell'algoritmo. Mi corregga se sbaglio. Più che altro non so a cosa possa servire quell'equazione carattetistica del costo dell'algoritmo. A intuizione direi per paragonare algoritmi con stessa complessità per quanto riguarda l'andamento asintotico, ma mi sembra comunque sbagliato, sempre per il fatto che commettiamo errori di valutazione per quanto riguarda il costo delle singole operazioni🤔 non so se ha capito il mio dubbio... Spero di si... Comunque la ringrazio per il suo tempo e per la risposta tempestiva!☺
Scusi la mia ignoranza ma come ha fatto alla fine a decretare dal calcolo numerico che si tratta di un THETA ( o almeno credo ) di n^2? grazie
Grazie alle regole di semplificazione della notazione asintotica è possibile trascurare le costanti moltiplicative. Inoltre, la somma di due complessità è limitata superiormente dalla complessità massima.
Quindi, trascurando 6n + 4, rimane 5n^2. Trascurando la costante moltiplicativa, rimane n^2.
Grazie, è stato molto esplicativo :)
menomale via :)
GRAZIE MI HAI FATTO CAPIRE FINALMENTE
grazie a te
MENOMALE VIA :)
Molto bravo e chiaro... solo la testa che fa ombra :)
Complimenti, molto chiaro. Ma che linguaggio stiamo usando? Pensavo fosse c ma quell'output c>> eccetera non mi torna essere nel c. Grazie per il video :)
Ciao e grazie per il feedback. Il linguaggio è c++. Ma come vedi è del tutto simile al c... ma ha la bella caratteristica di avere un input/output semplificato. Inoltre è ad oggetti.
Ciao scusa, ma se il for fosse (i=0; i
Avresti un ciclo in più e quindi un confronto in più
Grazie mille!! Utilissimo !!
menomale via :)
Ma che bravo sei!
Troppo buono grazie
@@AndreaCapiluppi insegni informatica alle superiori? Dai ripetizioni?
Grazie mille!
Di nulla... :D
grazie, molto chiaro!
menomale via :)
ottimo,ve ne sono altri?
complimenti,spiegazione chiarissima
Ģrazie del feedback.
menomale via :)
Grazie Andra chiarissimo, ho solo un dubbio, perchè l'ultima riga (assegnazione) è eseguita n volte e non n^2 volte, essendo dentro 2 cicli for?
È eseguita N volte nel for interno. Ma il for interno è eseguito anche lui N volte. Di fatto ottieni lo stesso risultato.
@@AndreaCapiluppi okay credevo si moltiplicassero, grazie molte!
@@insanitytwins4775 Se vedi si moltiplicano perchè in verde c'è un N * (..... + N)
non capisco perche è diventato un theta alla fine non stavamo calcolando O grande?
grazie ❤
Buonasera ho un dubbio, l'istruzione "return" viene conteggiata nel calcolo della complessità oppure no?
Non va conteggiata, a meno che non contenga istruzioni come ad es.: return ++a;
Molto utile 🙅🏼♂️
Grazie del feedback! :D
Utilissimo!!!
grazie del feedback
Domandina: l'ordine è O(n^2) perchè si sta parlando di infiniti e perciò vince l'esponente più grande?
Si. 3N^2 e 9999N^2 sono sempre O(N^2).
In realtà non si parla di infiniti nel caso specifico, ma l'O grande per definizione è la "stima peggiore", quindi si ipotizza una quantità di dati in input infinita (n->infinito)
Di fatto se n == 1 la complessità è enormemente ridotta.