물론입니다. 이것은 훌륭하고 완벽하게 허용됩니다. 실행 시간이 두 매개 변수에 의존하는 알고리즘을 보는 것이 일반적이며 표준입니다.
예를 들어, 깊이 우선 검색의 실행 시간이 으로 표시되는 경우가 종종 있습니다. 여기서 은 꼭짓점의 수이고 은 그래프의 가장자리 수입니다. 이것은 완벽하게 유효합니다. 이것의 의미는 상수 와 숫자 이 존재 하여 알고리즘의 실행 시간이 모든 대해 최대 이되도록하는 것 입니다. 정확한 실행 시간 인 경우 즉, , 우리는 말할 이 존재하는 경우 되도록 및 암시O(n+m)nmcn0,m0c⋅(n+m)n>n0,m>m0f(n,m)f(n,m)=O(n+m)c,n0,m0n>n0m>m0f(n,m)≤c⋅(n+m) .
그렇습니다. 첫 번째 단계는 시간이 걸리고 두 번째 단계는 시간 이 걸린다고 말하는 것이 완벽하고 적절 합니다.O(n)O(m)
중요 : 과 이 무엇인지 정의하십시오 . 당신은 "이것은 말할 수없는 무엇인지 지정하지 않고 시간 알고리즘" 입니다. 경우 문제 문에 지정되지 않은, 당신은 그것을 지정해야합니다. 예를 들어 일반적으로 #의 정점과 #의 모서리를 정의하는 그래프 알고리즘을 참조하십시오 .nmO(n)nnn=m=
지금까지 당신이 그들을 호출 할 수 있습니다 여부와 같은 물론하지의, 아니, 시간 - 당신은 어떻게 든 모르는 경우 . 물론 이면 뒤에 오므로 시간 알고리즘도 시간 알고리즘입니다. 그러나 보장 하지 않으면 시간 알고리즘 이라고 부를 수 없습니다 .O(n)m=O(n)m=O(n)m+n=O(n)O(m+n)O(n)m=O(n)O(n)
이것은 기본적인 것입니다. 모든 알고리즘 교과서에서 찾을 수 있습니다.