2013-11-09 6 views

답변

2

적어도 다항식 시간보다 나쁘지는 않습니다. 그래도 여전히 좋지는 않습니다. n < n log n < n * n.

+1

이 답변은 단순한 오류입니다. http://en.wikipedia.org/wiki/Big_O_notation, http://en.wikipedia.org/wiki/Time_complexity 및 http://mathworld.wolfram.com/PolynomialTime.html –

+0

자세히 설명해주세요. 여기 정확히 틀린거야? (컴퓨터 과학에서 Big-O는 종종 Big-Theta의 의미로 사용됩니다.) – Inspired

+0

O (n^2)는 여전히 다항식 시간입니다. n

2

다항식 (n)으로 상한하기 때문에입니다. 그래프를보고 거기에서 갈 수 있지만 그 이외의 수학적 증명을 공식화 할 수는 없습니다. P

편집 : 위키 백과 페이지에서 "알고리즘은 다항식 시간이라고합니다 그것의 실행 시간은 알고리즘에 대한 입력 크기의 다항식으로 상한값이된다. "

-1

예. n이 무한대로 갈수록 nlogn의 한계는 무엇입니까? 직관적으로, 큰 n, n >> logn에 대해 n이 지배하는 제품을 고려하면 nlogn ~ n을 분명히 다항식 시간으로 간주 할 수 있습니다. 더 엄격한 증거는 영감받은 Sandwich 정리를 사용하는 것입니다.

n^1 < nlogn < n^2.

따라서 nlogn은 다항식 시간 인 시퀀스로 묶여 있습니다 (아래).

+0

나는 그것이 1이라고 말하지 않았다. 우리가 페타 닉이라면 n이 무한대로 갈수록 n이 nlogn의 한계를 지배한다고 말할 수있다. 엄밀히 말하자면, 무한대로 움직이는 경향이 갈라진다. 두 개의 함수 f (n) * g (n)이있는 경우 제품이 lim f (n) * lim g (n) 인 경우이 한계는이 경우 무한대 * 무한대이며 정의되지 않습니다. – user1654183

+0

"nlogn의 n은 무한대로 이동합니다"는 "n은 n^1"입니다. 그 진술을 조금 더 설명해 주시겠습니까? – Teepeemm

+0

나는 벌써했다. 반복하려면 n이 무한대로 갈 때 n >> logn이됩니다. 따라서 n이 무한대로 갈수록 기본적으로 nlogn에 대한 logn의 기여도를 무시할 수 있습니다. 이것은 "엄격한"것이 아니라 직감을 요구했습니다 ... – user1654183

9

예, O (nlogn)는 다항식 시간입니다. http://mathworld.wolfram.com/PolynomialTime.html 가입일

: 주어진 입력에 대한 알고리즘을 수행하는 데 필요한 단계 수가 경우, 알고리즘이 알려져

다항식 시간 풀수 될 O 부가 아닌 정수 (N^m) 여기서 n은 입력의 의 복잡도입니다.

http://en.wikipedia.org/wiki/Big_O_notation에서 :

f는 지금 증명할

enter image description here

IFF O (g)는 그 N 로그 N은 O (N^m)의 일부이며 m은 n log n이 다항식 시간임을 의미합니다.

실제로 m = 2를 사용하십시오. (이것은 n log n이 O (n^2)임을 증명할 것임을 의미한다)

증명을 위해 k = 2를 취한다. (더 작을 수는 있지만 반드시 그럴 필요는 없습니다.) 큰 n에 대해 다음과 같은 n_0이 있습니다.

n_0의 *의 F (n)이 < = g (N) * K

테이크 n_0 = 1 (이 충분) 참조 이제 쉽게

N 로그 N < = 2N 그 * N

로그 < N = 2N

N> 0 (가정)

클릭이 점에 대해 확실하지 않으면 10 점.

이 증명은 라텍스 수학 모드에서 훨씬 더 좋을 수 있지만 stackoverflow가이를 지원한다고 생각하지 않습니다.

+1

'log n <= 2n'을 증명하는 것은 어떨까요? :) – Inspired

+0

1. 그'n_0'는 없어야합니다. 2.'logn <2n'을 증명하기 위해'logn

관련 문제