Algorithmique avancée

Durée2h30

Présentation & objectifs

De nombreux problèmes peuvent être résolus de manière algorithmique. Après plusieurs décennies de recherche de solutions algorithmiques efficaces, certaines familles de techniques ont émergé. Les nouveaux problèmes ne sont généralement rien de plus que des cas particuliers de problèmes anciens et bien connus.

Cette session vous initiera à un certain nombre de stratégies algorithmiques existantes ainsi qu’aux situations de résolution de problèmes où elles s’appliquent. Vous découvrirez les techniques suivantes : diviser pour régner, mémoïsation, programmation dynamique et approches gloutonnes.

Avant la session

Pour pouvoir commencer l’activité pratique de manière efficace, familiarisez-vous avec les notions manipulées lors de la session en consultant les documentations suivantes :

Vous pouvez vérifier votre compréhension de ces articles ici :

Exigences techniques

Pour pouvoir commencer à travailler sur l’activité, vous devez répondre aux exigences suivantes :

Pendant la session

Préparation à l’activité pratique

Commençons par vérifier que vous maîtrisez les concepts de base de la POO et de la syntaxe Python.

Activité pratique

Le reste de la session est consacré à une activité pratique. Quand vous êtes prêt, cliquez sur le lien ci-dessous pour commencer :

Après la session

Compléter la session en cours

Avant la prochaine session, vous devriez :

  • Revoir le contenu des articles ci-dessus.
  • Compléter les parties non optionnelles de l’activité pratique.

Préparer la session suivante

De plus, vous devriez :

  • Consulter la section “Avant la session” de la session suivante, et vous assurer de faire tout ce qui est requis pour la préparer.
  • La session suivante commencera par un QCM évalué, qui évalue votre compréhension des sessions d’algorithmique 1, 2, 3 et 4.