Algorithmique initiation
Lot 4 - Développement - Développement logiciel- Référence 4-048
Formation créée le 10/12/2024. Dernière mise à jour le 12/01/2026.Version du programme : 1
Type de formation
PrésentielDurée de formation
24 heures (4 jours)Algorithmique initiation
Lot 4 - Développement - Développement logiciel- Référence 4-048
Objectif général: À l’issue de la formation, les participants seront capables de comprendre et de concevoir des algorithmes fondamentaux, en maîtrisant les structures de données essentielles et en appliquant ces concepts à des problèmes concrets tels que les tris, les graphes et les arbres. Modalité : Toutes les modalités (présentiel, classe virtuelle et hybride) sont possibles Lieu possible de réalisation : Locaux du bénéficiaire ou locaux d’Ascent Formation, en France métropolitaine et dans les DROM-COM Nombre maximal de participants : 20 Niveau SAME visé : Application(A) Compétences visées Comprendre les grands algorithmes de tri et leurs complexités. Maîtriser les structures de données essentielles (tableaux, listes, piles, files). Concevoir des algorithmes pour résoudre des problèmes sur des graphes et des arbres.
Objectifs de la formation
- Analyser et comprendre le fonctionnement des principaux algorithmes de tri.
- Appliquer les structures de données appropriées pour optimiser les solutions algorithmiques.
- Résoudre des problèmes complexes à l’aide d’algorithmes sur les graphes et les arbres.
Profil des bénéficiaires
- Développeurs souhaitant renforcer leurs compétences en algorithmique.
- Étudiants ou professionnels en informatique ayant besoin de bases solides en algorithmique.
- Toute personne souhaitant apprendre les concepts fondamentaux pour résoudre des problèmes complexes en programmation.
- Connaissances élémentaires en programmation (variables, boucles, conditions).
- Familiarité avec au moins un langage de programmation (Python, Java, C, etc.).
Contenu de la formation
Jour 1 : Introduction à l’algorithmique et aux algorithmes de tri (6 heures)
- Introduction à l’algorithmique (2 heures) Définition d’un algorithme et importance en développement logiciel. Mesures de complexité : complexité temporelle et spatiale (notation O). Travaux pratiques : Analyse de la complexité de différents exemples simples.
- Les grands algorithmes de tri (4 heures) Tri par sélection, tri par insertion, tri à bulles. Algorithmes avancés : tri rapide (QuickSort), tri fusion (MergeSort). Comparaison des performances des algorithmes de tri. Travaux pratiques : Implémentation et comparaison de plusieurs algorithmes de tri.
Jour 2 : Structures de données essentielles (6 heures)
- Introduction aux structures de données (2 heures) Tableaux, listes chaînées, piles et files : définition et utilisations. Choisir la structure adaptée en fonction du problème. Travaux pratiques : Implémentation de piles et files pour résoudre des problèmes simples.
- Algorithmes associés aux structures de données (2 heures) Parcours, recherche, et insertion dans les structures. Gestion efficace de la mémoire avec les listes chaînées. Travaux pratiques : Développement d’un gestionnaire de données avec une liste chaînée.
- Optimisation des solutions (2 heures) Utilisation des hashmaps et des arbres binaires de recherche. Travaux pratiques : Implémentation d’un arbre binaire simple pour organiser des données.
Jour 3 : Graphes et algorithmes associés (6 heures)
- Introduction aux graphes (2 heures) Notions fondamentales : sommets, arêtes, types de graphes (orientés/non-orientés, pondérés). Représentation des graphes : matrices d’adjacence, listes d’adjacence. Travaux pratiques : Construire un graphe à partir de données d’un problème.
- Algorithmes fondamentaux sur les graphes (2 heures) Parcours en profondeur (DFS) et en largeur (BFS). Applications : détection de cycles, chemins les plus courts (Dijkstra). Travaux pratiques : Implémenter et tester des algorithmes DFS et BFS sur un graphe.
- Problèmes classiques sur les graphes (2 heures) Arbres couvrants minimums (algorithme de Kruskal, Prim). Travaux pratiques : Développer un algorithme pour construire un arbre couvrant minimum.
Jour 4 : Arbres et conception avancée d’algorithmes (6 heures)
- Introduction aux arbres (2 heures) Arbres binaires, arbres binaires de recherche, arbres équilibrés. Traversées d’arbres : préfixe, infixe, suffixe. Travaux pratiques : Implémenter une traversée infixe sur un arbre binaire.
- Applications des arbres (2 heures) Algorithmes de compression (ex. Huffman). Arbres d’expression pour l’analyse de données. Travaux pratiques : Construire un arbre d’expression à partir d’une formule mathématique.
- Projet final et validation des acquis (2 heures) Résolution d’un problème complexe en combinant graphes et arbres. Débriefing et validation des acquis par le formateur.