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 :

stocker un arbre dans un fichier.


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Par défaut stocker un arbre dans un fichier.
    bonjour,

    quelqu'un sait comment je peux sauver un arbre dans un fichier de façon simple?

    merci

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par decembre_2006
    bonjour,

    quelqu'un sait comment je peux sauver un arbre dans un fichier de façon simple?

    merci



    Ton arbre a-til des propriétés particulières (genre arbre binaire, dans ce cas, c'est facile, c'est comme l'implémentation d'un tas par un tableau) ? En quel langage comptes-tu le réaliser ? (par exemple, java intégre la sérialisation ce qui rendra extremement simple la chose pour tous les types d'arbre)

  3. #3
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Pour m'être posé la question sur un arbre binaire, la solution la plus simple était le parenthésage de l'arbre : tu met entre parenthèse chacun des sous arbres.

    Par exemple pour un arbre binaire de l'expression 2+(3*4) ça donne quelque chose comme ça :

    Le premier élement est donc la racine de ton arbre, le deuxième le sous arbre gauche et le troisième le sous arbre droit.

  4. #4
    Membre chevronné
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Par défaut
    Citation Envoyé par PRomu@ld
    Pour m'être posé la question sur un arbre binaire, la solution la plus simple était le parenthésage de l'arbre.
    Cette idée de parenthésage marche encore pour les arbres qui ne sont pas binaire. En effet, le parenthésage represente simplement le parcours en profondeur (la parenthèse ouvrante dit de descendre, la parenthèse ouvrante de remonter. On peut imaginer différentes grammaire pour cela du genre:

    (Racine,[arbre,arbre,......])

    Ainsi, l'arbre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    a--b--c--d
    |  |  |
    |  |  e
    f  g--h
       |\
       i j
    se stocke par la chaîne (a,[(f),(b,[(g,[(i),(j),(h)]),(c,[(e),(d)])))

    Si nécessaire, un fichier xml peut être tout à fait utile. En effet, tout fichier xml correspond à une organisation arborescente des données. Les tags remplacent alors les parenthèses et les crochets.

  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    le langage XML est une bonne solution si le langage utilisé comporte des composants dédiés XML.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Par défaut
    Je crois que j'aurais dû être un peu plus juste dans ma demande. Je me suis un peu emmelé les pinceaux.

    J'ai un graphe non orienté pondéré que je dois sauvegarder dans un fichier. Pondéré veut dire que sur chacune des arête de mon arbre, j'ai un poids qui lui est associé.

    Pour la sérialisation en Java, je n'aime pas cette solution. La classe doit exister pour pouvoir relire les informations sauvegardées dans le fichier. Et si je donne mon fichier à une autre personne qui n'utilise pas Java, il sera incapable de le lire. De plus, je ne pense pas que la réalisation sera en Java, mais en C ou Cplus-plus.

    Pour le format XML, je préfère d'abord voir les options de simples fichiers textes.

    La solution utilisant les parenthèses proposée m'a l'air intéressante. Mais comment y placer un poids sur les différentes arêtes ?

    Merci!

Discussions similaires

  1. [Oracle] Stocker ma requête dans un fichier poyr y faire appel en PHP
    Par alex007 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/03/2006, 10h11
  2. stocker un bitmap dans un fichier
    Par zenzo dans le forum Langage
    Réponses: 4
    Dernier message: 25/01/2006, 15h22
  3. Stocker des jpg dans un fichier
    Par jmjmjm dans le forum Langage
    Réponses: 6
    Dernier message: 10/11/2005, 22h07
  4. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51
  5. Stocker un record dans un fichier
    Par ushu dans le forum Langage
    Réponses: 7
    Dernier message: 13/12/2002, 15h51

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