Structures de données
NFA006


Objectifs pédagogiques

Donner les notions fondamentales de structures de données et de leur utilisation, et montrer comment les implanter à bon escient dans un langage de programmation de haut niveau. Faire comprendre l'importance de la spécification rigoureuse des structures de données, le pourquoi de l'étude de la complexité des algorithmes qui les manipulent, les principes de mise en oeuvre de ces structures.

Public et conditions d'accès

Ce cours s'adresse aussi bien aux élèves en licence qu'à ceux préparant le titre d'analyste programmeur ou le DUT. Il suppose une connaissance minimale en algorithmique et en programmation.

Compétences

- Savoir évaluer la complexité d'un algorithme simple en fonction de la taille des données.
- Savoir abstraire les principales structures de données, les spécifier et les implanter.

Méthodes de validation

Examen

Contenu de la formation

Notions préliminaires
Rappel succinct des propriétés et caractéristiques essentielles des supports de mémorisation, tels que la mémoire centrale, les disques et les bandes. Notion de complexité des algorithmes : mesure d'efficacité en fonction de la taille du problème.
Les structures de données
Les structures séquentielles et les structures arborescentes. Principaux algorithmes liés à ces structures. Différentes techniques d'implantation de ces structures : avantages et inconvénients.
L'utilisation des structures
Principaux algorithmes de tri. Généralités et méthodes simples. Méthodes efficaces. Mesures et comparaisons entre ces algorithmes.
Principes de la recherche d'informations. Recherche séquentielle dans une liste quelconque. Recherche dichotomique dans une liste ordonnée pour laquelle on dispose de l'accès par le rang. Gestion d'un tas : solution efficace pour rechercher le plus petit élément d'un ensemble.
Utilisation de structures arborescentes pour la recherche. Les arbres binaires de recherche : recherche, adjonction et suppression. Évaluation de la complexité logarithmique en moyenne de ces opérations, et comparaison avec les structures séquentielles. Évaluation de la complexité au pire linéaire : amélioration par rééquilibrage donnant les arbres AVL. Analyse des opérations simples de rotation ponctuelle pour conserver l'équilibre.
Généralisation des arbres AVL aux arbres balancés pour prendre en compte une caractéristique des disques : la taille des blocs transférés. Application aux fichiers séquentiels indexés.
Recherche utilisant la notion de hachage : principes et méthodes de résolution des collisions.
Remarque : Implantations proposées au moyen de paquetages Ada génériques disponibles en machine (ou modules Java ou C++), pour que les élèves puissent les utiliser lors de travaux pratiques personnels, et apprennent ainsi les notions fondamentales de réutilisation du logiciel.

Bibliographie
  • C. CARREZ: Structures de données en Java, C++ et Ada 95 (Masson 1997)
  • M.-C. GAUDEL, M. SORIA, C. FROIDEVAUX: Types de données et algorithmes (McGraw-Hill, 1990).
  • C. CARREZ et al.: URL:http://deptinfo.cnam.fr/Enseignement/CycleA/SD/
  • J. COURTIN, I. KOWARSKI: Initiation à l'algorithmique et aux structures de données. Volumes 1 et 2 (Dunod).

Prochaines sessions de formation

Filtres :
Centre de formation Semestre
2021/2022
Jours de
formation
Modalité Tarif    
FOAD Ile-de-France Semestre 1   Pour une demande d'inscription,
contactez le centre

Date de début des cours (*) :

  • 27/09/2021

* Les dates fournies sont d'ordre général à toutes les formations.
  Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

FOAD Ile-de-France Semestre 2 120 €

Date de début des cours (*) :

  • 21/02/2022
Paris Semestre 1 Lundi 120 €

Date de début des cours (*) :

  • 20/09/2021

* Les dates fournies sont d'ordre général à toutes les formations.
  Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

FOAD Ile-de-France
Semestre 1
Cours hors région
FOAD Ile-de-France
Semestre 2
Cours en ligne
120 €
Paris
Semestre 1
Lundi
Cours du soir
120 €
Légende :
Date de début de cours :
  • Île-de-France :
    • 1er semestre et annuel : 27/09/2021
    • 2e semestre : 21/02/2022
  • Paris :
    • 1er semestre et annuel : 20/09/2021
    • 2e semestre : 07/02/2022

Les dates fournies sont d'ordre général à toutes les formations. Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Tarif :

Seul le financement à titre individuel est proposé à l'inscription en ligne. Si vous souhaitez financer votre formation par votre entreprise, vous devez demander un devis auprès de nos centres Tarifs en vigueur depuis le 17 juin 2020.

Annuel :

Il s'étend de fin septembre / début octobre à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 1 :

Il s'étend de fin septembre / début octobre à fin janvier / début février (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 2 :

Il s'étend de fin février / début mars à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Cours du soir :

Les cours commencent le plus souvent à 18h30 dans les centres.

  Cours en journée :

Se renseigner auprès du centre pour connaître les horaires.

Cours en ligne :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant. Des regroupements peuvent être proposés dont certains sont obligatoires.

  Cours en ligne hybride :

Cette modalité propose une majorité de cours en ligne tuteurés et des regroupements en présentiel obligatoires.

  Cours hybrides :

Cette modalité mixe des cours en présentiel (en cours du soir ou en journée) et des cours en ligne.

  Cours en ligne organisés par un autre
centre CNAM Régional :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant.

Recherche en cours ...