현재 알고리즘 과정에 대한 소개를하고 있으며이 문제를 해결하는 데 도움이 필요합니다. 의심스럽고 그렇게 확신 할 수 없기 때문에 위에 보여졌습니다. :) 두 가지 질문이 있습니다.
질문 1 :내 알고리즘에 대한 책에서 알 수 있듯이이 문제의 런타임 복잡성은 f (n) = 3n이라고 생각합니다. 왜? 왜냐하면 while 루프는 n 번 실행되기 때문에 루프의 각 반복마다 3 번의 연산 (1 빼기, 1 곱셈, 1 덧셈)이 이루어지기 때문입니다. 대입 문으로 인해 실제로 f (n) = 5n이되어야합니다. 나는 둘 다 똑같은 복잡성을 가지고 있음을 알고 있지만, 나는 분명히 확실하게하고 싶다.
질문 2 : 알고리즘이 다항식의 값을 찾으면 보여줄 수있는만큼, 특정 다항식의 값을 찾는 예제를 제공하기에 충분합니다. 3n^2 + 2n + 1을 증명하면됩니다. 알고리즘이 작동하거나 그렇게하는 더 좋은 방법이 있습니다.
시간 복잡도를 계산할 때 상수는 신경 쓰지 않아도됩니다. O (n)은 O (2n)과 O (200n)과 동일합니다. – arunmoezhi
오, 알았습니다. 위의 코드는 복잡성 BigOh (n)보다 위의 코드입니다. 내 사고 과정이 옳은가요 아니면 다른 것이 복잡합니까? arunmoezhi – TwilightSparkleTheGeek
당신은 스스로에게 이러한 질문을해야합니다. while 루프는 몇 번 실행됩니까? 'i'의 값은 ('i = i-1' 이외의) 루프 내부에서 수행되는 작업과 무관합니까? – arunmoezhi