Maison > Java > javaDidacticiel > le corps du texte

Comment tester la récursivité et les boucles en Java ?

PHPz
Libérer: 2023-04-23 19:40:16
avant
1481 Les gens l'ont consulté

Pour tester l'efficacité d'exécution et la surcharge système de la récursivité et de la boucle (for est utilisé ici), postez d'abord un exemple de problème : Implémentation de la séquence de Fibonacci F(n)=F(n-1)+F(n-2)

Environnement de test Eclipse

1. Nous utilisons d'abord la récursion pour implémenter

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);      }  }  }
Copier après la connexion

2. Utilisez la boucle for pour implémenter

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;i++){                  f1=f2;                  f2=f;                  f=f1+f2;              }              return f;          }      }  }
Copier après la connexion

Lorsque la valeur de l'index est très petite, il n'y a aucune différence lorsque nous l'exécutons séparément Nous ne pouvons pas ressentir. toute différence dans la vitesse d'exécution, mais lorsque vous mettez index Lorsqu'elle est ajustée à une valeur suffisamment grande, 100, 200, 300, 1000... la boucle for peut facilement être exécutée très rapidement.

Lorsque vous utilisez la récursivité, vous rencontrerez des bourrages évidents, y en a-t-il ? Appelez le gestionnaire de ressources système pour connaître la surcharge de votre système (vous ne pourrez peut-être pas ouvrir le gestionnaire de ressources car vous êtes bloqué).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal