- 자료구조와 알고리즘은 서로간의 영향을 많이 받음
- 하드웨어 가까울 수록 중요도가 높아짐
- 소프트웨어일 수록 중요도가 떨어짐 (지도, 검색 서비스는 제외)
※ Big-O 표기법에서 사용되는 표기법
입력이 증가 할때 처리시간이 증가하는 정도
좋은 알고리즘이란 복잡도를 낮추는 행위
시간 복잡도의 성능 비교
Fast - O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(2n) - Slower
Big-O표기법 예제
- O(1) : 스택에서 push, pop
- O(log n) : 이진트리
- O(n) : for 문
- O(n log n) : 퀵 정렬, 병합정렬, 힙 정렬
- O(n2) : 이중 for문, 삽입정렬, 거품정렬, 선택정렬
- O(2n) : 파보나치 수열