본문 바로가기

알고리즘

시간복잡도

  • 문제 해결을 위한 연산 횟수
  • 보통 1초에 1억번의 연산을 말함
  • 유형
    • 빅 오메가: 최선의 연산 횟수
    • 빅 세타: 보통일 때 연산 횟수
    • 빅 오: 최악일 때 연산 횟수
    • 보통 빅 오를 기준으로 함
  • 내가 짠 코드가 시간복잡도가 몇인지 아는게 좋음
  • 해당하는 알고리즘에 최대 계산 수를 넣어서 시간 복잡도를 계산함

신경써야 할 점

  • 상수는 시간 복잡도에서 제외
    • 같은 횟수의 반복문을 3개 실행시켜 3N이여도 시간 복잡도는 O(n)임
  • 가장 많이 중첩한 반복문의 수행 횟수가 시간 복잡도의 기준이 된다.
    • n번 반복문안에 n번 반복문이 있으면 n^2이 됨
  • 맞는 알고리즘을 선택했으나 시간초과가 나는 경우 내 코드가 효율적인 지 확인

 


출처: https://youtu.be/XncTU-4i1KI?si=3Eu_cSbJy78Oi7VA

'알고리즘' 카테고리의 다른 글

버블 정렬  (1) 2024.03.22
Stack , Queue 스택과 큐  (0) 2024.03.20
구간 합  (0) 2024.03.20
배열과 리스트  (0) 2024.03.20
디버깅  (0) 2024.03.14