0972 311 312 (prix appel local)

Structures de données (NFA006)

Objectifs

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...En lire plus

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.

Légende :

  100% Internet - national

Condition d'accès / publics visé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.

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.

Compétences visées

- 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.

Niveau

Niveau 5 (Bac+1 et Bac+2)

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.

Modalités de validation

Examen

Accompagnement et suivi

Sous l’autorité pédagogique du certificateur Cnam, les équipes du Cnam Bretagne vous offrent un accompagnement pendant votre parcours de formation à la fois sur les aspects administratifs, financiers, pédagogiques et techniques.

Cette UE est constitutive des diplômes suivants :
Cette UE est constitutive d'un ou plusieurs blocs de compétences éligibles au CPF :

ECTS : 4

Modalité Volume horaire Employeur France travail Auto-financement
 
37 heures 740 € 185 € 185 €
Indexation officielle
FORMACODES

<span class="input">[C0A1A6A1] mathématiques informatiques - [C0A1A6] mathématiques appliquées - [C0A1] mathématiques - [C0] sciences</span>

Mots clés

Structure de données, Complexité des algorithmes, Structure arborescente de données, Structure séquentielle de données, Arbre B

Indicateurs de résultat

En savoir plus

Dernière mise à jour : 17/05/2023

INFOS
PRATIQUES

Durée

37 heures

Modalité

100% Internet - national  

Date de début des cours

19/02/2024

Date de fin des cours

30/06/2024

Accessibilité handicap

En savoir plus

Comment s’inscrire ?

En savoir plus