Aller au contenu principal

Python – Algorithmique

Date de mise à jour :
Identifiant Offre Info : 03_251258029F
Organisme responsable : Data Value (ouvre dans un nouvel onglet)

Nouvelle recherche

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…

- 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
  • Files et piles
  • Skip list
  • Listes chaînées
  • Arbres et graphes
Travaux pratiques :
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
Travaux pratiques :
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, …
Travaux pratiques:
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
Travaux pratiques :
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
Travaux pratiques :
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

- 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

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

    Programme : Entreprise, Individuel (AIF, POEI, Région individuel, autofinancement)

    Publics : Tout développeur ou scientifique ayant une expérience du langage Python

  • Entreprise

    Programme : Entreprise, Individuel (AIF, POEI, Région individuel, autofinancement)

    Publics : Tout développeur ou scientifique ayant une expérience du langage Python

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épublique
69002 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