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

Algorithmes et structures de données Discussion :

Arbre binaire : reconstruction depuis une lecture


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut Arbre binaire : reconstruction depuis une lecture
    salut,
    si on souhaite enregistrer un ABR dans un fichier séquentiel,
    quel est le meilleur parcour(infixé , préfixé ou postfixé) a adopter lors de l'écriture de l'arbre afin de pouvoir la reconstruire par la suite ?

  2. #2
    Membre expérimenté
    Avatar de ChipsAlaMenthe
    Homme Profil pro
    Ingénieur en eau chaude et ballon rond
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur en eau chaude et ballon rond
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Par défaut
    Le fait que ce soit un arbre binaire aide beaucoup ! ^^

    Ensuite pour que ce soit plus simple à reconstituer, il faut inscrire dans le fichier toutes les feuilles vides de l’arbre, par exemple :

    Nom : propaint.png
Affichages : 529
Taille : 24,1 Ko

    Ce sera plus simple pour reconstruire l’arbre.

    Je pense sinon que le plus simple serait le parcours préfixé, voilà mon explication :

    Si on ne tient pas compte des feuilles vides, le rendu du parcours préfixé donne ceci :
    1, 2, 4, 5, 7, 8, 3, 6, 9.

    Maintenant l’idée est d’inscrire les feuilles vides, ce qui donnera :
    1, 2, 4, V, V, 5, 7, V, V, 8, V, V, 3, V, 6, 9, V.

    Du coup, pour la reconstitution, dès que tu rencontres une feuille à gauche Vide, tu passes sur son frère de droite. Si le frère de droite n’est pas vide, alors tu descends dans sa hiérarchie, sinon ça veut dire que tu es arrivé à une feuille terminale et tu dois donc remonter dans la hiérarchie.

    J'espère avoir été assez clair ^^.

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Juste une précision sur la solution de ChipsAlaMenthe : l'ajout des noeuds vides est virtuel : tu ne vas pas réellement ajouter des noeuds vides dans ton arbre. Les noeuds vides sont des marqueurs pour savoir ou ajouter les données lors de la reconstruction.
    Ces marqueurs sont indispensables si ton arbre n'est pas complet.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre Expert
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Par défaut
    Bonjour,

    Pour aider notre ami à construire sa solution
    Un parcours préfixe commence toujours par la racine.
    Comme il s'agit d'un abr on sait que la liste de tous les nœuds plus petits que la racine sont le parcours préfixe de son sous arbre gauche et que la liste de tous les nœuds plus grands que la racine sont le parcours préfixe de son sous-arbre droit. Cela mène à un algorithme récursif pas forcément optimisé en O(n²), pas optimisé mais simple à implémenter.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. implementer une faune sous forme d'arbre binaire.
    Par mansour67 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 01/04/2008, 17h22
  2. Réponses: 1
    Dernier message: 25/09/2007, 11h16
  3. Réponses: 3
    Dernier message: 19/10/2006, 15h04
  4. Réponses: 27
    Dernier message: 12/01/2006, 11h04
  5. Réponses: 5
    Dernier message: 15/07/2004, 23h28

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