Présentation Structure données abstraite (TDA) Rappel : File Définition Spécification vs implémentation Pile File Spécification (api)
Structure de données Structure de données : Type de données abstrait Conteneur de données du même type. Type de données abstrait Une structure de données qui utilise l’encapsulation Deux aspects Services offerts (spécification des méthodes) Implémentation
Implémentation Structure de données Chaînage dynamique Tableau statique Le nombre d’éléments maximum est limité. L’espace mémoire est réservé totalement à la compilation. Chaînage dynamique Le nombre d’éléments est illimité. L’espace mémoire est réservé à l’exécution sur demande.
Structure de données Représentation graphique Dans un tableau statique Simplement chaînée
Pile
Pile (LIFO; Last In First Out) Structure de données Pile (LIFO; Last In First Out) Structure de données où on insère et on enlève toujours au début (dessus) Même principe que la pile dans la vie courante Pile d’assiette, pile de linge, … Fortement utilisé en informatique Pile système, pile d’opérateurs arithmétiques, …
Structure de données Service d’une Pile Empile //Élément sur le dessus de la pile Depile //Enlève et retourne l’élément //du dessus de la pile estVide //retourne si la pile est vide Vider //Enlève tous les éléments DepileSansEnlever //Retourne l’élément du dessus //sans l’enlever de la pile
Antécédents et conséquents
Structure de données Les antécédents, les conséquents et la levée d’exceptions deviennent importants. Un antécédent non respecté lève une exception. On doit annoncer Les conditions préalables (antécédent) L’état de la structure après l’opération (conséquent) Les messages d’exception
Structure de données Exemple: Dépiler() Antécédent : la Pile ne doit pas être vide Conséquent : l’élément n’est plus dans la pile Throws PileVideException
File
File (FIFO; First In First Out) Structure de données File (FIFO; First In First Out) Structure de données où on insère à la fin et on retire au début (dessus) Même principe que la file d’attente dans la vie courante File à la banque, à l’épicerie, … Fortement utilisé en informatique Imprimante, réseau, …
Structure de données Service d’une File Enfile //Insère à la fin de la file Defile //Enlève et retourne le premier de la //file estVide //retourne si la file est vide Vider //Enlève tous les éléments DefileSansEnlever //Retourne l’élément du dessus //sans l’enlever de la file