Les Arbresbinaure de Recherche2017+suppression
Les Arbresbinaure de Recherche2017+suppression
Les Arbresbinaure de Recherche2017+suppression
1. Définition
Un arbre binaire de recherche est un arbre binaire vérifiant la propriété suivante :
Soit x, y deux nœuds de l'arbre, si y est un nœud de sous-arbre gauche de x alors inf(x) > inf(y), si y
est un nœud de sous-arbre droit de x, alors inf(y)>inf(x).
2.1 Recherche
/ / Recherche d'un élément
ArbreBR r=recherche(A,x);
2.4 Insertion
//Insertion
while(A3!=null){
A2=A3;
else A3=A3.D;
If (A==null) A=A1;
else if (A2.x>x)A2.G=A1;
else A2.D=A1;
return A;
2.5 La suppression
La suppression d’une clé dans un arbre est une opération plus complexe. Elle s’accompagne
de la suppression d’un nœud. Soit s le nœud qui porte la clé x à supprimer. Trois cas sont à
considérer selon le nombre de fils du nœud x:
ArbreBR b=A,p=null;
while(b!=null)
if (b.x==x) break;
else {
p=b;
if (b.x>x)b=b.G;
else b=b.D;
if (b!=null)
if (p==null) A=null;
else p.D=null;}
ArbreBR f;
else f=b.G;
if (p==null) A=f;
else p.D=f;
else {
ArbreBR m=Min(b.D);
b.x=m.x;
SuppN2(b.D,b,m.x);
return A;
ArbreBR b=A,p=per;
while(b!=null)
if (b.x==x) break;
else {
p=b;
if (b.x>x)b=b.G;
else b=b.D;
if (b!=null)
{
1 ére année Master Module: algorithmiques et structures complexes
if (p==null) b=null;
else p.D=null;}
ArbreBR f;
else f=b.G;
if (p==null) b=f;
else p.D=f;