알고리즘(Algorithm) : 문제를 풀기 위한 단계적인 절차

알고리즘 기술방법 : 자연어, flow chart, 의사코드(Pseudo-code), 프로그래밍 언어

효율적인 알고리즘 = 시간복잡도 + 공간복잡도

시간복잡도는 절대적인 수행시간(X), 몇 번이나 연산들이 수행되는지를 표시한다.

빅오표기법 (시간복잡도를 표시하는 방법, 시간 복잡도 함수의 증가에 별로 기여하지 못하는 항을 생략함으로써 시간복잡도를 간단하게 표시),  O(N) -> "빅오 of n", 차수가 가장 높은 항만 남긴다. 하지만 상수항이나 계수가 큰 경우, 수행시간에 큰 영향을 끼칠 수 있음을 유의해야 한다.

O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) 

상수형 < 로그형 < 선형 < 선형로그형 < 2차형 < 3차형 < 지수형 < 팩토리얼형 (지수형, 팩토리얼형은 사용이 어려움)

빅오표기법 이외의 표기법 - 빅오메가, 빅쎄타 표기법 등

 

 

 

 

반응형

+ Recent posts