您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

如何在Java中测试递归和循环?

2024/2/20 10:20:29发布30次查看
测试递归与循环(这里用for)的执行效率与系统开销,首先贴出实例问题:实现fibonacci数列f(n)=f(n-1)+ f(n-2)
测试环境 eclipse
1.首先我们用递归来实现
package com.youfeng.test;   public class fab {//递归   public static void main(string [] args){       system.out.println(f(40));   }   public static long f(int index){       if(index==1||index==2){           return 1l;      }      else{          return f(index-1)+f(index-2);      }  }  }
2.用for循环实现
package com.youfeng.test;  public class fab2 {//循环      public static void main(string [] args){          system.out.println(f(40));      }      public static long f(int index){          if(index==1||index==2){              return 1l;          }          else{              long f1=1l;              long f2=1l;              long f=0l;              for(int i=0;i 当index的值很小的时候,我们分别执行没什么区别,执行速度我们感觉不到什么差别,但是当你把index调到足够大时100 、200、300、1000…… for循环轻松搞定执行速度挺快。
当使用递归时,你会发现明显的卡机 卡机 ,有木有?调用系统资源管理器看看你的系统开销吧(很可能你你打不开资源管理器,因为你卡机了)。
以上就是如何在java中测试递归和循环?的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product