Bases & algorithmique · 6 mondes · 18 étapes

Algorithmique

Apprendre à penser un problème, en Python, dans le navigateur.

Progression

0 %

0/18 étapes terminées

Mode 3

Huit semaines, un plan clair

Chaque semaine a son thème, ses concepts clés, ses exercices pratiques et un jalon pour mesurer ta progression. Compte quatre à cinq heures par semaine.

« Conçois un programme structuré. Inclus les thèmes semaine par semaine, les concepts clés, les exercices pratiques et les jalons pour mesurer ma progression jusqu'à la maîtrise avancée. »

SEM.1

2 à 3 h · 2 leçons + jalon

Penser en étapes

0/3

Objectifs

  • Décomposer un problème en étapes exécutables
  • Dérouler un algorithme à la main
  • Identifier les cas limites

Concepts clés

  • Entrée, traitement, sortie
  • Finitude et déterminisme
  • Accumulateur et compteur
  • Tableau de trace

Exercices pratiques

  • Le poids total du tapis
  • Le maximum sans max()
  • Le tableau des scores

BossTrouver le meilleur score et sa position, en un seul parcours.

SEM.2

3 h · 2 leçons + jalon

Chercher

0/3

Objectifs

  • Écrire une recherche linéaire complète
  • Écrire une recherche dichotomique
  • Comprendre le prix du tri

Concepts clés

  • Convention du -1
  • break et coût
  • debut, fin, milieu
  • Division entière

Exercices pratiques

  • Le badge dans le désordre
  • L'annuaire trié
  • Le portique de l'entrepôt

BossUn portique qui répond en quatre lectures au lieu de huit.

SEM.3

3 h · 2 leçons + jalon

Compter les opérations

0/3

Objectifs

  • Instrumenter un algorithme
  • Reconnaître une complexité en lisant du code
  • Comparer deux méthodes par un chiffre

Concepts clés

  • Compteur d'opérations
  • Pire cas
  • O(1), O(log n), O(n), O(n log n), O(n²)
  • Terme dominant

Exercices pratiques

  • Les comparaisons de doublons
  • Gauss contre la boucle
  • Le duel des deux méthodes

BossProuver par le comptage qu'une méthode en vaut une autre.

SEM.4

3 à 4 h · 2 leçons + jalon

Trier

0/3

Objectifs

  • Implémenter le tri par sélection
  • Implémenter le tri par insertion
  • Utiliser sorted() à bon escient

Concepts clés

  • Échange de deux cases
  • Minimum du reste
  • Décalage et insertion
  • Meilleur cas linéaire

Exercices pratiques

  • Les colis du quai
  • Le tapis presque trié
  • Les trois meilleures offres

BossDeux tris écrits à la main, puis le bon outil choisi.

SEM.5

3 à 4 h · 2 leçons + jalon

La récursivité

0/3

Objectifs

  • Écrire une fonction récursive avec son cas de base
  • Comprendre la pile d'appels
  • Mémoïser un calcul répété

Concepts clés

  • Cas de base et cas récursif
  • RecursionError
  • Diviser pour régner
  • Cache et arbitrage temps/mémoire

Exercices pratiques

  • La somme récursive
  • Fibonacci mémoïsé
  • Les poupées russes

BossAdditionner une structure imbriquée de profondeur quelconque.

SEM.6

3 h · 2 leçons + jalon

La boîte à outils

0/3

Objectifs

  • Compter et indexer avec un dictionnaire
  • Appliquer une stratégie gloutonne
  • Utiliser deux pointeurs sur une liste triée

Concepts clés

  • Hachage et O(1)
  • get(cle, defaut)
  • Glouton et son domaine de validité
  • Deux pointeurs

Exercices pratiques

  • La pièce la plus demandée
  • La paire qui fait 100
  • La caisse de l'atelier

BossRendre la monnaie avec le minimum de pièces.