시간 복잡도 및 디버깅 - oognuyh/algorithm-study GitHub Wiki

시간 복잡도

알고리즘에서 시간 복잡도란 주어진 문제를 해결하기 위한 연산 횟수를 말하며, 대략 1억 번의 연산을 1초의 시간으로 간주하여 예측한다.

시간 복잡도 유형

  1. 빅-오메가 - 최선일 때의 연산 횟수를 나타낸 표기법
  2. 빅-세타 - 보통일 때의 연산 횟수를 나타낸 표기법
  3. 빅-오 - 최악일 때의 연산 횟수를 나타낸 표기법

image

https://velog.io/@chloe41297/%EC%8B%9C%EA%B0%84%EB%B3%B5%EC%9E%A1%EB%8F%84-Big-O

시간 복잡도 도출 기준

연산 횟수 = 알고리즘 시간 복잡도 * 데이터의 크기(n)

  1. 상수는 시간 복잡도 계산에서 제외
  2. 가장 많이 중첩된 반복문의 수행 횟수가 시간 복잡도의 기준

디버깅

디버깅하는 방법

  1. 1개 이상의 중단점을 설정
  2. IDE의 디버깅 기능을 실행하여 자신이 의도한 대로 작동하는지 파악