CHANGEL
SOLID BASICS
CHANGEL

공지사항

  • DEV.CHANGEL PROFILE
  • SOLID BASIC (289)
    • 공부 STUDY (115)
      • JAVA (57)
      • C | C++ (34)
      • CS (11)
      • MySQL (2)
      • ALGORITHM (1)
      • HTML (2)
      • CSS (2)
      • JS (2)
      • CODING (0)
      • MINI PROJECT (3)
    • 스프링 SPRING (21)
      • [SPRING] 김영한 스프링 입문 (11)
      • [SPRING] 남궁성 스프링의 정석 (1)
      • [SPRING] 스프링 핵심원리 (9)
    • 전공 수업 CS (65)
      • Computer Network (13)
      • algorithms (21)
      • Computer Architecture (7)
      • Software Engineering (4)
      • Data Structure (2)
      • DataBase (1)
      • Digital Engineering (14)
      • Discrete Mathematics (3)
      • Introduction to programming (0)
      • Mobile Software (0)
      • Intelligence and Informatio.. (0)
    • 대외활동 (35)
      • 신한은행 대학생 홍보대사 34기 (8)
      • SKT T프렌즈 5기 (13)
      • SK DEVOTION YOUNG 1기 (9)
      • 성균관 대학교 공학교육혁신센터 수강 (3)
      • 수상 기록 (1)
    • 솝트 33기 안드로이드 (7)
      • [솝트 33기] 회고록 (0)
      • [솝트 33기] 안드로이드 왕초보 스터디 (2)
      • [솝트 33기] 코틀린 스터디 (0)
      • [솝트 33기] Git을 털어보자 깃털 스터디 (4)
    • 멋쟁이사자처럼 11기 (6)
      • 멋사 회고록 (4)
      • 백엔드 세션 (1)
      • 기획 세션 (1)
      • 연합해커톤 운영단 (기획팀) (0)
    • 백준 BAEKJOON (16)
    • 독서 BOOK (10)
    • 자격증 CERTIFICATE (1)
    • 준비 서류 및 회고록 MEMOIR (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

최근 댓글

인기 글

CHANGEL

SOLID BASICS

전공 수업 CS/algorithms

[알고리즘] 알고리즘의 성능 평가 | 점근식 표기법 | 순환

2022. 9. 26. 01:21

 

성능 분석 : 프로그램을 실행하는데 필요한 시간과 공간의 추정

성능 측정 : 컴퓨터가 실제로 프로그램을 실행하는데 걸리는 시간 측정

 

 

============================================================================================

 

성능 분석

공간 복잡도 : 알고리즘을 실행시켜 완료하는데 필요한 총 저장 공간(고정 공간 + 가변 공간)

시간 복잡도 : 알고리즘을 실행시켜 완료하는데 걸리는 시간(컴파일 시간 + 실행 시간)

점근식 표기법(Asymptotic notation)

  • Big-Oh (O) : f, g가 양의 정수를 갖는 함수일 때, 두 양의 상수 a, b가 존재하고, 모든 n >= b에 대해 f(n) ≤ a · g(n) 이면, f(n) = O(g(n))
  • Big-Omega (Ω) : f, g가 양의 정수를 갖는 함수일 때, 두 양의 상수 a, b가 존재하고, 모든 n >= b에 대해 f(n) >= a ·g(n) 이면, f(n) = Ω(g(n))
  • Big-Theta (Θ) : ➢ f, g가 양의 정수를 갖는 함수일 때,
    세 양의 상수 a, b, c가 존재하고, 모든 n >= c에 대해 a · g(n) ≤ f(n) ≤ b · g(n) 이면, f(n) = Θ(g(n))

연산 그룹

  • 상수시간 : O(1)
  • 로그시간 : O(logn)
  • 선형시간 : O(n)
  • n로그시간 : O(nlogn)
  • 평방시간 : O(n^2)
  • 입방시간 : O(n^3)
  • 지수시간 : O(^2n)
  • 계승시간 : O(n!)

연산 시간의 순서

  • O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!)

O(n^k) : polynomial time(다항식 시간)

순환 (recursion)

  • 정의하려는 그 개념 자체를 정의 속에 포함
  • 종류
    • 직접 순환 : 함수가 직접 자신을 호출
    • 간접 순환 : 다른 제 3의 함수를 호출하고 그 함수가 다시 자신을 호출
  • 순환 방식의 적용
    • 분할 정복(divide and conquer)의 특성을 가진 문제에 적합
    • 어떤 복잡한 문제를 직접 간단하게 풀 수 있는 작은 문제로 분할하여 해결하려는 방법
    • 이 작고 간단한 문제는 원래의 문제와 그 성질이 같기 때문에 푸는 방법도 동일

순환 알고리즘과 점화식

점화 관계 : 하나의 값이 자신을 포함한 수식으로 표현되는 것
점화식 : 점화 관계인 식
점화식을 푼다 : 점화식에 대한 폐쇄형 구하는 것

 

'전공 수업 CS > algorithms' 카테고리의 다른 글

[알고리즘] 삽입 정렬 알고리즘  (1) 2022.10.11
[알고리즘] 버블정렬  (0) 2022.10.11
[알고리즘] 선택 정렬 알고리즘  (0) 2022.10.11
[알고리즘] 정렬 알고리즘 정리 | 버블 정렬, 삽입 정렬, 선택 정렬, 합병 정렬, 퀵 정렬  (1) 2022.09.26
[알고리즘] ADL  (0) 2022.09.26
    '전공 수업 CS/algorithms' 카테고리의 다른 글
    • [알고리즘] 버블정렬
    • [알고리즘] 선택 정렬 알고리즘
    • [알고리즘] 정렬 알고리즘 정리 | 버블 정렬, 삽입 정렬, 선택 정렬, 합병 정렬, 퀵 정렬
    • [알고리즘] ADL
    CHANGEL
    CHANGEL
    NOT GIVING UP | SOLID BASICS

    티스토리툴바