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.

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Chapitre annexe. Récursivité
Initiation à la programmation et algorithmique cours 4
Algorithmique (suite)
Portée des variables VBA & Excel
Algorithmes et structures de données
Fonctions & procédures
Utiliser les calculatrices en classe. 1. Introduction et choix de loutil Deux stratégies dutilisation sont possibles ; elles peuvent même être utilisées.
Sensibilisation à l’Algorithmique et structure de données
Calculs de complexité d'algorithmes
Les Algorithmes de tri.
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Chapitre 6: Les procédures et les fonctions
CHAPITRE 2 Nombres entiers, initiation à l’arithmétique- Nombres rationnels.
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
Journées inter académiques - 1 et 2 décembre 2011.
Chap. 1 Structures séquentielles : listes linéaires
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Utilisation des tableaux
Introduction à la programmation (420-PK2-SL) cours 17 Gestion des applications Technologie de linformation (LEA.BW)
ALGORITHMES RECURSIFS
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.
Algorithmique et structure de données
Arbre binaire de recherche
Chapitre VII. Tri Tri par tas Tri rapide.
Methode de Tri efficace
TD2 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Nombres entiers. Ensembles de nombres
Introduction à l’algorithmique
Une nouvelle structure de données : les tableaux
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
STRUCTURES DE DONNÉES Maxime CROCHEMORE

Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Les Algorithmes de Tri Introduction Tri par Sélection
Table de hachage Introduction Notion de clé Fonction de hachage
Algo-Prog en Ada TD2 2 IMACS Romaric GUILLERM
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
ALGORITHMIQUE Recherches : Tris : séquentielle, dichotomique
Le chiffrement asymétrique
Chapitre 6 Les traitements avancés
Problème de 8 reines Sachant que dans un jeu d'échecs, une dame peut pendre toute pièce se trouvant sur la même colonne ou sur la même ligne ou sur une.
Algorithmes de tri et de recherche
Décomposition et paramétrage des algorithmes
Méthodes de tri.
Cours 4 - Trois algorithmes de recherche dans un tableau
Structures de contrôle
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Les tris Tri Action de mettre une structure de données en ordre (croissant ou décroissant). Le plus simple est d’insérer en ordre. Les algorithmes de tri.
Organisation des données Introduction à la programmation Traitements simples Affectation Parcours Définition du tableau Les Tableaux Mise en situation.
Cours LCS N°4 Présenté par Mr: LALLALI
Algorithme Calcul du PGCD Euclide.
Algorithme des différences
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
Algorithme des différences Fraction irréductible
Cours 5 - Trois algorithmes de tri d'un tableau
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
La pile de crêpes.
Algorithmique Tableaux de données
Structures de données IFT-2000
Introduction à la programmation (420-PK2-SL) cours 16 Gestion des applications Technologie de l’information (LEA.BW)
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
© Fujitsu Canada Introduction à Minitab Version 14 - Anglais Formation Black Belt Lean Six Sigma.
Les tris Tri Action de mettre une structure de données en ordre (croissant ou décroissant). Le plus simple est d’insérer en ordre. Les algorithmes de tri.
Transcription de la présentation:

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 de résolution mathématique utilisant le raisonnement  doit être un calcul Procédure calculatoire (recette effective en temps fini) suffisamment détaillée pour permettre son implémentation par un développeur sans que celui-ci n’ait a faire de supposition sur le programme et son comportement. Description des tâches pour que celles-ci soient aisément programmables Différent d’une méthode de résolution mathématique utilisant le raisonnement  doit être un calcul Procédure calculatoire (recette effective en temps fini) suffisamment détaillée pour permettre son implémentation par un développeur sans que celui-ci n’ait a faire de supposition sur le programme et son comportement.

3 Problème numéro 1 Chercher si une valeur est présente dans un tableau Très utile Chercher si une valeur est présente dans un tableau Très utile

