complessità temporale ti dice quanto più lavorare l'algoritmo ha a che fare per incremento della dimensione dell'input, dare o prendere qualche coefficiente costante.
Quindi una complessità limite superiore di O (2 N) è uguale a complessità O (23587 N), perché la definizione stessa trovato qui
http://en.wikipedia.org/wiki/Big_O_notation
afferma che il coefficiente può essere qualsiasi numero, non importa quanto grande, a patto che sia fissato in base alla dimensione dell'input.
perché non si utilizza 'N' all'interno del ciclo, si sta solo aggiungendo un char a una stringa, la quantità di lavoro per ogni iterazione è uguale a quante iterazioni che hai -> O (N)
se avessi "stringy + = stringy;" invece sarebbe O (N^2) perché ogni iterazione stai raddoppiando la quantità di lavoro che dovete fare
* * NOTA
Io parto dal presupposto System.out.print è una dichiarazione atomica, vale a dire che stampa tutti i personaggi come una singola azione .. se è stampato ogni carattere singolarmente poi il suo O (N^2) ....
fonte
2013-09-08 05:24:23
Hai un loop infinito se N è maggiore di 0. Quindi sarebbe O (Infinito). La funzione non verrà completata. –
Non è un ciclo infinito. – Leigh
La complessità temporale di queste operazioni è O (n^2). '+ =' È O (N) e lo fai N volte. –