Я вставляю этот текст из книги, которую у меня есть. Он говорит о сложности, если O (n 2), а также дает объяснение, но я не вижу, как.
Вопрос: Каково время работы этого кода?
public String makeSentence(String[] words) {
StringBuffer sentence = new StringBuffer();
for (String w : words) sentence.append(w);
return sentence.toString();
}
Ответ, полученный в книге:
O (n 2), где n - количество букв в предложении. Вот почему: каждый раз, когда вы добавьте строку в предложение, вы создадите копию предложения и пропустите все буквы в предложение, чтобы скопировать их. Если вам нужно перебирать до n символов каждый раз в loop и youre looping как минимум n раз, что дает вам время O (n 2). Ой!
Может кто-нибудь объяснить этот ответ более четко?