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

avec Java Discussion :

Problème exercice récursivité de listes/arbres


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème exercice récursivité de listes/arbres
    Nom : Capture d’écran 2018-01-05 à 19.27.53.png
Affichages : 164
Taille : 682,9 Ko

    Bonjour j'ai un exercice qui est tombé au contrôle de l'année dernière en programmation Java, et j'ai essayé toute la journée de trouvé la solution, mais je n'y ai pas réussi. Voila l'énoncé, j'aimerai bien avoir de l'aide pour le résoudre, svp. Pour l'instant je suis seulement sûr que si on fait (pos=0) : res=lv.size() et if(lv.get(pos)=null) res=1. Voila...

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    12 502
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 12 502
    Points : 21 165
    Points
    21 165
    Par défaut
    Hello,

    donc c'est un exercice de récursivité.

    Peux-tu nous parler de la méthode de conception de base d'un algo récursif ? En gros, qu'est-ce qu'on trouve toujours dans un algo récursif et donc, constitue le point de départ de sa conception ?

    Du coup, le code que tu devras faire, doit avoir quelle forme au début, en commençant par ça ? Montre du pseudocode pour les parties qui manquent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Résolu
    Merci mais c'est bon j'ai eu la bonne réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static <T> int nbPositions(List<T> lv, int pos) {
        if (lv.get(pos) == null)
            return 1;
        int gauche = nbPositions(lv, pos + 1);
        int droite = nbPositions(lv, pos + gauche + 1);
        return gauche + droite + 1;
    }
     
    public static void main(String args[]) {
        List<Integer> lv = Arrays.asList(20, 18, 3, null, 14, 7, null, 10, null, null, null, null, 42, 26, null, 39, 30, null, 34, null, null, null, null);
        System.out.println(nbPositions(lv, 12)); // 11
        System.out.println(nbPositions(lv, 4)); // 7
        System.out.println(nbPositions(lv, 7)); // 3
    }

Discussions similaires

  1. arbre binaire (problème de récursivité)
    Par allomona dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 11/06/2012, 23h10
  2. Problèmes de pointeurs avec les arbres
    Par thierry57 dans le forum C
    Réponses: 17
    Dernier message: 22/12/2005, 23h35
  3. Problème de récursivité
    Par tazmania dans le forum C
    Réponses: 24
    Dernier message: 14/12/2005, 14h34
  4. Problème de raffraichissement de listes
    Par blondin01 dans le forum Access
    Réponses: 7
    Dernier message: 13/10/2005, 12h31
  5. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 01h05

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