빅오 표기법
빅오 표기법
빅오 표기법 예시
O(1)- 상수 시간: 입력 데이터의 크기에 관계없이 알고리즘의 실행 시간이 일정- ex) 배열에서 인덱스를 사용하는 경우
O(n)- 선형 시간: 알고리즘의 실행 시간이 입력 데이터의 크기에 비례하여 증가- ex) 배열의 검색, 배열의 모든 요소를 순회하는 경우
O(n²)- 제곱 시간: 알고리즘의 실행 시간이 입력 데이터의 크기의 제곱에 비례하여 증가- ex) 보통 이중 루프를 사용하는 알고리즘에서 나타남
O(log n)- 로그 시간: 알고리즘의 실행 시간이 데이터 크기의 로그에 비레하여 증가- ex) 이진 탐색
O(n log n)- 선형 로그 시간- ex) 많은 효율적인 정렬 알고리즘들
빅오 표기법은 매우 큰 데이터가 들어왔을 때 대략적인 추세를 비교하기 위한 것이 목적
보통 최악의 상황을 가정해서 표기
- 최적의 경우: 배열의 첫번째 항목에서 바로 값을 찾으면 O(1)
- 최악의 경우: 마지막 항목에 있거나 항목이 없는 경우 전체 요소 순회 O(n)
- 평균의 경우: 평균적으로 보통 중간쯤 데이터를 발견 함. 이 경우 O(n/2)가 되지만, 상수를 제외해서 O(n)으로 표기
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
