시간 복잡도 및 디버깅 - oognuyh/algorithm-study GitHub Wiki
시간 복잡도
알고리즘에서 시간 복잡도란 주어진 문제를 해결하기 위한 연산 횟수를 말하며, 대략 1억 번의 연산을 1초의 시간으로 간주하여 예측한다.
시간 복잡도 유형
- 빅-오메가 - 최선일 때의 연산 횟수를 나타낸 표기법
- 빅-세타 - 보통일 때의 연산 횟수를 나타낸 표기법
- 빅-오 - 최악일 때의 연산 횟수를 나타낸 표기법
https://velog.io/@chloe41297/%EC%8B%9C%EA%B0%84%EB%B3%B5%EC%9E%A1%EB%8F%84-Big-O
시간 복잡도 도출 기준
연산 횟수 = 알고리즘 시간 복잡도 * 데이터의 크기(n)
- 상수는 시간 복잡도 계산에서 제외
- 가장 많이 중첩된 반복문의 수행 횟수가 시간 복잡도의 기준
디버깅
디버깅하는 방법
- 1개 이상의 중단점을 설정
- IDE의 디버깅 기능을 실행하여 자신이 의도한 대로 작동하는지 파악