Python – Algorithmique
Date de mise à jour :
Identifiant Offre Info : 03_251258029F
Organisme responsable :
Data Value
(ouvre dans un nouvel onglet)
Présentation de la formation
Objectifs
Développer une expertise avancée en algorithmique avec Python en maîtrisant la complexité des algorithmes, les structures de données adaptées, la récursivité, les graphes et les arbres, afin d'optimiser les performances des programmes et de résoudre efficacement des problèmes complexes
Programme de la formation
- Complexité des algorithmes : 0,5 jour Comprendre la notation BigO Mesurer la complexité d'un algorithme Premières techniques pour diminuer la complexité d'un algorithme Travaux pratiques : Calcul et véri?cation par la mesure de la complexité de plusieurs algorithmes. Simpli?cation d'un algorithme de complexité quadratique pour le rendre linéaire. - Rappels et manipulation de base des structures de données: 0,5 jour Tableaux indicés Tableaux associatifs/dictionnaires…
- Comprendre la notation BigO
- Mesurer la complexité d'un algorithme
- Premières techniques pour diminuer la complexité d'un algorithme
Calcul et véri?cation par la mesure de la complexité de plusieurs algorithmes. Simpli?cation d'un algorithme de complexité quadratique pour le rendre linéaire.
- Rappels et manipulation de base des structures de données: 0,5 jour
- Tableaux indicés
- Tableaux associatifs/dictionnaires
- Files et piles
- Skip list
- Listes chaînées
- Arbres et graphes
Création, modi?cation, recherche, insertion, suppression d'éléments avec chaque structure et mesure de leurs complexités respectives.
- Récursivité: 0,5 jour
- Prise en mains et cas d'utilisations: suites numériques, analyseurs syntaxiques, parcours d'arbres, …
- Bien comprendre la récursivité
- Mise en oeuvre top down et bottom up
- Limites
Implémentation et explication de nombreux cas pratiques: suite numérique, tour de Hanoï, création d'un analyseur syntaxique, trouver toutes les solutions du jeu le compte est bon
- Les graphes: 1,5 jour
- Dé?nition d'un graphe, nœuds, arrêtes, directionnels, …
- Pourquoi utiliser un graphe
- Exemples d'algorithmes : recherche de relations, du plus court/long chemin, problème du voyageur de commerce, …
- Matrice d'adjacence
- Visualiser un graphe
- Parcourir un graphe
- Recherche dans un graphe
- Graphes pondérés
- Présentation et mise en œuvre d'algorithmes: Djikstra, chemins hamiltoniens, 2-opt, …
Implémentation de la recherche du plus court chemin (et son tracé) dans un graphe de dimension réelle de toutes les rues de Paris. Recherche et parcours d'informations.
- Les arbres: 1 jour
- Dé?nition d'un arbre
- Présentation des arbres binaires: parcours en ordre, pré?xé et post?xé
- Recherche dans un arbre binaire
- Insertion et suppression
- Utilisation d'arbres Trie/m-aire
Création, manipulation et recherche dans des arbres.
- Application à des problèmes réels : 1 jour
- Mise en œuvre de di?érents algorithmes de tri et de recherche
- Création d'un analyseur syntaxique et d'un interpréteur
- Résolution d'anagrammes
- Jeu du labyrinthe : génération et résolution
De nombreux autres exercices et jeux : astéroïdes, somme maximale dans une pyramide, recherche d'un point d'équilibre, programmation sans branche, somme de pièces, mémoïsation, la mine d'or,…
Validation et sanction
- Choisir les algorithmes et les structure de données les plus adaptés à ses problèmes et la volumétrie de ses données
- Appliquer des techniques d'optimisation de code et de réduction de complexité
- Utiliser la récursivité
- Manipuler efficacement des graphes et des arbres
- Rechercher et ordonner des données
- Appliquer des solutions à des problèmes complexes
Type de formation
Non certifiante
Niveau de sortie
Sans niveau spécifique
Durée, rythme, financement
Modalités pédagogiques
Pédagogie active mêlant exposés, exercices et applications pratiques dans le logiciel Python.
Durée
En centre
35 h
Financement
- Conventionnement
- Non
- Financeurs
-
- Bénéficiaire de l'action
- Entreprise
Conditions d'accès
Publics visés
- Salarié
- Tout public
Informations sur les publics
Tout développeur ou scientifique ayant une expérience du langage Python
Niveau d'entrée
Sans niveau spécifique
Conditions spécifiques et prérequis
Pour suivre ce stage dans de bonnes conditions, il est recommandé d'avoir suivi en amont la formation Python – Bases et introduction aux librairies scientifiques ou d'avoir atteint par la pratique un niveau équivalent
Lieu de réalisation de l'action
Modalités d'enseignement
Formation entièrement en présentielle
Adresse
33 Rue de la République69002 Lyon 2e
Responsable : ASI
Périodes prévisibles de déroulement des sessions
Début
Fin
- Adresse d'inscription
-
41 Rue de la Découverte
31670 Labège - État du recrutement
- Ouvert
- Modalités
- Entrées / Sorties à dates fixes