소프트웨어 개발/C

복잡도에 따른 속도 순위

늘근이 2016. 3. 19. 10:57
  • O(1) : 입력 자료의 수에 관계없이 일정한 실행 시간을 갖는 알고리즘
  • O(log N) : 입력 자료의 크기가 N일경우 log2N 번만큼의 수행시간을 가진다.
  • O(N) : 입력 자료의 크기가 N일경우 N 번만큼의 수행시간을 가진다.
  • O(N log N) : 입력 자료의 크기가 N일경우 N*(log2N) 번만큼의 수행시간을 가진다.
  • O(N2) : 입력 자료의 크기가 N일경우 N2 번만큼의 수행시간을 가진다.
  • O(N3) : 입력 자료의 크기가 N일경우 N3 번만큼의 수행시간을 가진다.
  • O(2n) : 입력 자료의 크기가 N일경우 2N 번만큼의 수행시간을 가진다.
  • O(n!) : 입력 자료의 크기가 N일경우 n*(n-1)*(n-2)... * 1(n!) 번만큼의 수행시간을 가진다. ex)외판원 문제(TSP)의 기본적인 해법

  • 일반적인 외판원 문제의 경우 8개가 넘어가면 시간의 소요가 엄청나게 급상승한다.

    '소프트웨어 개발 > C' 카테고리의 다른 글

    C# 기억해두어야 할것  (0) 2016.04.03
    [링크] 시샵 강좌  (0) 2016.04.03
    [링크] 마이크로소프트 Face API C#에서 이용  (0) 2016.03.20
    C++ 표준 라이브러리 (Standard Library)  (0) 2016.03.19
    콘솔창 유지  (0) 2016.03.19