Я читал о нотации Big-O из здесь и у меня было мало вопросов по вычислению сложности. Итак, для приведенного ниже кода я вычислил сложность. нужны ваши входы для того же.
private void reverse(String strToRevers)
{
if(strToRevers.length() == 0)
{
return ;
}
else
{
reverse(strToRevers.substring(1));
System.out.print(strToRevers.charAt(0));
}
}
Если учитывать фактор памяти, то сложность приведенного выше кода для строки из n символов равна O (n ^ 2). Объяснение приведено для строки, состоящей из n символов, приведенная ниже функция будет вызываться рекурсивно n-1 раз, и каждый вызов функции создает строку из одного символа (stringToReverse.charAT (0)). Следовательно, это n * (n-1) * 2, что означает o (n ^ 2). Дайте мне знать, если это правильно?