Qual é a complexidade deste simples pedaço de código?
Estou colando este texto de um ebook que tenho. Diz a complexidade se O (n2) e também fornece uma explicação para isso, mas não vejo com
Pergunta: Qual é o tempo de execução desse código?
public String makeSentence(String[] words) {
StringBuffer sentence = new StringBuffer();
for (String w : words) sentence.append(w);
return sentence.toString();
}
A resposta que o livro deu:
E2), onde n é o número de letras na frase. Aqui está o porquê: sempre que você anexa uma string a uma frase, você cria uma cópia da frase e percorre todas as letras da frase para copiá-las. Se você precisar percorrer até n caracteres cada vez no loop, e você repetindo pelo menos n vezes, isso fornece um O (n2) tempo de execução. Ai!
lguém pode explicar esta resposta mais clarament