Bonsoir,

Alors voila un petit moment que j'essaie de trouver deux algorithmes sur les ABR, l'un qui dit si un ABR est contenu dans un autre (tout les éléments de A sont contenus dans B, A et B étant deux ABR) et le second qui dit si un ABR est de domaine plus petit qu'un autre (le plus petit élément de A est supérieur ou égal au plus petit élément de B et le plus grand élément de A est inférieur ou égal au plus grand élément de B). Les algos que j'ai fais ne marchent apparemment pas.
Le premier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Contenu (A: arbre, B: arbre):booleen
val:Entier
début
       si vide?(A) ET vide?(B) alors
             renvoyer vrai
       val <- A.noeud
       sinon si non(app?(val, B)) alors
             renvoyer faux
       fin si
       contenu(A.sag, B.sag)
       contenu(A.sad, B.sad)
fin
Le deuxième:
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
domaine (A: arbre, B: arbre):booleen
val_minA, val_minB, val_maxA, val_maxB:Entier
début
       si vide?(A) ET vide?(B) alors
          renvoyer vrai
       sinon si vide?(A) OU vide?(B) alors
          renvoyer faux
       fin si
       val_minA <- min(A)
       val_minB <- min(B)
       val_maxA <- max(A)
       val_maxB <- max(B)
       si val_minB <= val_minA ET val_maxA <= val_maxB alors
           renvoyer vrai
       sinon
           renvoyer faux
       fin si
fin
Merci de l'aide que vous pourrez m'apporter