자격증/정보처리기사

64. 복잡도(A)

환성 2023. 2. 2. 18:03
728x90

복잡도

  • 시스템이나 시스템 구성 요소 또는 소프트웨어의 복잡한 정도를 나타내는 말
  • 정밀한 테스트를 통해 미리 오류 제거
  • 측정 방법 : LOC(Line of Code), 순환 복잡도

 

시간 복잡도

  • 알고리즘의 실행시간, 프로세스가 수행하는 연산 횟수를 수치화
  • 빅오 표기법 : 최악
  • 세타 표기법 : 평균
  • 오메가 표기법 : 최선
  • O(1) : 입력값에 관계 없이 일정하게 문제 해결(스택 삽입, 삭제)
  • O(log₂n) : 문제 해결에 필요한 단계가 입력값 또는 조건에 의해 감소(이진 트리, 이진 검색)
  • O(n) :  입력값과 1:1 관계(for문)
  • O(nlog₂n) : 힙 정렬, 2-Way 합병 정렬
  • O(n²) : 삽입 정렬, 쉘 정렬, 선택 정렬, 버블 정렬, 퀵 정렬
  • O(2ⁿ) : 피보나치 수열

 

순환 복잡도

  • 프로그램의 논리적 복잡도를 측정하기 위한 소프트웨어 측정도
  • V(G) = E - N + 2 : E는 화살표 수, N은 노드 수