Python - algorithmique
Date de mise à jour :
Identifiant Offre Info : 14_AF_0000180450
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 Compétences visées - Mesurer la complexité d'un algorithme avec la notation BigO - Choisir les algorithmes et les structure de données les plus adaptés à ses problèmes et la volumétrie de ses données…
Compétences visées
- Mesurer la complexité d'un algorithme avec la notation BigO
- 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
Programme de la formation
Programme - 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…
- 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
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
Type de formation
Non certifiante
Niveau de sortie
Sans niveau spécifique
Durée, rythme, financement
Durée
En centre
35 h
Financement
- Conventionnement
- Non
Conditions d'accès
Public visé
- 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
54 Rue du Faubourg Saint-Antoine75012 Paris 12e
Responsable : A&O Expertise
Périodes prévisibles de déroulement des sessions
Début
Fin
- Adresse d'inscription
-
Data Value
31670 Labège - État du recrutement
- Ouvert
- Modalités
- Entrées / Sorties à dates fixes