LOGO Responsable du cours Mlle Amina GHRAB : [email protected] 1 ère année IAG 2009 - 2010...
-
Upload
sidonie-billon -
Category
Documents
-
view
110 -
download
4
Transcript of LOGO Responsable du cours Mlle Amina GHRAB : [email protected] 1 ère année IAG 2009 - 2010...
![Page 1: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/1.jpg)
LOGO
Algorithmique et Structures de
données évoluées
Algorithmique et Structures de
données évoluées
Responsable du coursMlle Amina GHRAB : [email protected]
1ère année IAG2009 - 2010
Institut Supérieur de Gestion de Tunis
![Page 2: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/2.jpg)
Objectifs
Être capable de choisir la structure adéquate à chaque problème.
Savoir manipuler les structures arborescentes;
Pouvoir implémenter les structures de données arborescentes;
Connaître les avantages et les inconvénients de chaque structure arborescente;
Connaitre l’utilité des structures de données arborescentes;
L’étudiant devra :
2
![Page 3: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/3.jpg)
Références
Michel Divay : Algorithmes et structures de données génériques;
Abdelali Guerid, Pierre Breguet, Henri Röthlisberger : Algorithmes et structures de données avec C++ et Java;
XU Philippe, VENANT Antoine: Arbres binaires de recherche;
Cours Mme Nahla Ben Amor : Algorithmes et structures de données , http://isgprog2.ifrance.com/
3
![Page 4: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/4.jpg)
Plan
4
Les arbres binaires de recherche2
Exercices33
Définition et terminologie
Algorithmes de parcours
Définition
Opérations sur les ABRs
Structures de données arborescentes1
Les AVLs
![Page 5: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/5.jpg)
Définition et terminologie(1)
5
Une arborescence est une structure en forme d'arbre qui permet d'organiser les données en mémoire ou sur disque, de manière logique et hiérarchisée.
Dictionnaire arborescent;
Organisation d’un répertoire;
![Page 6: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/6.jpg)
Définition et terminologie(2)
Père :prédécesseur direct d’un nœud;
Fils: successeur direct d’un nœud;
Feuille: un nœud sans fils;
Degré d’un nœud: le nombre de ces fils;
Génération: les nœuds d’un même niveau;
Branche: un chemin qui commence par la racine et se termine par une feuille;
Sous-arbre: un nœud accompagné de toute sa descendance;
6
![Page 7: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/7.jpg)
Définition et terminologie(3)
Taille: le nombre de nœud de l’arbre;
Profondeur: le nombre de nœud de la branche la plus longue;
Ordre d’un arbre: le degré maximum parmi tous ses nœuds;
Arbre binaire: un arbre d’ordre 2;
Arbre binaire complet: chaque nœud autre qu’une feuille admet deux descendants et toutes les feuilles sont au même niveau;
Arbre binaire dégénéré: tous les nœuds de cet arbre ont au plus un descendant.
7
![Page 8: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/8.jpg)
Définition et terminologie(3)
IllustrationA
E
DB
L
F
N
G
MK
Taille:?Profondeur:?Ordre:?
Taille:10Profondeur:4Ordre:2
8
![Page 9: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/9.jpg)
Définition et terminologie(4)
A
E
DB
L
C
H
F
N
G
MK
9
![Page 10: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/10.jpg)
Parcours en largeurParcours en profondeur
Algorithmes de parcours
10
![Page 11: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/11.jpg)
Algorithmes de parcours
A
E
DB
L
C
H
F
N
G
MK
1
2 43
65
8
7
11109 12
A,B,C,D,E,F
G,H,K,L,M,N
Largeur
11
![Page 12: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/12.jpg)
Algorithmes de parcours
A
E
DB
L
C
H
F
N
G
MK
1
2
3
4 5 6
7 8
9 10
11 12
A,B,E,H,K,L,C,D
F,G,M,N
Profondeur
12
![Page 13: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/13.jpg)
Algorithmes de parcours
Parcours en profondeur
parcours_profond(AB:arbre)DebutSi nonVide(AB) alors Afficher Racine(AB) parcours_profond(SAG(AB)) parcours_profond(SAD(AB))Fin siFin
13
![Page 14: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/14.jpg)
Algorithmes de parcours
TAF:
Ecrire l’algorithme du parcours en profondeur pour un arbre n-aire;
Ecrire l’algorithme du parcours en largeur
14
![Page 15: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/15.jpg)
Plan
15
Les arbres binaires de recherche2
Exercices(Quiz)33
Définition et terminologie
Algorithmes de parcours
Définition
Operations sur les ABRs
Structures de données arborescentes1
Les AVLs
![Page 16: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/16.jpg)
Définition
Un arbre binaire de recherche (ABR) est un arbre binaire dans lequel chaque nœud possède une clé d’identification, et tel que chaque nœud du sous-arbre gauche a une clé inférieure à celle du nœud considéré, et que chaque nœud du sous-arbre droit a une clé supérieure à celle-ci.
Utiles pour ranger des valeurs ordonnées;
permettent de rechercher et de trouver un nœud de façon rapide et simple.
16
![Page 17: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/17.jpg)
Opèrations sur les ABRs: insertion
Exemple:44,77,55,22,33
Insérer 44 44 Insérer 77
55
Insérer 5544
Insérer 22
77
Insérer 3322
44
77
55
44
77
22
55
44
77
33
17
![Page 18: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/18.jpg)
0 fils1 seul fils
Opérations sur les ABRs: Suppression
2 fils
18
![Page 19: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/19.jpg)
Opérations sur les ABRs: Suppression 1er cas: le nœud a 0 fils
On supprime le nœud et on remplace son adresse par NULL
Supprimer 33
22
55
44
77
33
22
19
![Page 20: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/20.jpg)
Opérations sur les ABRs: Suppression 2éme cas: le nœud a un seul fils
On supprime le nœud et on remplace son adresse dans son père par l’adresse de son fils
Supprimer 22
22
55
44
77
33
33
20
![Page 21: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/21.jpg)
Opérations sur les ABRs: Suppression 3eme cas: Le nœud a deux fils
o On supprime N et on le remplace par l’élément maximal de son sous arbre gauche puis on le supprime;
o On supprime N et on le remplace par l’élément minimal de son sous arbre droit puis on le supprime
22
55
44
77
3312
Supprimer 22
147
14
55
44
77
3312
7
21
![Page 22: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/22.jpg)
Opérations sur les ABRs: Suppression
Algorithme
Delete(n:nœud)
Debut
n,q:nœud,racine:noeud;test,Supp:boolean;
Si
(n.compareto(ref-racine)==0;
Supp=vrai;test=vrai;
Fin si
Tant que(racine<>null)&&(!test)
Si
(n.compareto(racine)<0) alors q=racine;racine=racine.fils-gauche;
Sinon (si n.compareto(racine)>0) q=racine;racine=racine.fils-droit fin si;
Sinon test=vrai;
Fin si
22
![Page 23: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/23.jpg)
Opérations sur les ABRs: Suppression
Si test=vrai alors
Si((racine.fils-droit<>null)&&(racine.fils-gauche<>null))
alors
Z=chercherMin(racine.fils-droit)
Racine=z;
Z=supprimermin(racine.fils-droit);
Fin si
Fin si
Fin tant que
23
![Page 24: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/24.jpg)
Opérations sur les ABRs: Suppression
TAF
Terminer le traitement du premier et du deuxième cas de la suppression dans un arbre de recherche.
24
![Page 25: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/25.jpg)
ABRs
Très éfficaces pour la recherche, les insertions et les suppressions;
24
![Page 26: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/26.jpg)
Les AVLs
ABR Dégénéré !!!!!!!
Complexité est en O(n)
Il faut les équilibrer
25
![Page 27: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/27.jpg)
Les AVLs
26
Un AVL est un arbre binaire de recherche tel que, pour tout nœud de l’arbre, les hauteurs des sous-arbres gauches et des sous-arbres droits diffèrent d’au plus de 1;
Remédier au problème de déséquilibre dans les arbres binaires de recherche;
Ce sont des arbres de recherche équilibrés dont les opérations de recherche, d'insertion et de suppression ne sont pas coûteuses en terme de complexité.
![Page 28: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/28.jpg)
Les AVLs
FG Info BAL FD
BAL=hauteur(SAD)-hauteur(SAG)
BAL =0BAL=1BAL=-1
Principe
Nœud
28
![Page 29: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/29.jpg)
AVLs
22
55
44
77
33
56
12 44
1
0 -1
0 0 0
0
22
55
44
77
33
56
12 44
-1
-2 -1
2 0 0
0
14
13-1
0
1
29
![Page 30: LOGO Responsable du cours Mlle Amina GHRAB : amina.ghrab@live.fr 1 ère année IAG 2009 - 2010 Institut Supérieur de Gestion de Tunis.](https://reader036.fdocuments.fr/reader036/viewer/2022062404/551d9da1497959293b8d18e6/html5/thumbnails/30.jpg)
Questions
30