Chaque numéro possède une relation (relative ou absolue)
avec ses parents. Le pb vient du fait que la référence
est formée parfois : - que du père
et d'autres fois : - du père et des grand parents
Existe-t-il un module cpan pour gérer ces relations?
j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé
un module approprié
Je souhaite créer une fonction itérative qui s'occupe de cela
mais je bloque un peu faut-il cherhcer la profondeur de chaque
nombre (est ce égal au nombre de parents), comment faire les indentations?
etc..
De plus le hash %id2parent peut évoluer et comporter
d'autres nombres etc...
Merci de votre aide.
A+, Pierre.
-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/
j'ai un petit problème pour organiser des informations:
j'ai un tableau (%hash) avec les informations suivantes
justement je pense qu'un hash et un tableau sont deux choses différentes
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
je suggère de faire des hachages imbriqués
vous pouvez chercher Hashes of Hashes sur votre moteur de recherche favori
Emmanuel Florac
Le Sun, 19 Jun 2005 12:41:14 +0000, p_geni a écrit :
Chaque numéro possède une relation (relative ou absolue) avec ses parents. Le pb vient du fait que la référence est formée parfois : - que du père et d'autres fois : - du père et des grand parents
Je ne vois pas à quoi sert d'avoir pour un enfant plus que le noeud père. a priori cette seule information suffit puisqu e du père au peut remonter, etc.
-- Le commissaire : Comment vous appelez-vous? Garance : Moi je ne m'appelle jamais, je suis toujours là. J'ai pas besoin de m'appeler. Mais les autres m'appellent Garance, si ça peut vous intéresser. Prévert,"les enfants du Paradis".
Le Sun, 19 Jun 2005 12:41:14 +0000, p_geni a écrit :
Chaque numéro possède une relation (relative ou absolue) avec ses
parents. Le pb vient du fait que la référence est formée parfois : -
que du père
et d'autres fois : - du père et des grand parents
Je ne vois pas à quoi sert d'avoir pour un enfant plus que le noeud
père. a priori cette seule information suffit puisqu e du père au peut
remonter, etc.
--
Le commissaire : Comment vous appelez-vous?
Garance : Moi je ne m'appelle jamais, je suis toujours là. J'ai pas
besoin de m'appeler. Mais les autres m'appellent Garance, si ça peut
vous intéresser.
Prévert,"les enfants du Paradis".
Le Sun, 19 Jun 2005 12:41:14 +0000, p_geni a écrit :
Chaque numéro possède une relation (relative ou absolue) avec ses parents. Le pb vient du fait que la référence est formée parfois : - que du père et d'autres fois : - du père et des grand parents
Je ne vois pas à quoi sert d'avoir pour un enfant plus que le noeud père. a priori cette seule information suffit puisqu e du père au peut remonter, etc.
-- Le commissaire : Comment vous appelez-vous? Garance : Moi je ne m'appelle jamais, je suis toujours là. J'ai pas besoin de m'appeler. Mais les autres m'appellent Garance, si ça peut vous intéresser. Prévert,"les enfants du Paradis".
Paul Gaborit
À (at) 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) écrivait (wrote):
Chaque numéro possède une relation (relative ou absolue) avec ses parents. Le pb vient du fait que la référence est formée parfois : - que du père et d'autres fois : - du père et des grand parents
Ce que vous décrivez là ressemble à un treillis (un graphe orienté acyclique) ou à un graphe de dépendances simples.
Le résultat n'est pas obligatoirement un arbre sauf à rajouter d'autres hypothèses : 1(aucun ancêtre), 2(aucun ancêtre), 3(ancêtres: 1, 2). Bien sûr on peut toujours ajouter un ancêtre arbitraire (0 par exemple) mais vous ne pouvez pas déterminer pour autant le père de 4 sauf à forcer un lien parenté entre 1 et 2...
Je ne connais pas de module Perl qui implémente cette structure de données. Ça vaudrait le coup de s'y pencher car il existe des solutions algorithmiques très spécifiques pour gèrer cela de manière efficace.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 19 Jun 2005 12:41:14 GMT,
p_geni...@yahoo.fr (Pierre Génieys) écrivait (wrote):
Chaque numéro possède une relation (relative ou absolue)
avec ses parents. Le pb vient du fait que la référence
est formée parfois : - que du père
et d'autres fois : - du père et des grand parents
Ce que vous décrivez là ressemble à un treillis (un graphe orienté acyclique)
ou à un graphe de dépendances simples.
Le résultat n'est pas obligatoirement un arbre sauf à rajouter d'autres
hypothèses : 1(aucun ancêtre), 2(aucun ancêtre), 3(ancêtres: 1, 2). Bien sûr
on peut toujours ajouter un ancêtre arbitraire (0 par exemple) mais vous ne
pouvez pas déterminer pour autant le père de 4 sauf à forcer un lien parenté
entre 1 et 2...
Je ne connais pas de module Perl qui implémente cette structure de données. Ça
vaudrait le coup de s'y pencher car il existe des solutions algorithmiques
très spécifiques pour gèrer cela de manière efficace.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) écrivait (wrote):
Chaque numéro possède une relation (relative ou absolue) avec ses parents. Le pb vient du fait que la référence est formée parfois : - que du père et d'autres fois : - du père et des grand parents
Ce que vous décrivez là ressemble à un treillis (un graphe orienté acyclique) ou à un graphe de dépendances simples.
Le résultat n'est pas obligatoirement un arbre sauf à rajouter d'autres hypothèses : 1(aucun ancêtre), 2(aucun ancêtre), 3(ancêtres: 1, 2). Bien sûr on peut toujours ajouter un ancêtre arbitraire (0 par exemple) mais vous ne pouvez pas déterminer pour autant le père de 4 sauf à forcer un lien parenté entre 1 et 2...
Je ne connais pas de module Perl qui implémente cette structure de données. Ça vaudrait le coup de s'y pencher car il existe des solutions algorithmiques très spécifiques pour gèrer cela de manière efficace.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
Thomas vO
bonjour,
À (at) 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) nous disait (told us):
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
j'utilise le module GraphViz pour dessiner ce genre d'arbres...
-- Thomas vO - <http://www.enstimac.fr/~vanouden/>
bonjour,
À (at) 19 Jun 2005 12:41:14 GMT,
p_geni...@yahoo.fr (Pierre Génieys) nous disait (told us):
Existe-t-il un module cpan pour gérer ces relations?
j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé
un module approprié
j'utilise le module GraphViz pour dessiner ce genre d'arbres...
--
Thomas vO - <http://www.enstimac.fr/~vanouden/>
À (at) 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) nous disait (told us):
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
j'utilise le module GraphViz pour dessiner ce genre d'arbres...
-- Thomas vO - <http://www.enstimac.fr/~vanouden/>
Patrick Texier
Le 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) a écrit :
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
Si vous partez d'un fichier gedcom, vous avez le module Gedcom sur CPAN.
Personnellement, je le trouve très lourd et lent, comme tous les modules Perl qui gèrent des données à partir de fichiers texte. Il y a un convertisseur LifeLines->Perl : il est inutilisable, la version de LifeLines est préhistorique et il n'y a même pas toutes les fonctions.
Le 19 Jun 2005 12:41:14 GMT, p_geni...@yahoo.fr (Pierre Génieys) a
écrit :
Existe-t-il un module cpan pour gérer ces relations?
j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé
un module approprié
Si vous partez d'un fichier gedcom, vous avez le module Gedcom sur CPAN.
Personnellement, je le trouve très lourd et lent, comme tous les modules
Perl qui gèrent des données à partir de fichiers texte. Il y a un
convertisseur LifeLines->Perl : il est inutilisable, la version de
LifeLines est préhistorique et il n'y a même pas toutes les fonctions.
Le 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) a écrit :
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
Si vous partez d'un fichier gedcom, vous avez le module Gedcom sur CPAN.
Personnellement, je le trouve très lourd et lent, comme tous les modules Perl qui gèrent des données à partir de fichiers texte. Il y a un convertisseur LifeLines->Perl : il est inutilisable, la version de LifeLines est préhistorique et il n'y a même pas toutes les fonctions.
Paul Gaborit
À (at) Mon, 20 Jun 2005 09:30:36 +0200, Thomas vO écrivait (wrote):
bonjour,
À (at) 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) nous disait (told us):
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
j'utilise le module GraphViz pour dessiner ce genre d'arbres...
C'est vrai que j'ai laissé de côté l'aspect représentation... Une fois le graphe (ou arbre si c'est vraiment un arbre) (re)construit, on peut effectivement le représenter via GraphViz. Mais, à mon sens, la vrai difficulté est la reconstruction du graphe.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Mon, 20 Jun 2005 09:30:36 +0200,
Thomas vO <vanouden@cf.webpage.invalid> écrivait (wrote):
bonjour,
À (at) 19 Jun 2005 12:41:14 GMT,
p_geni...@yahoo.fr (Pierre Génieys) nous disait (told us):
Existe-t-il un module cpan pour gérer ces relations?
j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé
un module approprié
j'utilise le module GraphViz pour dessiner ce genre d'arbres...
C'est vrai que j'ai laissé de côté l'aspect représentation... Une fois le
graphe (ou arbre si c'est vraiment un arbre) (re)construit, on peut
effectivement le représenter via GraphViz. Mais, à mon sens, la vrai
difficulté est la reconstruction du graphe.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Mon, 20 Jun 2005 09:30:36 +0200, Thomas vO écrivait (wrote):
bonjour,
À (at) 19 Jun 2005 12:41:14 GMT, (Pierre Génieys) nous disait (told us):
Existe-t-il un module cpan pour gérer ces relations? j'ai cherché des modules du genre "tree*" mais je n'ai pas trouvé un module approprié
j'utilise le module GraphViz pour dessiner ce genre d'arbres...
C'est vrai que j'ai laissé de côté l'aspect représentation... Une fois le graphe (ou arbre si c'est vraiment un arbre) (re)construit, on peut effectivement le représenter via GraphViz. Mais, à mon sens, la vrai difficulté est la reconstruction du graphe.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>