我想知道以下代码片段的时间复杂度,
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/