IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

la trace: récursivité multiple(binaire)


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Par défaut la trace: récursivité multiple(binaire)
    Bonjour tout le monde,
    j'aimerais comprendre l'exécution (la trace, le déroulement) de la récursivité multiple:
    voici un petit programme qui utilise la récursivité binaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ackage recursivite;
    public class Recursivite {
    String [] tab = {"dernier","cours","algo","avancee"};
    void afficherElm (int i){
        if(i < tab.length){
            afficherElm(i+1);
            System.out.print(tab[i]+" ");
            afficherElm(i+1);
        }
    }
     
        public static void main(String[] args) {
            new Recursivite().afficherElm(0);
     
        }
    }
    résulta obtenu avec i=0:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    avancee algo avancee cours avancee algo avancee dernier avancee algo avancee cours avancee algo avancee
    j'aimerais savoir comment on a obtenu ce résultat: la trace
    merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    Il suffit de dérouler les appels :


    afficherElm(4)
    => [rien]

    afficherElm(3) =>
    => afficherElm(4) puis tab[3] puis afficherElm(4)
    => [rien] avancee [rien]
    => avancee

    afficherElm(2)
    => afficherElm(3) puis tab[2] puis afficherElm(3)
    => avancee puis algo puis avancee
    => avancee algo avancee

    afficherElm(1)
    => afficherElm(2) puis tab[1] puis afficherElm(2)
    => avancee algo avancee puis cours puis avancee algo avancee
    => avancee algo avancee cours avancee algo avancee

    afficherElm(0)
    => afficherElm(1) puis tab[0] puis afficherElm(1)
    => avancee algo avancee cours avancee algo avancee puis dernier puis avancee algo avancee cours avancee algo avancee
    => avancee algo avancee cours avancee algo avancee dernier avancee algo avancee cours avancee algo avancee

    Donc on a bien afficherElm(0) qui correspond à la trace obtenue. J'ai mis des couleurs en espérant que ça aide à mieux comprendre.... et puis parce que c'est nowel

Discussions similaires

  1. Quelle est la multiplication la plus rapide? décimal ou binaire
    Par medkarim dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/10/2008, 23h27
  2. Réponses: 3
    Dernier message: 21/04/2008, 10h29
  3. Multiplication de 2 nombres binaires (CPU)
    Par exhortae dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 09/03/2007, 08h20
  4. Binaire avec une taille multiple de 512
    Par SteelBox dans le forum Linux
    Réponses: 3
    Dernier message: 09/06/2006, 13h29
  5. [XPATH] Addition, multiplication binaire
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 29/04/2005, 07h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo