cursus.
Licence 1 · 5 cours · 10 leçons · 55 h

Algorithmique 2

Passer de « comment écrire un algorithme » à « quelle structure choisir » : récursivité, diviser pour régner, listes, arbres, graphes.

Commencer : Principe et mécanisme de la récursivité
0 % · 0 / 10 leçons
  1. C1

    Récursivité

    2 leçons · 12 h
    Non commencé

    Objectif. Écrire une fonction qui s'appelle elle-même, prouver qu'elle s'arrête, et surtout savoir dérouler sa pile d'appels — sans quoi tout le reste du semestre reste opaque.

    1. Principe et mécanisme de la récursivitéVous êtes iciCas de base et cas récursif, déroulé de la pile d'exécution, preuve de terminaison ; récursivité simple, multiple, croisée et terminale ; coût mémoire des appels.7 h · en cours
    2. Récursif contre itératifTransformer une boucle en récursion et l'inverse ; quand la récursion clarifie et quand elle coûte ; les appels redondants de Fibonacci naïf.5 h · non commencée
  2. C2

    Diviser pour régner

    2 leçons · 12 h
    Non commencé

    Objectif. Couper un problème en deux, résoudre les moitiés, recoller — et savoir calculer ce que cette stratégie coûte réellement.

    1. Tris efficacesTri fusion — découpe, fusion, stabilité — et tri rapide — partitionnement, choix du pivot, pire cas ; comparaison expérimentale avec les tris élémentaires.8 h · non commencée
    2. Analyse des algorithmes récursifsÉquations de récurrence, résolution par déroulement et par arbre d'appels ; pourquoi n log n est la borne des tris par comparaison ; dichotomie récursive.4 h · non commencée
  3. C3

    Structures de données linéaires

    2 leçons · 12 h
    Non commencé

    Objectif. Cesser de tout mettre dans un tableau : choisir une structure d'après les opérations qu'on va lui demander, et payer le bon prix.

    1. Listes chaînéesCellule et chaînage, listes simplement et doublement chaînées, insertion, suppression, parcours ; coûts comparés au tableau ; listes circulaires.7 h · non commencée
    2. Piles et filesLIFO et FIFO, implémentation par tableau et par liste ; évaluation d'expressions, parenthésage, pile d'appels, files d'attente.5 h · non commencée
  4. C4

    Arbres

    2 leçons · 11 h
    Non commencé

    Objectif. Passer du linéaire au hiérarchique, et obtenir en log n ce qui coûtait n — à condition que l'arbre reste équilibré.

    1. Arbres binairesRacine, nœud, feuille, hauteur ; représentations ; parcours préfixe, infixe, suffixe et en largeur ; arbre d'expression.6 h · non commencée
    2. Arbres de recherche et tasABR : insertion, recherche, suppression, dégénérescence et équilibrage en survol ; tas binaire, file de priorité et tri par tas.5 h · non commencée
  5. C5

    Graphes et paradigmes

    2 leçons · 8 h
    Non commencé

    Objectif. Modéliser ce qui n'est ni linéaire ni hiérarchique, puis prendre du recul sur trois grandes manières de chercher une solution.

    1. GraphesMatrice et listes d'adjacence, parcours en profondeur et en largeur, connexité, détection de cycle, plus court chemin en nombre d'arêtes, Dijkstra en introduction.5 h · non commencée
    2. Paradigmes algorithmiquesAlgorithme glouton et rendu de monnaie, retour sur trace, et première approche de la programmation dynamique par mémoïsation.3 h · non commencée