5.Les structures dynamiques

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
  • horaires
  • vols
  • dates
  • destinations
  • réservations
implantation
du systéme
  • fichiers
  • tableaux
  • enregistrements
  • chaînes de caractéres
  • structures de données plus complexe
niveau
mémoire
  • octets
  • suites de mots mémoires
  • pages

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.

5.1. Les pointeurs

Table des matières.

Site Hosting: Bronco