2011-02-10 1 views
1

텍스트 파일을 열고 5 ~ 20 단어를 읽고 배열에 저장 한 다음 텍스트 파일을 다시 닫는 알고리즘이 있습니다.5 ~ 20 단어로 텍스트 파일을 읽는 Big O 표기법

이 알고리즘에는 Big O Natation (1) 또는 (n)이 있습니까?

+0

5 개에서 20 개 단어가 어떻게 선택됩니까? – Gumbo

+0

그들은 관리자에 의해 어느 정도 선택됩니다. 따라서 증가하지 않고 제한을 초과하지 않을 것입니다. – Tyzak

답변

7

나는 여기에서 일반적인 의견에 반하여 가서 O(n)이라고 말하며, n은 평균 단어 길이입니다. 20 단어의 길이가 두 배가되면 분명히 읽을 수있는 작업량도 늘어납니다.

단어의 최대 길이도 일정하지만 그러나 O(1)이됩니다.

+0

저는 여러분과 함께합니다. 그것들을 읽고 쓰는 것은'O (n)'입니다. – Blrfl

+0

또한 O (n)입니다. n은 (파일에서) 입력 데이터의 크기이고, 이것은 관련된 모든 것보다'n'의 더 일반적인 정의입니다 이 경우에는 데이터 크기가 5 * 평균 이하로 제한되고 20 * 평균 이상으로 제한되므로이 두 경우는 복잡성과 동일합니다. –

+0

단어 "실제"/제품 또는 장소 또는 월과 같은 "일반적인"단어. 단어의 길이가 더 크지 않습니다. 내 특별한 경우에 (당신이 맞다면) 20 글자 이상이 될 것입니다. – Tyzak

1

O (1) 항상 제한된 수의 연산을 사용합니다.

4

무엇이 n이되어야하는지 알려주지 않는 한 O (1)입니다.

+0

검색 알고리즘을 예로 들자면, 배열을 통과하는 데 O (n) [까지 나는 배웠다]. n은 변수가됩니다. (숫자가 고정되어 있지 않기 때문에 숫자는 5-20 단어로 제한됩니다.) – Tyzak

+0

이 경우'n'은 아마도 배열의 요소 수입니다. 명시 적으로 언급하지는 않았지만 꽤 명확합니다. , 그다지 분명한 것은 아니며, 파일의 크기는? 알고리즘이 읽어야 할 단어의 수입니까? 아니면 (sepp2k가 제시 한대로) 평균 단어 길이입니까? – Oswald

3

알고리즘을 실행할 때마다 알고리즘을 실행하는 데 걸리는 시간이 더 길어 지므로 알고리즘이 실행되는 시간이 20 단어를 초과하지 않으면 O (1)입니다. 텍스트 파일이 증가합니다.