Exponentiaition rapide ; PGCD, représentation de fractions rationnelles, opération sur les fractions ; méthode de conversion esperluette.
Calcul de moyenne, recherche de maximum, tri fusion, algorithme glouton, recherche de plus court chemin, algorithme de Dijkstra uni- et bidirectionnel, terminaison et correction d'algorithme.
Algorithmes gloutons : rendu de monnaie, problème du sac à dos, réservation de salle.
Algorithme de Dijsktra, algorithme A* ; recherche de plus court chemin dans une ville, minimisation d'un temps de trajet avec contrainte.
Listes et matrices d'adjacences, dictionnaires ; piles et files.
Parcours en largeur, parcours en profondeur ; parcours d'un graphe depuis une liste, une matrice, un dictionnaire d'adjacence ou à partir d'une fonction voisins()
Connexité ; recherche de circuit, recherche de cycle ; construction de labyrinthe parfait.
Tris en O(n²) : bulle, sélection, cocktail, peigne ; tris en O(n.log(n)) : fusion, rapide ; autres tris : crêpier ; un problème de concours : marche auto-évitante.
Séance 1 : tableaux numpy, résolution d'équations différentielles, circuit RL, pendule simple, volant de abdminton, propagation d'une épidémie, éuqation d'onde.
Séance 2 : tableaux numpy à 2 dimensions, matrices, manipulations d'images, rotation d'un scan
Effet de bord, modification de liste. Modèle simplifié du périphérique.
Algorithmes dichotomiques : recherche d'éléments dans une liste triée, exponentiation rapide, recherche du zéro d'une fonction.
Parcours de tableau, recherche d'éléments, recherche de paires les plus proches, calcul de distance en norme 1, recherche de contact ; méthode d'Euler.
Boucles imbriquées et complexité ; recherche d'élément, recherche de doublons, recherche de valeurs plus proches, tris en O(n²), mot dans un texte ; recherche de gènes ; décodage d'une image.
Tracer des courbes à l'aide du module matplotlib.pyplot. Tracé d'une courbe représentative d'une fonction. Tracé d'une dérivée. Tracé d'une courbe à partir d'un fichier texte. Tracé la solution d'une équation différentielle résolue par la méthode d'Euler.
Advent of Code : listes, fonctions ; recherche de minimum, recherche d'élément, tri, nombres d'apparition, calcul de somme, liste de listes...
De multiples petits exercices de bases, classiques, pour faire le bilan des premiers TPs et préparer au mieux le prochain devoir et la suite de l'année.
Listes, uplets ; fonction ; recherche d'un élément, calcul d'une moyenne, recherche de maximum et de second maximum ; modélisation d'une épidémie
(Sujet, doc réponse, corrigé)
Boucles for et while, instructions conditionnelles ; calculs de somme, de terme d'une suite ou d'une série ; chaînes de caractères, indexation, accès par tranche ; recherche d'un caractère, construction de chaînes, décodage.
Chaînes de caractères, définition, concaténation, indexation, accès par tranche : parcours par valeur, parcours par position ; lipogramme, anagramme, addition xor ; jeu du motus, suite auioactive de Conway, master mind...
Pyzo ; python comme une calculatrice ; fonctions mathématiques ; variable, type, échange ; fichiers .py ; boucle inconditionnelle for ; calculs de sommes et de produits.