Arbre 2-3-4
anis
-
anis -
anis -
Bonjour,
S'il vous plais j' ai besoin d'une petite aide sur comment en fais l'éclatement dans les arbres 2-3-4?En faite d'après le cours que je l'ai lu sur les arbres 2-3-4 , l'éclatement se fais lorsqu'on ajoute un élément dans une arbre, c'est à dire si on un fils qu'a 3 élément, on crée 2 fils, on fait monter l'élément au milieux élément[1] et on l'ajoute dans le neoud père, si de même le père contient 3 élément on l'éclate aussi .
J'ai pas compris comment je fais cette fonction, j'ai commencé de faire la fonction ajouter de cette manière:
il me reste la fonction éclater je ne sais pas comment je peux le faire.Merci en avance pour vos aides
S'il vous plais j' ai besoin d'une petite aide sur comment en fais l'éclatement dans les arbres 2-3-4?En faite d'après le cours que je l'ai lu sur les arbres 2-3-4 , l'éclatement se fais lorsqu'on ajoute un élément dans une arbre, c'est à dire si on un fils qu'a 3 élément, on crée 2 fils, on fait monter l'élément au milieux élément[1] et on l'ajoute dans le neoud père, si de même le père contient 3 élément on l'éclate aussi .
J'ai pas compris comment je fais cette fonction, j'ai commencé de faire la fonction ajouter de cette manière:
public void AjouterElement(int Elem , Abre2_3_4 A)
{
int nobrfils = A.racine.length+1;
if(A.ArbreVide())
{
A.racine[0]=Elem;
}
else
{
switch(nobrfils)
{
case(2):
{
if(Elem<A.racine[0])
{
eclate(fils1);
AjouterElement(Elem,fils1);
}
else
{
eclate(fils2);
AjouterElement(Elem,fils2);
}
break;
}
case(3):
{
if(Elem<A.racine[0])
{
eclate(fils1);
AjouterElement(Elem, fils1);
}
else if(A.racine[0]<Elem && Elem<A.racine[1])
{
eclate(fils2);
AjouterElement(Elem, fils2);
}
else
{
eclate(fils3);
AjouterElement(Elem, fils3);
}
break;
}
case(4):
{
if(Elem<A.racine[0])
{
eclate(fils1);
AjouterElement(Elem, fils1);
}
else if(A.racine[0]<Elem && Elem<A.racine[1])
{
eclate(fils2);
AjouterElement(Elem, fils2);
}
else if(A.racine[1]<Elem && Elem<A.racine[2])
{
eclate(fils3);
AjouterElement(Elem, fils3);
}
else
{
eclate(fils4);
AjouterElement(Elem, fils4);
}
break;
}
}
}
}
il me reste la fonction éclater je ne sais pas comment je peux le faire.Merci en avance pour vos aides
A voir également:
- Arbre 2-3-4
- Supercopier 2 - Télécharger - Gestion de fichiers
- Ai suite 3 - Télécharger - Optimisation
- Code gta 4 ps4 - Guide
- Picasa 3 - Télécharger - Albums photo
- +33 3 24 4 ✓ - Forum Mobile
1 réponse
en faite j'ai fais la fonction éclater comme ca
private void eclate(Abre2_3_4 A) {
// TODO Auto-generated method stub
Noeud n=new Noeud();
int[] E1=new int[1];
int[] E2=new int[1];
if(A.racine.length==3)
{
n.racine[0]=A.racine[1];
E1[0]=A.racine[1];
E2[0]=A.racine[2];
nouvelArbre1(n.racine,nouvelArbre1(E1,A.fils1,A.fils2),nouvelArbre1(E2,A.fils3,A.fils4));
}
}
est ce que c'est juste ou non en plus comment je peux le liée le noeud crée avec la racine ???
anis
il n' y a pas une aide ou explication slvp? Je suis bloqué là et je ne sais comment je peux programmer
anis
pour quoi vous me répondez pas???