나는 1000n 또는 10n의 big-O가 O (n)과 동일한 것으로 나타 났지만 2^n과 3^n의 big-O는 다릅니다. O (2^n))와 O (3^n)을 얻지 못하면 왜이 경우 (2 또는 3)의 상수를 무시할 수 없는지, 그리고 이것을 정당화하는 수학적 증명이 있는지는 알지 못합니다.지수 함수의 큰 O 표기
답변
임의로 큰 대입 3^n <= k * 2^n
을 만족하는 상수 값 k
이 없기 때문에 n
. 따라서 f(n) = 3^n
은 (은) O(2^n)
의 멤버가 아닙니다.
http://en.wikipedia.org/wiki/Big_O_notation#Family_of_Bachmann.E2.80.93Landau_notations을 참조하십시오.
정확하게 말하자면, 'O (3^n) = O (2^n)'이라는 주장에 대한 반례를 전시하고 있습니다. 특히'f (n) = 3^n'은'O (3^n)'에 있지만'O (2^n)'에는 없습니다. 따라서 집합은 확장 성의 공리 (axiom of Extensionality)를 통해 동일하지 않습니다 – rliu
@roliu : 그 공리가 무엇인지는 모르겠지만 그렇습니다. 이것은 내포 된 논증입니다.) –
가장 대중적인 집합 이론 인 ZFC에서 공리입니다 : https ://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory. 그것은 단지 "두 요소가 같은 요소를 포함하고 있다면 똑같습니다"라고 말합니다. 아무도 진짜 증거로 그것을 인용 한 사람은 없지만 나는 직감 대신 실제 수학적 추론을 사용하도록 설득하려고 노력하고있다. (수학 전문 용어로 극단적으로 표현함으로써) 코드를 작성하는 동안 사용할 구현을 결정하려는 경우 직관을 사용할 수 있습니다. 누군가가 "이것을 증명"한다고 말하면 수학을 사용해야한다고 생각합니다. – rliu
이벤트 원래 Asker에 대해서는 더 이상 사용하지 않을 수도 있지만
나는 더 쉬운 방법으로 접근 할 수 있다고 생각합니다.
기본 defenition : F (g) IFF
그때는 그 F (g) = C를 보유하는 유리수의 C를 존재, O (N g())에있을 것 * g (N), N> = N0
(N0 인 사용자가 직접 선택할 수)
하는의는 O에서^n은 3이 적용 해보자 (2^n)이
3^N = 2^N * C
3^N = 2^N 개의 * (3^N/2^N)
3^N = 2^N 개의 * (3/2)^N
3^N = 2^N * 1.5^N
이는하는 바람직하지 않은 경우, C = 1.5^N 숫자지만 지수 함수는 독자적으로 나타납니다. O 3^N (2^N)에 대해 동일한 따라 한편
, 우리 넣기 2^N < = 3^N 개의 * (2/3)^N
이 당신이 0.75^n <에 대해 1을, 모든 c> 1을 취하면 0보다 큰 것을 의미한다는 것을 깨닫기 전까지는 갈등처럼 보일 수 있습니다.67^n n = 0
한계를 적용한 두 가지 복잡성, f (n) 및 g (n)을 campare하려면 lim_ {n -> \ inf} f (n)/g (n) 가능한 답변은 세 가지입니다.
1) lim_ {n -> \ inf} f (n)/g (n) = 0; f (n)/g (n)) f (n) ∈ O (g (n)) f (n) n) = +/- inf; f (n)/g (n)) f (n) ≥ f (n)) f (n) ≥ f (n) n) ∈ 실수; 이것은 f (n) ∈ O (g (n))와 g (n) ∈ O (f (n))를 의미한다.
lim_ {N -> \ INF} 2^N/3^N = lim_ {N -> \ INF} (2/3)^N = 0
그리고 demostrated, 우리는도 3 demostraded^n ∉ O (2^n)이고, 2/3임을 쉽게 알 수 있습니다. < 1 이것은 제한을 0으로 수렴하기위한 한계를 만듭니다. 그리고 나서 한계의 결과는 상수에 의존합니다. lim_ {n-> inf} a^0 = 0의 경우 0 < < 1 lim_ {n-> inf} a^n = inf 인 경우 a> 1; 더 나은 이해 점검을 위해
: 토마스 H 코만, 찰스 E 레이저 슨, 로날드 L. Rivest가와 클리포드 스타 인
으로 알고리즘 소개, 제 3 판 나는 그것을 도움이 희망 알고리즘의 교수 해요 당신. 조심해.
- 1. 큰 -O 표기법의 지수 증가
- 2. 큰 오 표기 O ((log n)^k) = O (log n)?
- 3. 내가 시도 비 - 지수 표기
- 4. matlab scientific 대 지수 표기
- 5. Big O 표기 비교
- 6. BIg O 표기 : n * logn
- 7. 지수 Big-O 동등성
- 8. 지도에 삽입하기 전에 문자열의 각 문자를 루핑하는 큰 O 표기
- 9. 큰 O 표기 숙제 - 코드 단편 알고리즘 분석?
- 10. Big O 표기 작성 팁
- 11. a == b, 지수 표기. 옥타브 괴짜?
- 12. Big O 표기 이해 - 코딩 인터뷰 크래킹
- 13. 데이터 구조 : 시간 비용은 큰 O는 큰 문제가 크기에 표기
- 14. 큰 O
- 15. 비 - 큰 O 복잡도
- 16. 함수의 파일 I/O?
- 17. 스위프트의 가장 큰 공통 지수
- 18. 파이썬에서 매우 큰 지수 계산
- 19. 큰 O 표기법과 재귀
- 20. 두, 큰 O 이론
- 21. 큰 O 혼란
- 22. 재귀 메서드의 큰 O
- 23. 큰-O 알고리즘 분석
- 24. 큰 O 작업 수
- 25. 복잡성 (큰 O 계산)
- 26. 골란에 추가되는 큰 O
- 27. 큰 O 시간 복잡성
- 28. 재귀 함수의 Big O 계산
- 29. 옥타브 계산 지수 함수의 테일러 계열
- 30. 자바 스크립트 지수 함수의 수학 함수
big-O 표기법으로 상수를 무시하지 마십시오. 계수는 무시합니다. 2와 3은 계수가 아니라 기본 값입니다. – kqr
Big-Oh의 정의를 말할 수 있습니까? Big-Oh는 수학적 정의가 있으며 전적으로 직관적으로 사용해서는 안된다는 것을 기억하십시오. 제 생각에 "때로는 상수를 무시할 수있다"는 것을 암시하는 것은 나쁜 습관입니다. – rliu