알고리즘이란?
어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합
어떤 문제가 있을 때, 그것을 해결하기 위한 여러 동작들의 모임
알고리즘을 공부해야하는 이유❗
시간 복잡도란?
입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계를 말한다.
입력값→ 함수에서 크기가 변경될 수 있는 값
공간 복잡도란?
입력값과 문제를 해결하는 데 걸리는 공간과의 상관관계를 말한다.
점근 표기법이란?
알고리즘의 성능(효율성)을 수학적으로 표기하는 방법. 점근 표기법(asymtotic notation)은 함수의 증가 양상을 다른 함수와의 비교로 표현하는 수론과 해석학의 방법
점근 표기법의 종류에는 빅오(Big-O)표기법, 빅 오메가(Big-Ω)표기법이 있다.
빅오 표기법은 최악의 성능이 나올 때 어느 정동의 연산량이 걸릴것 인지,
빅오메가 표기법은 최선의 성능이 나올 때 어느 정도의 연산량이 걸릴것인지에 대해 표기
*알고리즘에서 대부분 빅오 표기법으로 분석한다. 최악의 경우를 대비해야 하기 떄문이다.
문제 자체를 이해하기 힘들 때❗