시간 복잡도는 속도, 공간 복잡도는 메모리 사용량을 나타냄
✔ 둘은 반비례하는 경향이 있지만, 항상 그런 것은 아님
✔ 보통 알고리즘의 성능은 “시간 복잡도”를 더 중요하게 고려
✔ 하지만, 메모리 제약이 있는 문제에서는 “공간 복잡도”도 고려
🔹 시간 복잡도(Time Complexity)
• 입력 크기(N)에 따라 연산이 얼마나 많이 수행되는지 나타냄
• O(빅오 표기법)으로 표현 (O(N), O(log N), O(N²), etc.)
🔹 공간 복잡도(Space Complexity)
• 입력 크기(N)에 따라 메모리를 얼마나 사용하는지 나타냄
• 변수, 리스트, 재귀 호출 등이 영향을 미침
❓빅오 표기법
주로 최악의 경우 시간 복잡도를 나타낸다.
아무리 많이 걸려도 최대 이 시간 안에는 끝난다는 것’을 나타낸다.
🔹성능 개선을 위해 시간복잡도를 줄이려면?
적절한 자료구조(배열, 스택, 큐.. 등) + 적절한 알고리즘(버블정렬, 선택정렬...등) 을
선택해서 사용할 줄 알아야함.
'개발 공부 > 알고리즘' 카테고리의 다른 글
최소 신장 트리 (MST) - 크루스칼/프림 알고리즘 (ft.백준 1197) (5) | 2025.03.31 |
---|---|
[Python] 백준 9935 문자열 폭발 문제 (스택, 문자열 메서드 join) (0) | 2025.03.27 |
[Python] 백준 10971 외판원순회2 - 완전탐색, DFS, 시간복잡도 개선 (0) | 2025.03.19 |
[Python] 백준 1065번 한수 풀이 (0) | 2025.03.16 |
[Python] 백준 9020번 골드바흐의 추측 (0) | 2025.03.15 |