>  기사  >  알고리즘의 시간복잡도는

알고리즘의 시간복잡도는

(*-*)浩
(*-*)浩원래의
2019-07-23 11:20:1355393검색

알고리즘의 시간 복잡도는 알고리즘을 실행하는 동안 필요한 기본 작업의 수를 나타냅니다.

알고리즘의 시간복잡도는

알고리즘은 제한된 수의 단계로 문제를 해결하는 데 사용되는 잘 정의된 규칙 집합입니다. (추천 학습: MySQL 동영상 튜토리얼)

일반인의 용어로 말하면 컴퓨터 문제를 해결하는 과정입니다. 알고리즘의 복잡성은 알고리즘 효율성의 척도, 알고리즘을 실행하는 데 필요한 컴퓨터 리소스의 양, 알고리즘 품질을 평가하는 중요한 기준입니다. 시간 복잡도와 공간 복잡도를 기준으로 알고리즘의 품질을 평가할 수 있습니다.

알고리즘을 프로그램으로 변환하여 컴퓨터에서 실행하는 경우 실행에 걸리는 시간은 다음 요소에 따라 달라집니다.

(1) 하드웨어 속도.

(2) 프로그램 작성을 위한 언어. 구현 언어의 수준이 높을수록 실행 효율성이 떨어집니다.

(3) 컴파일러에서 생성된 개체 코드의 품질. 더 나은 코드 최적화 기능을 갖춘 컴파일러는 더 높은 품질의 프로그램을 생성합니다.

(4) 문제의 규모. 예를 들어 100 이내의 소수를 찾는 것과 1000 이내의 소수를 찾는 실행 시간은 달라야 합니다.

분명히 다양한 요인이 불확실한 경우 알고리즘의 실행 시간을 비교하는 것은 어렵습니다. 즉, 알고리즘을 실행하는 데 걸리는 절대 시간을 사용하여 알고리즘의 효율성을 측정하는 것은 부적절합니다. 따라서 시간복잡도는 알고리즘 프로그램의 실행시간이나 프로그램 길이에 의해 결정될 수 없으며, 알고리즘을 실행하는 동안 필요한 기본 연산의 횟수로 측정되어야 한다. 시간 빈도 알고리즘에 걸리는 시간은 알고리즘의 명령문 실행 횟수에 비례합니다. 더 많은 명령문이 실행되는 알고리즘은 더 많은 시간이 걸립니다. 알고리즘의 명령문 실행 횟수를 시간 빈도라고 합니다. 이를 T(n)으로 표시합니다.

시간 복잡도

방금 언급한 시간 주파수에서 n을 문제의 규모라고 합니다. n이 계속 변하면 시간 주파수 T(n)도 계속 변합니다. 하지만 때로는 변화할 때 어떤 패턴이 나타나는지 알고 싶을 때가 있습니다. 이를 위해 시간복잡도라는 개념을 소개한다. 일반적으로 알고리즘의 기본 연산이 반복되는 횟수는 문제 크기 n의 함수이며, 특정 보조 함수 f(n)이 있는 경우 n이 무한대에 가까워지면 T(n)/f(n)의 극한값은 0이 아닌 상수인 경우 f(n)은 T(n)과 동일한 크기 차수의 함수라고 합니다. T(n)=O(f(n))으로 표시되는 O(f(n))은 알고리즘의 점근적 시간 복잡도, 줄여서 시간 복잡도라고 합니다.

더 많은 MySQL 관련 기술 기사를 보려면

MySQL Tutorial

칼럼을 방문하여 알아보세요!

위 내용은 알고리즘의 시간복잡도는의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.