2017-11-16 11 views
0

버블 정렬은 계산 복잡성 O (n^2)를가집니다. 예를 들어 CPU 3.5 GHz가 있다면이 계산은 사실입니까? 1 000 000 * 1 000 000 = 10^12 3.5 GHz의 메이크업 ~ 6000 마이크 당 000Bubble을 1 000 000 int 배열로 얼마나 오래 걸릴까요?

(10^6분의 12 * 10^6 (나는 이것이 사실이 아닌 경우, 저를 수정하시기 바랍니다 그렇게 생각))/60 = ~ 2777 시간 사실입니까?

+6

그렇지 않을 수도 있습니다. 그것은 모두 당신이 6 백만에서 어떻게 입력 데이터가 누군지, 마이크 등 등등에 따라 달라집니다. –

+0

또한 프로그래밍 언어, 전체 시스템 로딩, 짧고, 길거나 긴 long ints 등에 따라 달라집니다. – roelofs

+0

I 'm은 C++, 4 바이트 int, 데이터는 rand()에서 가져온 것이고, 프로세서가 얼마나 많은 계산을하는지 궁금합니다. 다른 주제에서이 값을 발견했습니다. – xodos

답변

0

BigO 표기법을 잘못 이해했다고 생각합니다.

이론 정보학에서는 BigO를 사용하여 상한과 하한을 표현하므로 값을 플러그인하고 시간을 찾는 것을 의미하지는 않습니다. 경우에 따라 BigO 표기법 O (10N) = O (N)을 알 수 없습니다.

예를 들어 quicksort의 복잡성을 살펴보면 물결표 표기법은 ~ 1.39NlogN이고 BigO는 O (NlogN)입니다.

BigO 또는 물결표 표기법은 밀리 초와 관련이 없습니다. 그러나 시간을 알 수있는 유일한 방법은 비율 테스트를 사용하는 것입니다.

BigO는 비교 수를 나타냅니다.