Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

알고리즘과 복잡성

<시간/>

알고리즘

알고리즘은 명령의 유한한 집합이며 따르기만 하면 특정 작업을 수행합니다. 특정 언어가 아니므로 모든 언어와 기호를 사용하여 지침을 나타낼 수 있습니다.

알고리즘의 기준

  • 입력: 0개 이상의 입력이 알고리즘에 외부적으로 제공됩니다.
  • 출력: 알고리즘에 의해 하나 이상의 출력이 생성됩니다.
  • 확실성: 각 지침은 명확하고 모호하지 않습니다.
  • 유한성: 알고리즘에서는 모든 다른 경우에 대해 유한한 수의 단계 후에 종료됩니다.
  • 효과: 각 지침은 매우 기본적이어야 하므로 지침의 목적이 매우 명확해야 합니다.

알고리즘 분석

알고리즘 분석은 계산 복잡성의 중요한 부분입니다. 복잡성 이론은 알고리즘이 계산 작업을 해결하는 데 필요한 리소스에 대한 이론적 추정치를 제공합니다. 알고리즘 분석은 필요한 시간과 크기(구현 중 저장을 위한 메모리 크기) 측면에서 알고리즘의 문제 해결 능력을 분석하는 과정이다. 그러나 알고리즘 분석의 주요 관심사는 필요한 시간이나 성능입니다.

알고리즘의 복잡성

알고리즘의 복잡성은 크기(n)의 입력에 대해 알고리즘에 필요한 시간과 공간의 양을 계산합니다. 알고리즘의 복잡성은 두 가지 유형으로 나눌 수 있습니다. 시간 복잡도공간 복잡성 .

알고리즘의 시간 복잡도

시간 복잡도는 해당 알고리즘의 실행에 필요한 총 시간에 대한 공식을 결정하는 프로세스로 정의됩니다. 이 계산은 구현 및 프로그래밍 언어와 완전히 독립적입니다.

알고리즘의 공간 복잡성

공간 복잡도는 알고리즘의 성공적인 실행을 위해 얼마나 많은 메모리 공간이 필요한지 예측하는 공식을 정의하는 과정으로 정의됩니다. 메모리 공간은 일반적으로 기본 메모리로 간주됩니다.