Les structures statiques sont toutes caractérisées par une cardinalité finie. Cependant des structures plus élaborées sont caractérisées par une cardinalité infinie. Ce sont les structures de données dynamiques telles que : les chaînes, les listes, les arbres, les graphes, etc.
L'objectif principal des structures de données est de permettre à l'utilisateur de développer une solution informatique à un problème qui soit conceptuellement aussi proche du problème que possible. Prenons par exemple, un système de réservation pour une compagnie aérienne. On peut distinguer trois niveaux de traitement :
domaine du probléme |
|
implantation du systéme |
|
niveau mémoire |
|
Nous nous intéresserons plus particulièrement au niveau intermédiaire. C'est celui où l'on met en oeuvre les concepts généraux des structures de données et où l'on développe des algorithmes permettant de gérer ces structures efficacement, indépendamment du problème pour lequel elles seraient utilisées.
Définition : une structure dynamique est une structure dont la taille (le nombre de composantes) peut varier en cours d'exécution.
On distingue généralement deux sortes de structures dynamiques : les fichiers et les structures récursives. Les structures dynamiques peuvent être subdivisées en deux catégories : les structures linéaires et les structures non-linéaires
structures dynamiques linéaires | fichier | structures non-récursives |
chaînes | structures récursives | |
structures dynamiques non-linéaires | listes | |
arbres | ||
graphes |
Une structure récursive est une structure (en général basée sur un enregistrement) dont la définition comporte une référence à elle même. S'il n'y a qu'une seule référence, cette structure est linéaire; s'il y en a plusieurs, cette structure est non-linéaire. Pour beaucoup de langages procéduraux, ces références se font à l'aide du type pointeur.
Site Hosting: Bronco