4 Recherche linéaire On parcourt le tableau en partant du premier élément, jusqu’au dernier si nécessaire. –On compare la valeur de la cellule avec la valeur cible –Si cet élément est la valeur cible, l’élément recherché a été trouvé Si l’élément recherché n’a pas été trouvé, il n’est pas dans le tableau On parcourt le tableau en partant du premier élément, jusqu’au dernier si nécessaire. –On compare la valeur de la cellule avec la valeur cible –Si cet élément est la valeur cible, l’élément recherché a été trouvé Si l’élément recherché n’a pas été trouvé, il n’est pas dans le tableau

5 Recherche dichotomique Présuppose que le tableau est trié. Tant que l’élément cible n’est pas trouvé et que le tableau n’est pas vide –On va directement au milieu du tableau. –On compare cet élément avec la cible. –Si celui-ci est différent mais plus petit que la cible, on continue avec la partie droite du tableau –Sinon si celui-ci est différent mais plus grand que la cible, on continue avec la partie gauche du table –Sinon l’élément cible est trouvé. Si le tableau est vide, la cible n’appartient pas au tableau Sinon il y appartient Présuppose que le tableau est trié. Tant que l’élément cible n’est pas trouvé et que le tableau n’est pas vide –On va directement au milieu du tableau. –On compare cet élément avec la cible. –Si celui-ci est différent mais plus petit que la cible, on continue avec la partie droite du tableau –Sinon si celui-ci est différent mais plus grand que la cible, on continue avec la partie gauche du table –Sinon l’élément cible est trouvé. Si le tableau est vide, la cible n’appartient pas au tableau Sinon il y appartient

6 Problème numéro 2 Trier un tableau –On a un tableau qui possède des valeurs dans le désordre –Comment les remettre en ordre dans le même tableau ou dans un tableau différent. Trier un tableau –On a un tableau qui possède des valeurs dans le désordre –Comment les remettre en ordre dans le même tableau ou dans un tableau différent.

7 Tri sélection Soit un tableau temporaire de taille égal au tableau à trier. On fait N fois où N est la taille du tableau à trier ( i.e. pour i=0 à N-1 ) –On cherche l’indice du plus petit élément, en parcourant tous les indices du tableau à trier, sauf ceux mémorisé dans le tableau temporaire –On le mémorise dans le tableau temporaire à la cellule d’indice i Pour chaque élément e du tableau temporaire, –on affiche la valeur contenu à l’indice e du tableau à trier. On peut les copier dans un nouveau tableau. Soit un tableau temporaire de taille égal au tableau à trier. On fait N fois où N est la taille du tableau à trier ( i.e. pour i=0 à N-1 ) –On cherche l’indice du plus petit élément, en parcourant tous les indices du tableau à trier, sauf ceux mémorisé dans le tableau temporaire –On le mémorise dans le tableau temporaire à la cellule d’indice i Pour chaque élément e du tableau temporaire, –on affiche la valeur contenu à l’indice e du tableau à trier. On peut les copier dans un nouveau tableau.

8 Tri par bulles Pour i parcourant 1 à N-1 (où N est la taille du tableau à trier) –Pour tout j parcourant 0 à N - i Si la valeur en j est plus grande que la valeur en j+1, inverser les deux valeurs Peut-être optimisée en s’arrêtant si aucune inversion n’a été faite après un passage complet de la boucle intérieur. Pour i parcourant 1 à N-1 (où N est la taille du tableau à trier) –Pour tout j parcourant 0 à N - i Si la valeur en j est plus grande que la valeur en j+1, inverser les deux valeurs Peut-être optimisée en s’arrêtant si aucune inversion n’a été faite après un passage complet de la boucle intérieur.

Algorithme d’Euclide 9 Sinon a b et b r Si r = 0 le PGCD est b Soit r, le reste de la division entière de a par b Si a < b, on échange a et b

Primitude Évaluer si n est premier Afficher la décomposition unique d’un nombre en nombre premier Pouvez calculer le nombre d’opération nécessaire ? Évaluer si n est premier Afficher la décomposition unique d’un nombre en nombre premier Pouvez calculer le nombre d’opération nécessaire ? 10

Trouver un nombre premier Problème pratique Essentiel pour la cryptographie Algorithme RSA Test de Fermat Test de Rabin-Miller Problème pratique Essentiel pour la cryptographie Algorithme RSA Test de Fermat Test de Rabin-Miller 11