bonjour,
quelqu'un sait comment je peux sauver un arbre dans un fichier de façon simple?
merci
bonjour,
quelqu'un sait comment je peux sauver un arbre dans un fichier de façon simple?
merci
Envoyé par decembre_2006
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)
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (+ 2 (* 3 4))
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:Envoyé par PRomu@ld
(Racine,[arbre,arbre,......])
Ainsi, l'arbre
se stocke par la chaîne (a,[(f),(b,[(g,[(i),(j),(h)]),(c,[(e),(d)])))
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
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.
Bonjour,
le langage XML est une bonne solution si le langage utilisé comporte des composants dédiés XML.
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!
Partager