Arbre n-aire

miro -  
mamiemando Messages postés 33780 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je veux réaliser un recherche selon un arbre n-aire en php ,j'ai pas arrivé à résoudre mon problème puisque j'ai pas une grande connaissance sur l'arbre n-aire.
merci pour votre aide

4 réponses

mamiemando Messages postés 33780 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Bah indépendamment du langage, un arbre n-aire est souvent représenté à l'aide d'une structure de noeud contenant un ensemble de nœuds successeurs (que l'on peut par exemple stocker dans un tableau).

Par exemple en C:
typedef struct _treenode_t{
  void *data; /**< La donnée stockée dans le noeud */
  struct _treenode_t **nodes; /**< Les nœuds fils */
} treenode_t;

typedef _tree_t{
  treenode_t root; /**< Le nœud racine */
} tree_t

Ensuite c'est un simple parcours récursif... Pour la syntaxe PHP désolée, mais ça fait bien longtemps que je n'en ai pas fait. Essaye de faire une petite recherche google il y a sûrement possibilité de trouver des exemples.

Bonne chance
0
miro
 
bonjour,
j'ai beaucoup cherché mais j'ai pas une chose importante.
en tous cas merci pour votre aide
0
mamiemando Messages postés 33780 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Ah ?
https://www.google.com/search?q=php+arbre&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:fr:unofficial&client=iceweasel-a&gws_rd=ssl

Ben il suffit de faire un objet php en C qui stocke un array (les fils)...

Bonne chance
0
miro
 
bonjour,
je n'est ce pas comment créer un objet en php au lieu d'une structure.
par exemple cette structure:
struct personne{
char [20] nom;
char [20] prenom;
}
0
mamiemando Messages postés 33780 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
https://www.commentcamarche.net/contents/786-php-les-classes

Un truc du genre :
class treenode_t{
  var $nom;
  var $prenom;
  var $nodes;
}

... et quand tu fais un "treenode = new treenode_t" il faut bien penser à faire un "t->nodes = new array()" ou quelque chose dans ce goût. Désolée je ne fais pas de PHP.

Bonne chance
0