Algorithmique et programmation 2 / Algorithms and programming

Diplômes intégrant cet élément pédagogique :

Descriptif

Ce cours présente et approfondit le paradigme de la programmation impérative. Il donne aux étudiants les outils pour modéliser des situations complexes et concevoir des solutions efficaces.

À l'issue de cet enseignement, l'étudiant sera capable de maîtriser la programmation avancée en langage C :

- Manipuler des fichiers textes et binaires
- Manipuler des pointeurs
- Manipuler les arguments de la ligne de commande
- Déterminer le coût en temps des algorithmes dans le pire des cas
- Élaborer des algorithmes récursifs
- Manipuler les structures de données complexes du langage C

 

1. Pointeurs, allocation dynamique, Makefile et manipulation des fichiers

2. Récursivité : appels de sous-programmes et la pile d'exécution, paradigme « diviser pour régner »

3. Algorithmes de tri et leur complexité : tri par sélection, tri rapide, tri par insertion séquentielle, tri fusion

4. Structures de données élémentaires : Liste, Ensemble, Pile, File

5. Listes chaînées : simplement chaînées, doublement chaînées

6. Arbres : arbres binaires, arbres binaires de recherche

 

Pré-requis recommandés

- Cours "ALGORITHMIQUE ET PROGRAMMATION 1" (IESE3)

- Connaissance des bases de la compilation

- Maîtrise de l'environnement de programmation Linux

Bibliographie

"Types de données et Algorithmes" par Christine Froidevaux, Marie-Claude Gaudel et Michèle Soria

"Le langage C - Norme ANSI" par Brian W. Kernighan et Dennis M. Ritchie

Informations complémentaires

Lieu(x) : Grenoble
Langue(s) : Français