Structures de données
Code UE : NFA006-MDG
- Cours
- 4 crédits
- Volume horaire de référence
(+ ou - 10%) : 40 heures
Responsable(s)
Cedric DU MOUZA
Public, conditions d’accès et prérequis
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.
L'avis des auditeurs
Les dernières réponses à l'enquête d'appréciation pour cet enseignement :
Présence et réussite aux examens
Pour l'année universitaire 2022-2023 :
- Nombre d'inscrits : 202
- Taux de présence à l'évaluation : 67%
- Taux de réussite parmi les présents : 78%
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.
- Savoir abstraire les principales structures de données, les spécifier et les implanter.
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.
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.
Examen
- 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).
Cette UE apparaît dans les diplômes et certificats suivants
Rechercher une formation
RECHERCHE MULTI-CRITERES
Plus de critères de recherche sont proposés:
-
Vous pouvez sélectionner des formations, en recherchant une chaîne de caractères présente dans l’intitulé ou dans les index (discipline ou métier visé): ex: "documenta".
Des index sont suggérés à partir du 3e caractère saisi, mais vous pouvez aussi saisir librement tout autre mot . - Les différents items sélectionnés sont croisés.
ex: "Comptabilité" et "Région Grand Est"
- Cette recherche s'effectue à travers toutes les fiches formation, y compris régionales. Les codes de ces dernières se distinguent par le suffixe de la région (ex: «-PDL pour Pays-de-la-Loire» ).
Par défaut, les fiches régionales reprennent le contenu de la fiche nationale correspondante, mais dans certains cas, comportent des informations spécifiques. - Certains diplômes se déclinent selon plusieurs parcours (codés à la fin: A, B,...). Pour afficher tous les parcours, tapez la racine du code (ex : « LG035 »).
- Dans tous les cas, veillez à ne pas insérer d'espace ni de caractère séparateur.
Plus de critères de recherche sont proposés:
- Type de diplôme
- Niveau d'entrée
- Modalité de l'enseignement
- Programmation semestrielle
Chargement du résultat...
Intitulé de la formation |
Type |
Modalité(s) |
Lieu(x) |
|
---|---|---|---|---|
Intitulé de la formation
Concepteur développeur de solutions informatiques
|
Lieu(x)
À la carte
|
|||
Intitulé de la formation
Technicien Développement, Sécurité et Exploitation
|
Lieu(x)
À la carte
|
|||
Lieu(x)
À la carte
|
||||
Intitulé de la formation
Licence informatique
|
Lieu(x)
Alternance
|
|||
Intitulé de la formation
Licence informatique
|
Lieu(x)
Package
|
|||
Intitulé de la formation
Licence informatique
|
Lieu(x)
À la carte
|
|||
Intitulé de la formation | Type | Modalité(s) | Lieu(x) |
Contact
Centre(s) d'enseignement proposant cette formation
-
Madagascar
- 2024-2025 1er semestre : Formation hybride journée
Comment est organisée cette formation ?2024-2025 1er semestre : Formation Hybride journée
Dates importantes
- Période des séances du 16/09/2024 au 31/01/2025
- Période d'inscription : du 01/06/2024 à 08:00 au 30/11/2024 à 16:00
- Date de 1ère session d'examen : 10/02/2025
- Date de 2ème session d'examen : 18/08/2025
Précision sur la modalité pédagogique
- Une formation hybride est une formation qui combine des enseignements en présentiel selon un planning défini et des enseignements à distance avec ou sans planning défini.
Code UE : NFA006-MDG
- Cours
- 4 crédits
- Volume horaire de référence
(+ ou - 10%) : 40 heures
Responsable(s)
Cedric DU MOUZA