Algorithmes et structures de données (avancées) Cours 1+2

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Chapitre annexe. Récursivité
Cours Algorithmique et Analyse : Introduction
Initiation à la programmation et algorithmique cours 2
Algorithmes et structures de données avancées Cours 4
Algorithmes et structures de données avancées 6ème cours Patrick Reuter
Algorithmes et structures de données avancées 5ème cours Patrick Reuter
Algorithmes et structures de données avancées Cours 6 Patrick Reuter
Conception de Site Webs dynamiques Cours 5
Algorithmes et structures de données avancés
Algorithmes et structures de données 3ème cours Patrick Reuter
Algorithmes et structures de données
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 3
Algorithmes et structures de données Cours 10 Patrick Reuter
Algorithmes et structures de données Cours 7
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données Cours 1 Patrick Reuter
Algorithmes et structures de données 4ème cours
Algorithmes et structures de données 5ème cours
Algorithmes et structures de données Cours 9 Patrick Reuter
Algorithmes et structures de données avancées Cours 1+2+3
Algorithmes et structures de données Cours 2
Structures de données et complexité
Structures de données et complexité LIFO – FILO – FIFO – etc…
Introduction à l’Algorithmique
Algorithmique Résume.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
INTRODUCTION.
Dossier TICE Excel.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Initiation à la programmation et algorithmique cours 3
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Les bases de l’Algorithmique
Semaine #1 INF155 par Frédérick Henri.
Initiation à la programmation et algorithmique
La structure conditionnelle simple
Récursivité.
Introduction à l’algorithmique
Algorithmique et structure de données
Les éléments de base de l’algorithmique
ALGORITHMIQUE Plan du cours Généralités -définition -importance
Algorithmes Branch & Bound
II. Chaînage, SDD séquentielles
Les algorithmes: complexité et notation asymptotique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Introduction à l’algorithmique
Semaine #1 INF135 par Frédérick Henri.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Procédures et fonctions
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
L’essentiel du langage C
Animateur : Med HAIJOUBI
LA LOGIQUE ALGORITHMIQUE
Algorithmique Les structures Rappel L'enchaînement séquentiel
INTRODUCTION.
Un survol du language C.
Les tests.
Structures de contrôle
1 1 Huitième journée Quelques algorithmes. 2 Définition Description des tâches pour que celles-ci soient aisément programmables Différent d’une méthode.
Algorithmique : Introduction
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Algorithmique Boucles et Itérations
Algorithmique et programmation
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Transcription de la présentation:

Algorithmes et structures de données (avancées) Cours 1+2 Patrick Reuter http://www.labri.fr/~preuter

Déroulement CM mardi de 8h à 9h TD - Groupe 1 : mardi, 13h30 – 15h00 (rendre la feuille à la prochaine séance)

Motivation Niklaus Wirth, ETH Zuerich, 1976 « Algorithms + Data Structures = Programs »

Motivation 8.168.684.336 pages Comment ça marche ?

Motivation Structure de donnée: p.ex. fantôme couleur position direction aggressif ou pas ? Algorithmes: p.ex. mettre a jour le meilleur score p. ex. / ex:

Motivation Structure de donnée: - tableau a 2 dimension Algorithmes: - surtout I.A. a / à

Motivation Structure de donnée : File FIFO (First In First Out) Aussi: File à priorité

Motivation Structure de donnée : Pile LIFO (Last In First Out)

Motivation Structure de donnée : Arbre (pour l’élimination des parties cachées)

Motivation Structure de donnée : Graphe (pour plannifier des trajets) plannifier / planifier

Algorithme http://www.labri.fr/~preuter/asda2007 L'algorithmique est la science des algorithmes, visant à étudier les opérations nécessaires à la réalisation d'un calcul. René Descartes dans le Discours de la Méthode : « diviser chacune des difficultés que j'examinerois, en autant de parcelles qu'il se pourroit, et qu'il seroit requis pour les mieux résoudre. ». examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes

Algorithme Un algorithme est une méthode de résolution de problème énoncée sous la forme d'une série d'opérations à effectuer. examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes

Algorithme La mise en œuvre de l'algorithme consiste en l'écriture de ces opérations dans un langage de programmation et constitue alors la brique de base d'un programme informatique (implémentation, « codage ») examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes

Algorithme L'algorithme devra être plus ou moins détaillé selon le niveau d'abstraction du langage utilisé ; autrement dit, une recette de cuisine doit être plus ou moins détaillée en fonction de l'expérience du cuisinier. examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes

Exemple Trouver un numéro dans un annuaire par nom donnée

Exemple Trouver un nom dans un annuaire par numéro donnée

Structure de données Définition Wikipedia (12/9/2005) une structure logique destinée à contenir des données afin de leur donner une organisation permettant de simplifier leur traitement. Exemple : On peut présenter des numéros de téléphone * - par département, - par nom - par profession (pages jaunes), - par numéro téléphonique (annuaires destinés au télémarketing), - par rue et/ou - une combinaison quelconque de ces classements. À chaque usage correspondra une structure d'annuaire appropriée.

Ingrédients d’algorithmes Variables : nombre y i patrick x1 Mais non pas : 3x entrée

Ingrédients d’algorithmes Affectation Condition/Comparaison Appel de fonction Structure de contrôle Branchements conditionnels (multiples) Boucles Bloc d’instruction

Ingrédients d’algorithmes Affectation a := 7; score := 0; score := score + 100; gameover := FAUX; Note: Affectation d’une seule variable avec un valeur. La variable à affecter figure à gauche, la valeur à droite Faux: a+b := 6; 7 := c; un valeur / une valeur

Ingrédients d’algorithmes Condition/Comparaison a = 7 absent = FAUX malade = VRAI OU vacances = VRAI score > highscore; … Note: Le résultat d’une condition/comparaison peut être uniquement soit VRAI, soit FAUX

Ingrédients d’algorithmes Appel de fonction, p.ex. afficher(« Bonjour tout le monde »); resultat := racine_carre(16);

Ingrédients d’algorithmes Structure de contrôle Branchements conditionnels SI <condition> ALORS <bloc d’instructions> SINON

Ingrédients d’algorithmes Structure de contrôle Branchements conditionnels SI <condition> ALORS <bloc d’instructions> SINON Exemple: SI (score>meilleur_score) ALORS meilleur_score := score;

Ingrédients d’algorithmes Structure de contrôle Branchements conditionnels SI <condition> ALORS <bloc d’instructions> SINON Exemple: SI (score>meilleur_score) ALORS meilleur_score := score; En PASCAL : IF (score>meilleur_score) THEN meilleur_score := score;

Ingrédients d’algorithmes Structure de contrôle Branchements conditionnels multiples CAS mois DE      ‘1': nom := « Janvier » ;      ‘2': nom := « Février » ;      ‘3': nom := « Mars » ;      ‘4': nom := « Avril » ;      ‘5': nom := « Mai » ; ….      ‘12': nom := « Décembre » ;    AUTREMENT      afficher('Erreur dans le mois') ;  FIN CAS;

Ingrédients d’algorithmes Structure de contrôle Boucle Définition : Suite d’instructions qui peut être exécuté plusieurs fois (itération) exécuté / exécutée

Ingrédients d’algorithmes Structure de contrôle Boucle TANT QUE <condition> FAIRE <bloc d’instructions> FIN TANT QUE ou FAIRE TANT QUE <condition>