La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

S TRUCTURES D E D ONNÉES Introduction à l’algorithmique et aux structures de données 1.

Présentations similaires


Présentation au sujet: "S TRUCTURES D E D ONNÉES Introduction à l’algorithmique et aux structures de données 1."— Transcription de la présentation:

1 S TRUCTURES D E D ONNÉES Introduction à l’algorithmique et aux structures de données 1

2  A propos du sujet L’organisation du cours I. Introduction 2

3 Plan de séance  De quoi est-il question ?  Algorithme & SDD : dualité  Culture G : histoire et anecdotes  Enjeux et principes de l’algorithmique  Session SDD 2011  Programme  Méthode pédagogique  Quelques repères : cours, TD, TP, …  Evaluation, coefficients  Ce qui change par rapport à 2010  Equipe pédagogique  Pour approfondir : bibliographie 3

4 Algorithme  But : effectuer une opération complexe  Données en entrée  Production d’un résultat : données en sortie  Moyen : succession d’opérations élémentaires  Méthode systématique, déterministe  Implique une façon de structurer les données à manipuler  Equifinalité  Plusieurs méthodes possibles  Elles ne se valent pas toutes  ENJEU : la performance ! IntroSujetAlgo & SDD 4

5 Structure de donnée  Organisation des données à manipuler  Deux grandes familles élémentaires  Structures séquentielles  Structures arborescentes  Plus généralement… les graphes  La structure appelle la méthode de traitement  SDD séquentielles : traitement naturellement itératif  SDD arborescentes : traitement naturellement récursif IntroSujetAlgo & SDD 5

6 Etude de cas  Deux exemples issus de l’algorithmique numérique  Arithmétique  But : addition et multiplication  SDD : Numération de position vs. TFA  A vous de jouer avec = 72 et = 108  Polynômes  But : Evaluer un polynôme  SDD : Polynôme développé vs. factorisé  Problème : factoriser est difficile  Solution : Algorithme de Horner IntroSujetAlgo & SDD 6

7 A retenir  Algorithme et SDD sont indissociables  Se conçoivent ensemble  Répondent à un même but  Réaliser une opération complexe  De la manière la plus performante possible  Pour approfondir (niveau ontologique)  definition.php definition.php IntroSujetAlgo & SDD 7

8 Algorithme : origine étymologique IntroSujetCulture G  Al Khawarizmi,  Le Diophante perse  Chiffres indiens  Œuvre :..Al-jabr.. (825)  Résolution d’équations  Méthode systématique  Condition d’arrêt  Structure algébrique 8

9 Algorithme : l’archétype antique IntroSujetCulture G  Euclide, av. JC  Les Eléments (livre 7)  Algorithme d’Euclide  Calcul du PGCD  Intuition géométrique  Simplicité : 1 ligne  Efficacité : O(n)  Généricité : entiers, polynômes, etc. 9

10 Algorithme : l’archétype antique En langage algorithmiqueExemple de traduction en C IntroSujetMéthode unsigned gcd(unsigned a, unsigned b) { if (b == 0) return a; else return gcd(b, a % b); // ou // return b ? gcd(b, a % b) : a; } Elaborer (schématiser, tâtonner, intuiter) Spécifier (langage algorithmique) Implémenter (langage de programmation) 10

11 Et bien avant Euclide IntroSujetCulture G  Babyloniens  2000 à 500 av. JC  Algorithmes pratiques  Astronomie  Economie  Mathématiques  Numération sexagésimale  Triplets pythagoriciens 1000 ans avant Pythagore  Résolution d’équations  Elévation à la puissance 11

12 Et bien avant Euclide IntroSujetCulture G  Os d’Ishango  ~20000 av. JC  De nature arithmétique  Associé à un procédé  Lequel ? 12

13 L’art d’opérer avec efficacité  Rappel de la motivation historique  Le calcul : astronomie, économie, mathématique  Ishango, les babyloniens, Euclide et les autres  Enjeu : la performance (minimiser la complexité)  Temporelle, spatiale  Equifinalité, optimalité difficile à prouver  Nombreux problèmes ouverts  L’algorithmique est un domaine de recherche très actif  Plutôt un art qu’une science  Mais un art scientifique  A rapprocher des arts tactiques en général  Astuce et sagacité : une anecdote : Karatsuba IntroSujetEnjeu 13

14 Une anecdote contemporaine IntroSujetCulture G  Kolmogorov,  Monstre sacré  Conjecture de 1952  Multiplication ≥ O(n 2 )  Conférence de 1960  Karatsuba,  Simple étudiant  Réfutation : O(n 1,58 )  Nouveau paradigme « diviser pour régner » 14

15  Multiplication de deux nombres en numération de position  Nombres de 2n chiffres  Décomposition en deux moitiés  Représentation algébrique de la multiplication naïve  Les multiplications sont plus coûteuses que les additions  Version naïve : 4 multiplications intermédiaires  Forme équivalente de Karatsuba  Complexification Mémorisation et réutilisation de résultats intermédiaires Ajout de 3 opérations additives supplémentaires  On tombe à 3 multiplications !  Application récursive du procédé : O(n 2 )  O(n 1,58 ) Une anecdote contemporaine IntroSujetCulture G 15


Télécharger ppt "S TRUCTURES D E D ONNÉES Introduction à l’algorithmique et aux structures de données 1."

Présentations similaires


Annonces Google