나는 빅 핸드 (Big-O) 표기법을 here에서 읽었으며 복잡도 계산에 관한 질문이 거의 없었습니다. 아래의 코드에서 복잡성을 계산했습니다. 귀하의 의견을 동일하게 받아야합니다.메모리와 관련하여 아래 코드의 복잡성은 무엇입니까?
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)로 변환됩니다. 이게 맞는지 알려주시겠습니까?
@ 존 : 그게 바로 n * (n-1)/2 – Cshah