| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Comment faire pour convertir récursive pour itératif
    algorithmes récursifs sont ces algorithmes qui peuvent s'appeler eux-mêmes dans le cadre de leur solution. Ces fonctions travaillent souvent sur des problèmes qui contiennent une série de sous-problèmes identiques , comme traversée de l'arbre ou du calcul factoriel . Appelant à plusieurs reprises la même fonction , encore et peut rendre le travail plus lent, même si cela peut rendre le code plus simple. Pour augmenter la vitesse d'exécution, vous pouvez recréer des algorithmes récursifs , comme l'algorithme factorielle , dans un algorithme itératif peu plus compliqué en utilisant des boucles qui s'exécutent beaucoup plus vite. Instructions
    1

    Analyser l'algorithme récursif . Dans cet exemple, vous utiliserez la solution récursive pour le problème factorielle :

    int factorielle (int fait ) {

    if ( fait == 0) { return 1; } else { réalité de retour * factorielle ( fait - 1 );}}
    2

    Décidez si les arguments de la fonction peuvent être détenus dans des variables . Dans l'exemple factoriel , les résultats de la factorielle peuvent être stockées dans une variable " total_factorial " pour la durée d'une itération . Cet exemple montre l'algorithme récursif factorielle et la variable à utiliser pour l'argument récurrent :

    int total_factorial = 0:
    3

    déterminer une structure de boucle . En C + + , par exemple , la boucle "while" fonctionne bien avec des itérations qui ont une longueur d' indéterminées . «Pour» boucles , d'autre part , fonctionnent bien quand une boucle ira pour une durée strict , représentée par un nombre entier d'une certaine sorte . Pour l'exemple factorielle , une boucle "for " va bien travailler :

    int factorielle = 5; int total_factorial = 0;
    4

    Déterminer stopper conditions. Habituellement , comme dans l'exemple factorielle , la récursion se terminera quand une condition est remplie . Dans une boucle itérative , comme la boucle , il est utile de connaître avant la main. Puisque vous savez que dans la recherche de la factorielle d'un nombre "n" que vous allez parcourir n- 1 fois (excluant zéro) , vous pouvez commencer à une marche jusqu'à ce que le nombre factorielle :

    for (int i = 1; i <= factorielle ; i + + ) {if ( i == 1) { total_factorial = 1; } else {total factorielle * = i ;}}

    Previous :

    next :
      articles connexes
    ·Types d'algorithmes de clustering 
    ·Comment écrire Pseudocode pour rechercher des mots dan…
    ·Comment supprimer une ligne dans DataGridView Utilisati…
    ·Comment écrire un script DOS 
    ·Comment faire pour convertir octal en binaire 
    ·MS Access 97 Tutoriels 
    ·Comment télécharger demandes de transport à SAP 
    ·Comment faire pour récupérer un lien hypertexte à pa…
    ·Quels sont conversion tags 
    ·Comment changer la couleur de CSS Liens 
      articles en vedette
    ·Comment ajouter des contrôles à une page ASPX 
    ·Liste des onglets dans le classeur 
    ·Comment compiler avec COBOL 
    ·Différences entre Java 1.4 et Java 1.5 
    ·Fonctions statiques en Python 
    ·Comment calculer le codage Java pour les boîtes 
    ·En savoir diagrammes UML 
    ·Comment vérifier si un caractère est en majuscule dan…
    ·Types énumérés dans Python 
    ·Comment faire pour ajouter deux nombres en utilisant PH…
    Copyright © Connaissances Informatiques http://fr.wingwit.com