본문 바로가기
알고리즘/이론

알고리즘 이론 정리

by 머리올리자 2021. 1. 20.

복잡도

1) 시간 복잡도 : 계산 복잡도 이론에서 시간 복잡도는 문제를 해결하는데 걸리는 시간과 입력의 함수 관계(수행 시간)

[참고: 위키피디아]

 

2) 공간 복잡도 : 프로그램을 실행시킨 후 완료하는 데 필요로 하는 자원 공간의 양(메모리 양)

[참고: wiki.hash.kr/index.php/공간복잡도]

 

복잡도가 더 낮을수록 좋음

 

Big-O Notation

 - 가장 빠르게 증가하는 항만을 고려하는 표기법

 - 연산 횟수가 $5N^3 + 2N^2 + 3N^1 + 100$인 알고리즘이 있으면 Big-O Notation에서는 $O(N^3)$으로 표기

   (계수 무시)

 

[참고 : www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=1]

 

상수 시간 O(1)
로그 시간 O(logN)
선형 시간 O(N)
선형 로그 시간 O(NlogN)
2차 시간 O($n^2$)
3차 시간 O($n^3$)
지수 시간 O($2^n$)

위로 갈수록 복잡도가 더 낮고 아래로 갈수록 복잡도가 더 높다.

[참고 1 : www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=1]

[참고 2 : ko.wikipedia.org/wiki/%EC%8B%9C%EA%B0%84_%EB%B3%B5%EC%9E%A1%EB%8F%84]

'알고리즘 > 이론' 카테고리의 다른 글

queue 자료구조 설명 및 구현(c++)  (0) 2021.04.09
DFS & BFS 이해하기 및 구현(C++)  (9) 2021.03.08
stack 자료구조 설명 및 구현(c++)  (0) 2021.03.03
구현  (0) 2021.01.21
그리디(Greedy) 알고리즘  (0) 2021.01.20