[알고리즘] Big-O

함민혁·2023년 8월 22일
0

cs면접준비

목록 보기
29/43

알고리즘이란?

어떤 문제나 목적을 달성하기 위해 거쳐야 하는 여러 과정들

Big-O 표기법이란?
알고리즘 성능을 수학적으로 표기해주는 표기법

공간 복잡도도 시간 복잡도와 마찬가지로 Big-O 표기법 사용

시간복잡도와 공간복잡도에 대해 설명해주세요.

좋은 알고리즘이란 작은 메모리 공간을 차지하면서 적은 시간 내에 주어진 임무를 수행하는 알고리즘이다.
이 알고리즘을 평가할 때, 수행시간과 메모리 사용량을 평가 기준으로 두는 데, 이 각각에 해당하는 사항이 시간복잡도와, 공간 복잡도임.
시간 복잡도는 알고리즘의 수행시간의 분석 결과를 말하고, 공간 복잡도는 알고리즘의 메모리 사용량에 대한 분석 결과를 말함.

O(1)은 O(N^2) 보다 무조건적으로 빠른가요?

시간복잡도가 작다고 해서 무조건 그 알고리즘이 빠르지는 않다. 왜냐하면 시간복잡도의 경우에는 보통 최악의 수행시간을 나타내기 때문

Big-O 표기법의 시간 복잡도 크기 순서를 말해주세요

O(1) < O(log N) < O(N) < O(N log N) < O(N^2) < O(2^N) < O(N!)

다른 것을 사용하지 않고, Big-O를 사용하는 이유가 있을까요?

알고리즘의 최악의 경우에 대응해야되기 때문이다.

profile
Born to be FE developer 🧑🏻‍💻

0개의 댓글