1.1 1er partie de la définition de Liste : l'idée générale
1.1.A Propriétés générales d'organisation
Le type abstrait Liste a les propriétés suivantes :
- Le mot Element désigne une valeur de la Liste.
- Le mot Place fait référence au conteneur dans lequel on stocke un Element individuel de la Liste. On pourrait utiliser également le mot Emplacement, mais c'est plus long à écrire. On peut le voir comme un dossier suspendu ou comme un casier...
- Une Liste une structure linéaire composée d'une séquence finie et ordonnée de Places.
- On doit pouvoir insérer et supprimer au moins une Place (dont la situation est à choisir : cela peut être au début, ou à la fin, ou partout...)
- On doit pouvoir accéder à toutes les Places.
- On doit pouvoir lire un Elément en connaissant la Place qu'il occupe
- On doit pouvoir trouver le successeur unique de chaque Place.
On peut résumer cela en disant qu'il s'agit d'une structure de données dans laquelle on peut accéder librement à n'importe quelle donnée.
Vous pouvez appréhender le type abstrait Liste en faisant une analogie avec des dossiers suspendus :
1.1.B Vocabulaire
- On désigne la première Place de la Liste sous le nom de tête (head en anglais). On ordonne les autres Places à partir du nombre de sauts nécessaires pour les atteindre à partir de la tête : la tête est à la distance 0, la suivante à 1...
- L'ensemble des autres Places de la Liste porte le nom de queue (tail en anglais).
- La dernière Place de la Liste porte le nom de fin. Attention, on trouve parfois également le mot queue pour désigner la fin. Ici, nous utiliserons bien uniquement fin.
- La Liste est homogène si tous les éléments stockés sont de même type. Sinon elle est inhomogène.
1.1.C Exemple
Deux façons de voir graphiquement une liste contenant une tête dont l'élément est 5 suivie d'une queue contenant les éléments 8, 2 et 3.
- 5 → 8 → 2 → 3
- 3 ← 2 ← 8 ← 5
1.1.D Propriétés mathématiques ?
Le choix a été fait ici de définir les propriétés sous forme de phrases informelles.
On pourrait formaliser tout cela de façon rigoureuse et établir précisément toutes les propriétés mathématiques que doit avoir le type Liste.
Avantage de la définition globale : facile à comprendre.
Désavantage de la définition globale : pas de formalisme mathématique, les preuves et démonstrations manquent de rigueur.