gpt4 book ai didi

java - "if"语句对时间复杂度分析有影响吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:05 30 4
gpt4 key购买 nike

根据我的分析,这个算法的运行时间应该是N2,因为每个循环遍历所有元素一次。我不确定 if 语句的存在是否会改变时间复杂度?

for(int i=0; i<N; i++){
for(int j=1; j<N; j++){

System.out.println("Yayyyy");
if(i<=j){
System.out.println("Yayyy not");
}
}
}

最佳答案

  • Tp:将常量文本打印到标准输出所花费的时间。
  • Ti:内部循环内所有其他操作(谓词评估等)所花费的时间。
  • :除了执行内循环(初始化计数器等)外,外循环内的所有操作所花费的时间。
  • Tc:设置流程和所有其他簿记所花费的时间

总运行时间将为 Tc + N x (To + NxTi + N/2xTp)

这等于 Tc + NxTo + (Nx(N/2)) x (2Ti + Tp)K x (N^2) 为界K > Ti + Tp/2 的值随着 N 趋于无穷大。这个边界使得时间复杂度仍然是 O(N^2)

不,if 语句不会改变此示例中的时间复杂度。

关于java - "if"语句对时间复杂度分析有影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231499/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com