Bonjour,
je trouve une difficulté pour l’implémentation d'un intree en java.
est ce que vous pouvez m'aider meme par m'envoyer des liens qui me seront utiles?
merci d'avance.
Bonjour,
je trouve une difficulté pour l’implémentation d'un intree en java.
est ce que vous pouvez m'aider meme par m'envoyer des liens qui me seront utiles?
merci d'avance.
Jamais entendu parler d'un intree en Java. Google non plus d'ailleurs...
Mes logiciels n’ont jamais de bug. Ils développent juste certaines fonctions aléatoires.
vous voulez pas dire une entrée par hasard ?
un intree. je connais pas
UN in_tree c'est un arbre dans lequel chaque noeud a au plus un successeur et un nombre quelconque de predecesseur.
appelé aussi pile spaguetti
voici un lien ou il y en a une photo d'un in_tree
http://fr.wikipedia.org/wiki/Pile_spaghetti
j'ai l'idée d'utiliser une structure noeud dans laquelle chaque noeud a un pointeur sur un ensemble de successeurs et un pointeur sur un seul predecesseur
mais je ne sais pas comment faire en java
En Java les structures, ce sont des classes, et les pointeurs sont de simples variables de type objet.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
salut
c'est quoi la difference entre
public class a
et
public final class a
et merci d'avance
Une classe final ne peut pas être hérité par une autre classe.
Cela a l'air assez simple.
Si on suppose que tous les nœuds à chaîner sont de même type et qu'il faut simplement pouvoir dire quel est le successeur de chaque nœud alors on a :
Ce qu'il faut que tu nous expliques, c'est ce que tu veux faire après : faire la liste des descendants, des ascendants ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class ObjetNoeud { public ObjetNoeud() { } public ObjetNoeud getSuccesseur() { return successeur; } public void setSuccesseur(ObjetNoeud successeur) { this.successeur = successeur; } private ObjetNoeud successeur; }
<Joke>
Je trouve l'appellation "Spaghetti" tout à fait inappropriée. Je n'ai jamais vu un Spaghetti avoir des ascendants et des descendants.
</Joke>
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
j'ai pensé à une implémentation comme celle-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class Arbre { public Arbre succ; public Arbre [] pred; public static int Numniveau=0; public boolean feuille; public Arbre(int nb_niveaux) {int nb_pred=0;// doit recevoir un nb aleatoire succ=this; pred=new Arbre[nb_pred];// tableau d'objets arbre qui represente les predecesseurs feuille=false; initialiser(nb_niveaux); } public void initialiser(int nb_niveaux) {Numniveau++; if (Numniveau < nb_niveaux) {int k=0;//nombre aleatoire for (int i = 0; i < k; i++) {pred[i] = new Arbre(nb_niveaux);} } else { feuille = true; } } }
je me demande est ce que c'est suffisant ou je dois creer deux classes distinctes une classe noeud et une classe arbre.
je suis débutante en java
et comment puis je distinguer ma racine?
Pour un Arbre, il y a une ou plusieurs racines.et comment puis je distinguer ma racine
Tu dois ajouter une méthode qui renvoie le tableau pred pour pouvoir parcourir les racines
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
j'ai une seule racine qui n'a aucun successeur et un tableau de predecesseurs.
mon arbre commence par des feuilles et se termine par une seule racine.
j'ajoute un attribut dans la classe arbre comme suit?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2public Arbre racine;
J'ai du confondre Feuilles et Racines !
(pourtant je cuisine bien d'habitude)
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
Je crois qu'il vaut mieux ne pas mettre dans le même code le stockage des objets dans un tableau et les objets eux-mêmes.
Tu devrais avoir une classe ObjetNoeud comme décrit dans un de mes posts précédents
et stocker ces différents objets dans un ArrayList ou un tableau au fur et à mesure de leur création.
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
bonjour,
je voulais savoir comment utiliser contains() pour vector?
et son type de retour est boolean???
Je pense que ceci n'a rien à voir avec le sujet initial.
Il faut faire un nouveau post dans ce cas.
Vector est une classe "dépréciée". Il faut éviter son usage.
Regarde plutôt dans la classe ArrayList
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
j'ai definis mon arbre de cette maniere mais je ne sais paa ou est ma faute
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class Arbre { public Arbre succ; public Arbre [] pred; public static int Numniveau;//niveau du noeud public int val;//le nom de la tache qui est 1 ou 2 ou 3 public int poids=0; public boolean feuille;//si le noeud courent est feuille alors feuille =true sinn false //une feuille est un noeud qui ne posséde aucun predecesseur public Arbre() {succ=null; val=1; Numniveau=1; feuille=false; } int k=1; public void generate(Arbre racine,int nb_pred_max,int nb_niveaux)//nb_pred_max c'est le nombre max de predecesseurs d'un noeud donné en parametre { if (racine.Numniveau<nb_niveaux) { int n=(int) (Math.random() * nb_pred_max + 1); racine.pred=new Arbre[n]; for(int i=0;i<racine.pred.length;i++) {k++;//pour assurer l'obtention de taches distinctes racine.pred[i]=new Arbre(); racine.pred[i].Numniveau=racine.Numniveau+1; racine.pred[i].succ=racine; racine.pred[i].val=k; generate(racine.pred[i],nb_pred_max,nb_niveaux); } } else racine.feuille=true; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager