알고리즘

From CS Wiki
Revision as of 10:39, 10 April 2019 by 222.121.68.146 (talk) (새 문서: ;어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어 내는 과정 == 알고리즘의 조건 == * 입력: 0개 이상의 입력을 받는다. * 출력...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어 내는 과정

알고리즘의 조건

  • 입력: 0개 이상의 입력을 받는다.
  • 출력: 1개 이상의 출력을 생성하며, 입력에 따라 2개 이상의 서로 다른 결과가 나와야 한다.
  • 명확성: 수행 과정은 명확하고 모호하지 않아야 한다. 언어 변경이 수월해야 한다.
  • 유한성(종결성): 한정된 수행 후 한정된(유한한) 시간 내에 종결되어야 한다.
  • 효율성: 모든 과정은 명백하게 실행 가능한 수준이어야 한다.

알고리즘 평가

정확도(Accuracy)

적당한 입력에 대해서 유한 시간내에 올바른 답을 산출하는가를 판단

시간 복잡도(Time Complexity)

  • 최악의 경우를 분석
  • 최적의 경우를 분석
  • 모든 경우를 분석
  • 평균치 분석

공간 복잡도(Space Complexity)