나는 썼다
그러나 내 친구는 이것이 잘못되었다고 말합니다. TCS 치트 시트에서 나는이 합이 이라고도 알려져 있는데, 이는 에서 로그 성장을 합니다. 따라서 내 경계는 매우 선명하지 않지만 필요한 분석에 충분합니다.
내가 뭘 잘못 했어?
편집 : 내 친구는 같은 추론으로 그것을 증명할 수 있다고 말합니다.
이제 이것은 분명히 잘못입니다! 무슨 일이야?
나는 썼다
그러나 내 친구는 이것이 잘못되었다고 말합니다. TCS 치트 시트에서 나는이 합이 이라고도 알려져 있는데, 이는 에서 로그 성장을 합니다. 따라서 내 경계는 매우 선명하지 않지만 필요한 분석에 충분합니다.
내가 뭘 잘못 했어?
편집 : 내 친구는 같은 추론으로 그것을 증명할 수 있다고 말합니다.
이제 이것은 분명히 잘못입니다! 무슨 일이야?
답변:
당신이하고있는 일은 매우 편리한 표기법 남용입니다.
가 집합을 나타내며 수행중인 방식으로 산술 연산을 수행 할 수 없기 때문에 일부 교육생은 작성하는 내용이 넌센스라고 말합니다 .
그러나 이러한 pedants를 무시하고 가 세트의 일부 멤버를 나타내는 것으로 가정하는 것이 좋습니다 . 그래서 우리가 말할 때 F ( N ) = g ( N ) + O ( N ) , 우리 정말 평균 경우 그 F ( N ) - g ( N ) ∈ O ( N ) . (참고 : 일부 pedants는이 진술에서도 f ( n ) 가 숫자이고 f 기능입니다!)
이것은 다음과 같은 표현식을 작성하는 것이 매우 편리합니다.
이것이 의미하는 바는 어떤 있다는 것입니다.
당신의 경우
당신은 그것을 더 학대하고 조심해야합니다.
여기에는 두 가지 가능한 해석이 있습니다. 은 n 의 함수 또는 k 의 함수를 나타 냅 니까?
나는 올바른 해석이 그것을 의 함수로 해석하는 것이라고 믿는다 .
당신의 함수로 생각을하려고하면 , 그것은 생각처럼, 잠재적 착오로 이어질 수있는 잘못된하지 생각 k는 것입니다 O ( 1 ) 와 쓰기를 시도 Σ n은 K = 1 K = Σ N K = 1 O를 ( 1 )
의 함수로 생각 하면 f = O ( g ) (인수가 ∞ 일 때 )이고 g 가 0 이 아닌 경우 ,
중간에, 우리는 표기의 편리 남용 사용한 유의 을 의미하는 몇몇 함수 H ∈ O ( g을 ) 합인 Σ N K = 1 H ( K ) . O 내부의 최종 함수는 n 의 함수를 나타냅니다 . 그 증거는 그렇게 어렵지는 않지만, 점근 적 상한 (즉, 충분히 큰 인수의 경우)을 다루고 있다는 사실을 수용해야하지만 합계는 1 에서 시작합니다 .
그것을 의 함수로 생각 하면 f = O ( g ) (인수가 ∞ 일 때 )이면
따라서 당신의 증거는 본질적으로 어느 해석이든 정확합니다.
당신이 쓴 것은 완벽합니다. 고조파 번째 숫자는 설정에 참 O ( N ) .
증명 : . ◻
상한 은 단단 하지 않지만 정확합니다.
두 번째 예에서는 i = O ( 1 ) 라고 주장 할 수 없습니다
n에 따라 달라 지기 때문에 . 몇 단계를 거치면 i > n / 2가 됩니다. 더 적절한 방법은 실제로 i = O ( n ) 이라고 말하면 , 합산 전체에서 i 는 1 ⋅ n을 절대 초과하지 않기 때문 입니다. 이러한 추론에 의해, n ∑ i = 1 i = n ∑ i = 1 O ( n ) = n O ( n ) = O (
그러나 옳은 일은 실제로 마지막에만 big-O 표기법을 사용하는 것입니다. 당신이 할 수있는 한 당신의 요약은 꽉 꽉 찼으며, 이러한 함정을 피하기 위해 점근 표기법을 사용할 때만 가능합니다.