Création d'arbres non binaires

yep59 Messages postés 5 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 11 novembre 2004 - 25 mars 2004 à 00:37
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 26 mars 2004 à 21:12
Salut tout le monde,

Je suis actuellement sur un projet en Java d'intelligence artificielle. Le but de ce projet est de créer un algo capable d'étudier toutes les possibilités dans certains jeux (comme le morpion par exemple).

Je voudrais savoir comment créer et gérer des arbres qui peuvent avoir de 1 à 8 branches par exemple et dont les noeuds et feuilles sont representés par des classes.

J'ai cherché dans la doc java et apparemment il y a une classe qui s'occupe de ça mais j'aimerai savoir si quelqu'un pouvait me renseignait dessus.

Merci de votre aide

Yep, yep !!!

5 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
25 mars 2004 à 12:59
:big) Neodante :big)

Je vois pas trop le problème ... Tu fait une classe noeud

class Node{
Node up;
Node left;
Node right
...
}

Tu passes tes objets à tes accesseurs ... et le tour est joué ! Tout se jouera sur l'ajout et ensuite la comparaison et le tri de tes classes ... si tu veux tu peux aussi impélmenter une petite interface Comparable pour la comparaison ...
Donne moi plus de précisions parce que sinon je vois pas trop ! Un arbre ... ouais c'est un arbre qu'il veut faire ... donc SVP un peu plus d'infos ! ;)
@++

[Responsable www.neogamedev.com]
0
yep59 Messages postés 5 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 11 novembre 2004
25 mars 2004 à 18:49
Faire un arbre binaire, je sais très bien le faire mais comme j'ai précisé dans mon message, je cherche à faire des arbres qui peut avoir un nombre de branches qui soit dynamique et qui varie entre 1 et 8.

Dans ce cas là, left et right ne suffisent pas pour définir 8 branches à un noeud !

Mais après une journée ennuyeuse en cours, j'ai peut etre trouvé la solution à mon problème en utilisant tout simplement un vector.

J'ajoute un objet dans mon vector pour définir une nouvelle branche et je peux en créer autant que je veux. Ensuite, pour repérer quelles branches m'interessent, je regarde l'index qui correspond à l'élément stocké.

Et puis, j'avais dit aussi qu'il me semblait qu'il existait déjà une classe dans java qui permet de créer des arbres sans avoir à définir de structure et je voulais avoir confirmation.

Yep, yep !!!
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
25 mars 2004 à 20:16
:big) Neodante :big)

Oui ou un ArrayList ... car Vector est plus lent mais synchronisé pour les Threads ! J'avais pas tout compris dasn ton explication : 8 liens sur le même noeud ...
@+

[Responsable www.neogamedev.com]
0
yep59 Messages postés 5 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 11 novembre 2004
25 mars 2004 à 20:21
Merci pour le arraylist, je vais y jeter un oeil, ça me permettra de montrer que j'ai choisi des méthodes qui optimise la rapidité d'execution ... et ainsi pouvoir faire le beau devant le prof ;)

Yep, yep !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
26 mars 2004 à 21:12
:big) Neodante :big)

De rien ! lol
@+

[Responsable www.neogamedev.com]
0
Rejoignez-nous