Dissertation
1
Chapitre VI : STRUCTURES DE DONNEES AVANCEES INTRODUCTION Il s’agit de l’étude de la représentation d’ensemble dynamique à l’aide de structures de données simples, utilisant les pointeurs. I- PILES et FILES Ce sont des ensembles dynamiques pour lesquels l’élément ôté de l’ensemble par l’opération de modification SUPPRIMER est spécifié à l’avance. • Dans une PILE, cet élément correspond à celui récemment inséré : la pile met en œuvre le principe du « dernier entré, premier sorti » (LIFO : Last In – First out). • Dans une FILE, cet élément correspond toujours à celui qui est présent depuis plus de temps dans l’ensemble. La file met en œuvre le principe « premier entré, premier sorti » (FIFO : First In – First out). Il existe plusieurs manières d’implémenter des piles et des files dans un ordinateur. Ici nous allons montrer comment parvenir à l’aide de simple tableau. I.1 PILES Dans une pile, l’opération INSERER est souvent appelé EMPILER et l’opération SUPPRIMER (qui ne prend pas d’argument) est souvent appelé DEPILER. P a) 1 15 6 2 3 2 4 9 5 6 7
sommet [P] = 4 P b) 1 15 2 6 3 2 4 9 5 17 6 3 7
sommet [P] = 6 P c) 1 15 2 6 3 2 4 9 5 17 6 7
sommet [P] = 5 Cette représentation traduit l’implémentation d’un tableau. a) P contient 4 éléments, le sommet est occupé par 9. b) Apres EMPILER (P, 17) et EMPILER (P, 3). c) Ensuite DEPILER (P) retourne 3, l’élément le plus récemment empilé. Le sommet de la pile est maintenant occupé par 17. On peut implémenter une pile d’au plus n éléments avec un tableau P [1…n]. Le tableau possède un attribut sommet [P], indexant l’élément le plus récemment inséré. P [1], P [2], …, P [sommet [P]], en sont les éléments.
2
P