javascript _Time Complexity(시간복잡도)

장봄·2020년 5월 30일
1

code-states_4주차

목록 보기
11/13
post-thumbnail

[Time Complexity(시간복잡도)]

알고리즘이 문제를 해결하기 위한 시간(연산)의 횟수

Big O 표기법

알고리즘의 성능의 시간 복잡도를 표기하는 방법

1. O(1) : 상수 시간. 입력 데이터의 크기와 상관없이 언제나 일정한 시간이 걸리는 알고리즘을 말한다.

  • 대표적인 예로 Array.prototype.pop 같이 특정 배열의 위치의 녀석을 가져오는 경우

2. O(log n) : 로그 시간. 데이터가 커지면 커질수록 효율이 극대화되는 케이스이다.

  • Binary search tree access(이진 검색) - search(검색), insertion(삽입), deletion(삭제)

3. O(n) : 직선적 시간. 입력 데이터의 크기에 비례해서 처리시간에 걸리는 알고리즘을 표현할 때 사용한다.

  • 대표적인 예로 Array.prototype.indexOf 메소드

4. O(n^2) : 2차 시간. Quadratic Time

  • 대표적인 예로 2중 반복문을 탐색하는 경우

5. O(C^n) : 지수 시간. 문제를 해결하기 위한 단계의 수는 주어진 상수값 C 의 n 제곱

profile
즐겁게 배우고 꾸준히 블로깅하는 개발자입니다 ;>

0개의 댓글