가장 간단한 예제인 T(n)와 O(1)로 시작해 보겠습니다. 예를 들어, f (x) = 6×4 – 2×3 + 5를 하자, 우리는 X가 무한대에 접근으로 성장 속도를 설명하기 위해, O 표기법을 사용하여,이 기능을 단순화하고자한다고 가정합니다. 이 함수는 6×4, -2×3 및 5. 이 세 용어 중 가장 높은 성장률을 가진 함수는 x 함수, 즉 6×4의 함수로 가장 큰 지수를 가진 용어입니다. 이제 두 번째 규칙을 적용 할 수 있습니다 : 6×4는 첫 번째 요소가 x에 의존하지 않는 6 및 x4의 곱입니다. 따라서 f(x)는 (x4)의 “빅오”라고 합니다. 수학적으로, 우리는 f (x) = O (x4)를 쓸 수 있습니다. 하나는 공식적인 정의를 사용하여이 계산을 확인할 수 있습니다 : f (x) = 6×4 – 2×3 + 5 및 g (x) = x4. 위에서 공식적인 정의를 적용하면 f(x) = O(x4)가 확장과 동일하다는 문, Big O는 수학 함수에 대한 근사치로 오류 용어를 설명하는 데 사용할 수도 있습니다.

가장 중요한 용어는 명시적으로 작성된 다음 가장 중요하지 않은 용어는 하나의 큰 O 용어로 요약됩니다. 예를 들어, 지수 계열과 x가 작을 때 유효한 두 가지 식을 생각해 보십시오: Big O 표기법도 더 복잡한 방정식의 다른 산술 연산자와 함께 사용할 수 있습니다. 예를 들어 h(x) + O(f(x)))는 h(x)의 증가와 성장이 f(x)로 제한되는 부분을 갖는 함수의 컬렉션을 나타냅니다. 따라서 예를 들어 알고리즘이 길이 n 목록의 각 숫자를 증가시면 “이 알고리즘은 O(n) 시간에서 실행되고 각 요소에 대해 O(1) 작업을 수행합니다”라고 말할 수 있습니다. Big O 표기법은 효율성을 위해 알고리즘을 분석할 때 유용합니다. 예를 들어, n 크기의 문제를 완료하는 데 걸리는 시간(또는 단계수)은 T(n) = 4n2-2n+2로 발견될 수 있다. n이 커지면 n2 용어가 지배하게 되므로 다른 모든 용어를 무시할 수 있습니다(예: n = 500이면 4n2라는 용어가 2n 용어의 1000배입니다.) 후자를 무시하면 대부분의 용도로 표현식의 값에 거의 영향을 미치지 않습니다. 또한 n3 또는 n4라는 용어를 포함하는 식과 같은 다른 발식 순서와 비교하면 계수는 무관하게 됩니다. T(n) = 1,000,000n2인 경우 U(n) = n3인 경우에도 n이 1,000,000(T(1,000,000)보다 커지면 후자는 항상 전자를 초과합니다(T(1,000,000)= U(1,000,000)).

또한 단계 수는 알고리즘이 실행되는 컴퓨터 모델의 세부 정보에 따라 다르지만 일반적으로 알고리즘을 실행하는 데 필요한 단계 수의 일정한 요소에 의해서만 다양한 유형의 컴퓨터가 달라집니다. 따라서 큰 O 표기형은 남아있는 것을 캡처합니다 : 함수가 n의 다항식으로 경계 될 수있는 경우 특히 n이 무한대로 경향이 있으므로 다항식의 하위 순서 항을 무시할 수 있습니다. 주목해야 할 또 다른 점은 세트 O (nc)와 O (cn)가 매우 다르다는 것입니다. c가 1보다 크면 후자는 훨씬 빠르게 자랍니다. c에 대해 nc보다 빠르게 성장하는 함수를 초다각형이라고 합니다. cn 양식의 지수 함수보다 더 느리게 성장하는 것을 subexponial이라고 합니다. 알고리즘은 초다각형 및 지수적 모두의 시간이 필요할 수 있습니다. 이 예는 정수 분해에 대한 가장 빠른 알려진 알고리즘과 위로부터의 관계 “fis Θ(g)”보다 동등한 관계및 더 제한적인 개념인 nlog n. 함수를 포함합니다.

 

Comments are closed.

Set your Twitter account name in your settings to use the TwitterBar Section.