java - 想知道这个代码片段在 Java 中的时间复杂度

标签 java time-complexity

我想知道以下代码片段的时间复杂度,

FileReader fr = new FileReader("myfile.txt");
BufferedReader br = new BufferedReader(fr);

for (long i = 0; i < n-1; i++ ) {
   br.readLine();       
}
System.out.println("Line content:" + br.readLine());
br.close();
fr.close();

编辑:我想说,n = 一个常数,例如100000

最佳答案

复杂度为 O(n),但这并不能告诉您太多信息,因为您不知道每个 readLine() 需要多少时间。

当单个操作具有非常多变的运行时行为时,计算复杂度没有多大意义。

在这种情况下,循环非常廉价,不会对整个程序的运行时间贡献太多。另一方面,从磁盘加载将对运行时间有很大贡献,但如果没有关于每个文件的平均行数和平均行长度的统计信息,很难说。

关于java - 想知道这个代码片段在 Java 中的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12387263/

相关文章:

java - Action 标签在 Struts 2 中不执行

algorithm - 渐近上限

javascript - array.prototype.includes 与 set.prototype.has 的时间复杂度

python - 为什么某些实现在Python中运行缓慢?

Java执行命令但不返回值

java - 如何使用 Gson 序列化包含 HashMap 作为属性的类?还反序列化?

c - 需要帮助验证这种复杂性

string - Knuth–Morris–Pratt (KMP) 与使用 Ukkonen 时间复杂度算法的后缀树之间的区别。

java - 什么是NullPointerException,我该如何解决?

java - 使用多线程时的标准输出