빅오 소개

1998 단어
Big O에 대해 이야기하기 전에 Big O에 대해 알아야 하는 이유를 아는 것이 좋습니다.

다른 알고리즘이 있다고 가정해 봅시다. 어느 것이 더 효율적인지 어떻게 알 수 있습니까? 우리는 그것들을 어떻게 비교합니까? Big O가 작동하는 곳입니다.

Big O는 알고리즘이 얼마나 효율적인지 설명, 분류, 분석, 비교 및 ​​논의할 수 있는 일련의 규칙 및 용어입니다. 입력이 증가함에 따라 알고리즘의 실행 시간이 어떻게 증가하는지 설명합니다.

일부 Big O 복잡성

오(1)

입력이 증가함에 따라 런타임이 일정한 시간으로 증가합니다. 알고리즘이 이렇게 복잡하다면 더 잘할 수 없을 것입니다.

예를 들어, 이 함수는 O(1) 복잡도를 가집니다. 입력이 커져도 런타임이 영향을 받지 않기 때문입니다. sum(1, 2) 또는 sum(100000, 1000000) 를 사용하면 항상 하나의 작업을 수행합니다.

function sum(n1, n2) {
  return n1 + n2
}


상수로 간주되는 작업:
  • 변수 할당
  • 산술 연산
  • 인덱스로 배열의 요소에 액세스
  • 키로 개체의 값에 액세스

  • 에)

    선형 런타임은 입력 크기에 바인딩되며 런타임은 입력이 커짐에 따라 커집니다. 대부분의 경우 이러한 유형의 알고리즘에는 일종의 루핑 메커니즘(for, while, 재귀)이 있습니다.
    루프에서 복잡성은 루프의 길이입니다.

    function logNumbersUntil(n) {
      for (let i = 0; i < n; i++) {
        console.log(i)
      }
    }
    

    좋은 웹페이지 즐겨찾기