Time Complexity(시간 복잡도) big-O표기법 / 효율적인 알고리즘

울라불라데덴네·2023년 1월 26일
0

자료구조

목록 보기
1/3

효율적인 알고리즘이란?

같은 결과더라도 같은 코드는 없다.
그렇기떄문에 문제에 대한 해답을 찾는 것이 가장 중요하다.
문제를 풀다보면 더 효율적인 방법과 이게 최선일까? 라는 질문을 던져봐야한다.
효율적인 방법 == 시간 복잡도 고려



시간 복잡도

입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화 하는 것이다. 이러한 알고리즘의 시간복잡도는 주로 big-O 표기법으로 사용한다.



Big-O표기법

faster ----------------------------------------------- slower
O(1) < O(log n) < O(n) < O(n log n) < O(n^2) < O(2^n)
상수<로그<선형<다항<지수

big-O표기법알고리즘 예제
O(1)스택 push, pop
O(log n)이진트리
O(n)for문
O(n log n)퀵 정렬, 병합정렬, 힙정렬
O(n^2)이중 for문, 삽입정렬, 거품정렬, 선택정렬
O(2^n)피보나치 수열
                                                          
profile
Get ready with me

0개의 댓글

관련 채용 정보