mini_me
우당탕탕 코드 프로젝트
mini_me
전체 방문자
오늘
어제
  • 분류 전체보기 (30)
    • 알고리즘 (4)
    • 자료구조 (5)
    • 운영체제 ( OS ) (7)
    • JSP (6)
    • 스프링 (5)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 연결리스트 # 열혈 자료구조 #자료구조
  • 자동화
  • 그리디 알고리즘
  • 디렉티브 태그
  • 그래프 알고리즘
  • jenkins
  • 알고리즘
  • 백엔드
  • leetcode
  • spanning tree
  • mst
  • Oracle Cloud
  • trie
  • graph algorithm
  • Database 생성 및 권한
  • SQLD
  • smoke test
  • K6
  • 데이터 모델링
  • 자바스크립트
  • influxdb
  • 부하테스트
  • dockerhub
  • grafana
  • docker
  • load teet
  • Clone Graph
  • #연결리스트 #자료구조 #연결 리스트 #전공 공부
  • ci/cd
  • Greedy Algorithm

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
mini_me
자료구조

[자료구조]01. 알고리즘의 성능분석 방법 - 시간복잡도 / 공간복잡도

[자료구조]01. 알고리즘의 성능분석 방법 - 시간복잡도 / 공간복잡도
자료구조

[자료구조]01. 알고리즘의 성능분석 방법 - 시간복잡도 / 공간복잡도

2021. 1. 13. 18:02

  

시간복잡도와 공간 복잡도

우리는 잘 동작하고 좋은 성능까지 보장받기를 원하기 때문에 알고리즘을 분석 및 평가 할 수 있어야 한다.

"알고리즘이 얼마나 빠르고 또는 느린가 "  " 어떤 알고리즘이 어떠한 상황에서 메모리를 적게 쓰거나 많이쓰나"

  -> 알고리즘의  수행시간  "속도"                   -> 알고리즘이 필요로 하는 기억공간의 양     "메모리의 사용량"

  -> "시간 복잡도"                                       -> " 공간 복잡도"


시간 복잡도 함수

시간복잡도는 알고리즘의 수행시간 분석을 뜻한다.

연산의 횟수를 통해 알고리즘의 빠르기를 판단한다. = 연산 횟수 통해 시간복잡도를 표시

연산의 수행횟수는 객관적인 근거이다.

데이터의 수를 x로, 연산횟수의 함수를 y로 설정하여 함수 T(n) 으로 구성한다. 

왜 함수식으로 구성할까?

그 이유는 함수로 만들어놓으면 그래프로 만들어 둘 수 있다.

이렇게 그래프를 그려놓으면 데이터의 수가 늘어남이 한눈에 들어온다.

즉 '데이터 수'에 따른 '연산횟수'의 변화정도를 알 수 있다.

알고리즘의 수행속도 비교 기준에 대해서 

데이터 수에 따른 수행 속도의 변화 정도를 기준으로 한다.

사진을 보면 데이터의 수가 적은 경우에는 알고리즘 b가 우수하다고 볼 수 있다. 이후 데이터 수가 증가한 이후에는 알고리즘 a가 우수하다고 볼 수 있으므로 데이터가 적을 때에는 b를 사용하고 많을 때에는 a를 사용하면 되는거아니야?

답은 아니다. 왜냐하면 여기서 데이터의 수가 적은 경우에는 연산의 횟수 수행속도는 큰 의미가 없다.

데이터의 수가 증가함에 따라 연산의 횟수가 중요하다.

데이터 수에 따른 수행 속도의 변화 정도를 기준으로 하기 떄문에

" '데이터 수'가 '늘어날 때' 어떠한 유형을 보이며 증가하는 가 ?" 즉 증가하는 패턴이 중요하다.

 

반응형

'자료구조' 카테고리의 다른 글

[자료구조] 연결리스트- 변형된 원형 연결리스트  (0) 2021.02.02
[자료구조]04. 연결리스트 - 연결리스트의 응용 (다항식)  (0) 2021.01.26
[자료구조]04.연결리스트 (2)- 단순 연결  (0) 2021.01.25
[자료구조]03. 연결 리스트-자료구조  (0) 2021.01.20
    '자료구조' 카테고리의 다른 글
    • [자료구조] 연결리스트- 변형된 원형 연결리스트
    • [자료구조]04. 연결리스트 - 연결리스트의 응용 (다항식)
    • [자료구조]04.연결리스트 (2)- 단순 연결
    • [자료구조]03. 연결 리스트-자료구조
    mini_me
    mini_me

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.