ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 분석
    알고리즘 2021. 3. 10. 17:57

    시간복잡도 분석 (time complexity analysis)

    알고리즘의 실행시간(running time) 효율성 분석

    • 알고리즘의 실제 실행시간을 측정하는 방법 : 실행환경의 영향을 많이 받음
    • 시간복잡도 분석은 물리적 시간 대신 명령문의 실행 횟수를 분석
    • 주어진 알고리즘의 실행시간은 입력(input)에 따라 달라짐

    입력 크기 : 흔히 n으로 표현한다.

    시간복잡도 분석

    모든 경우 시간복잡도 T(n)

    최악의 경우 시간복잡도 W(n) : 최대 실행 횟수
    평균의 경우 시간복잡도 A(n) : 평균 실행 횟수

    최선의 경우 시간복잡도 B(n) : 최소 실행 횟수

    빅오 표기법

    • 정확한 실행 횟수보다 n이 커짐에 따라 어떤 비율로 시간이 증가하는지가 중요
    • 입력 크기 n과 상관없이 상수 번 실행되는 명령문은 무시해도 됨
    • n에 의존하는 항이 여러 개인 경우, 가장 값이 높게 올라갈 항이 전체 시간을 지배한다

    ==> 시간이 중요하다

    빅오 표기법 분석 방법

    1) 입력크기 파악
    2) 일력(내용)에 따라 시간이 달라지는지>
    3) 실행시간에 영향을 주는 연산의 실행 횟수 ex) T(n) = n+3
    4) 빅오표기법을 사용하여 시간복잡도(의 차수) ex) T(n) = O(n)

    '알고리즘' 카테고리의 다른 글

    탐욕적 알고리즘  (0) 2021.05.10
    동적 프로그래밍  (0) 2021.04.28
    검색  (0) 2021.04.05
    정렬  (0) 2021.03.15
    기초  (0) 2021.03.08

    댓글

Designed by Tistory.