알고리즘 정의
알고리즘(Algorithm)은 문제 해결 방법을 정확하고 완전하게 설명하는 일련의 명확한 지침을 의미합니다. 문제를 해결하기 위한 전략적 메커니즘. 즉, 특정 표준화된 입력에 대해 제한된 시간 내에 필요한 출력을 얻는 것이 가능합니다. 알고리즘에 결함이 있거나 문제에 적합하지 않은 경우 알고리즘을 실행해도 문제가 해결되지 않습니다. 서로 다른 알고리즘은 동일한 작업을 완료하기 위해 서로 다른 시간, 공간 또는 효율성을 사용할 수 있습니다. 알고리즘의 품질은 공간 복잡도와 시간 복잡도로 측정할 수 있습니다.
알고리즘은 다음과 같은 7가지 중요한 특성을 가져야 합니다.
①유한성: 알고리즘의 유한성은 제한된 수의 단계를 실행한 후에 알고리즘이 종료될 수 있어야 함을 의미합니다.
②정확성: 알고리즘의 각 단계에는
3입력: 알고리즘에는 작업 개체의 초기 상황을 설명하는 0개 이상의 입력이 있습니다. 소위 0개의 입력은 알고리즘 자체를 나타냅니다.
4출력: 알고리즘에는 1개 이상의 출력이 있습니다. 입력 데이터 처리 결과를 반영합니다. 출력이 없는 알고리즘은 의미가 없습니다.
⑤효과성: 알고리즘에서 수행되는 모든 계산 단계는 실행 가능한 기본 작업 단계로 분해될 수 있습니다. 즉, 각 계산 단계는 시간 내에 유한한 수의 완료로 수행될 수 있습니다(효과성이라고도 함).
⑥ 높은 효율성: 빠른 실행 및 낮은 리소스 사용량
7 견고성: 데이터에 대한 올바른 응답.
시간 복잡도
컴퓨터 과학에서 알고리즘의 시간 복잡도는 알고리즘의 실행 시간을 정량적으로 설명하는 함수입니다. 시간 복잡도에 대해 일반적으로 사용되는 Big O 표기법은 다음과 같습니다. 함수의 점근적 동작 더 구체적으로, 이는 다른(일반적으로 더 간단한) 함수의 관점에서 함수의 크기에 대한 점근적 상한을 설명하는 데 사용됩니다. 수학에서는 일반적으로 절단된 무한 계열을 특성화하는 데 사용됩니다. 나머지 점근적 계열은 컴퓨터 과학에서 알고리즘의 복잡도를 분석하는 데 매우 유용합니다. 이러한 방식으로 시간 복잡도는 입력 값의 크기가 무한대에 가까워지는 상황을 조사한다고 할 수 있습니다.
빅오, 줄여서 (대략) "~의 순서"라는 뜻으로 생각하시면 됩니다.
무한 점근선
Big O 표기법은 알고리즘의 효율성을 분석할 때 매우 유용합니다. 예를 들어 크기가 n인 문제(또는 필요한 단계 수)를 해결하는 데 걸리는 시간은 다음과 같이 구할 수 있습니다. T(n) = 4n^2 - 2n + 2.
n이 증가함에 따라 n^2; 항이 지배하기 시작하고 다른 항은 무시될 수 있습니다. 예를 들어 n = 500일 때 4n^2 항은 2n 항보다 1000배 더 큽니다. 대부분의 경우 후자를 생략하면 표현식의 값에 거의 영향을 미치지 않습니다.
위 내용은 파이썬의 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!