이 질문에 이미 답변이 있습니다. :
답변
알고리즘은 다항식 (다항식 실행 시간 포함)입니다. $ k, C > 0 $, $ n $ 크기의 입력에 대한 실행 시간은 최대 $ Cn ^ k $입니다. 마찬가지로, 알고리즘은 $ k > 0 $에 대해 $ n $ 크기의 입력에 대한 실행 시간이 $ O (n ^ k) $ 인 경우 다항식입니다. 여기에는 선형, 2 차, 3 차 등이 포함됩니다. 반면에 지수 실행 시간이있는 알고리즘은 다항식이 아닙니다.
예를 들어 시간 내에 실행을 인수 분해하는 가장 잘 알려진 알고리즘은 $ O (\ exp (Cn ^ {1 /)입니다. 3} \ log ^ {2/3} n)) $ 일부 상수 $ C > 0 $; 이러한 실행 시간을 하위 지수 라고합니다. 다른 알고리즘은 $ A > 0 $ 및 $ C > 1 $이며이를 준 다항식 이라고합니다. 이러한 알고리즘은 아주 최근에 작은 특성에 대한 개별 로그에 대해 주장 되었습니다.
댓글
답변
알고리즘을 실행하면 컴퓨팅 시간이 다소 걸릴 수 있습니다. 주로 알고리즘이 얼마나 복잡한 지에 따라 다릅니다. 컴퓨터 과학자들은 수행해야하는 작업 수의 동작을 기반으로 알고리즘을 분류하는 방법을 만들었습니다 (많은 작업에 더 많은 시간이 소요됨).
이 클래스 중 하나는 다항식 시간 복잡성을 보여줍니다. 즉, 운영 복잡성은 $ n ^ c $에 비례하는 반면 n은 입력 크기이고 c는 일정합니다. 분명히 이름은 다항식 인 $ n ^ c $ 때문입니다.
입력 크기에 관계없이 일정한 시간을 차지하는 다른 “유형”의 알고리즘이 있습니다. 일부는 $ 2 ^ n $ 시간을 사용합니다 (예, 대부분의 시간이 정말 느립니다).
저는 평신도를 위해 그것을 너무 단순화했으며 오류가 발생했을 수 있습니다. 따라서 https://stackoverflow.com/questions/4317414/polynomial-time-and-exponential-time
댓글
답변
일반 용어로 알고리즘의 실행 시간입니다.
알고리즘 (성장)의 순서는 Big-oh (O), little-oh (o), omega (Ω) 또는 theta (Θ) 일 수 있습니다.
p>
RR을 계산하는 데 문제가있는 경우 이전에 질문 한 몇 가지 질문을보고 이해했다면 투표하세요.
for 루프가 있다고 가정 해보세요.
for(i=1 to n) x++
이 코드의 순서 또는 시간 복잡도는 다음과 같습니다. O (n)
왜 큰일까요? 이 코드가 실행되는 최악의 경우를 원하기 때문입니다.
여기를 읽으십시오 (알고리즘의 복잡성을 정의하고 알고리즘이 다항식 시간에 어떻게 수행되는지 알려줍니다).
http://en.wikipedia.org/wiki/NP_(complexity) http://en.wikipedia.org/wiki/NP-complete http://en.wikipedia.org/wiki/NP-hard
요약 :
http://www.multiwingspan.co.uk/a23.php?page=types
댓글