我有一个打开文本文件的算法,读取5到20个单词,将它们存储到一个数组中并再次关闭文本文件。
此算法是否具有Big O Natation(1)或(n)?
答案 0 :(得分:7)
我会反对这里的共同观点并说O(n)
其中n
是平均字长。显然,如果这20个单词的长度加倍,那么你需要做多少工作来阅读它们。
如果单词的最大长度也是常数,则为O(1)
。
答案 1 :(得分:4)
除非你告诉我们n
应该是什么,否则它是O(1)。
答案 2 :(得分:3)
如果每次运行算法,它读取的字数不超过20个,那么它就是O(1),因为运行算法所花费的时间不会像文本中的单词数那样变长文件增加。
答案 3 :(得分:1)
O(1)它总是使用有限数量的操作。