Tableaux : Algorithmes de recherches

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Algorithmique (suite)
Fonctions & procédures
Les Algorithmes de tri.
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
Chapitre III. Algorithmique élémentaire des tableaux (recherche, tri)
Algorithmique et programmation Informatique Cours 11 26/11/2001.
Tris: Introduction IFT 1025: Programmation 2 Jian-Yun Nie.
Utilisation des tableaux
Correction du reste des exercices
Arbre binaire de recherche
Les Algorithmes de Tri Introduction Tri par Sélection
ALGORITHME DE TRI Le tri par insertion.
ALGORITHMIQUE Recherches : Tris : séquentielle, dichotomique
Chapitre 6 Les traitements avancés
Algorithmes de tri et de recherche
Cours 4 - Trois algorithmes de recherche dans un tableau
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.
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.
Algorithme Calcul du PGCD Euclide.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Seconde 8 Module 3 M. FELT 22/09/2015.
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.
H. Richard – Elodie Laine – Initiation à la programmation impérative et algorithmique Cours 5 – Tableaux Largement inspiré des cours.
I21 Algorithmique et programmation II David Gross-Amblard, Joël Savelli IEM-uB GFDL 1.2 CM 6/8 v1.1.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Tableaux en C Mardi 2/05.
Algorithme de recherche
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Quelques instants plus tard
PO M Multiplication A Addition D M A S = = 11 6
Algorithmiques Abdelbasset KABOU
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Comment lire un article de dictionnaire?
Chercher un mot dans le dictionnaire
L’ algorithme de dichotomie réalisait cela :
Algorithmique Avancée et Complexité Chap3:Diviser pour Régner
Matrices, déclaration en CSharp
Initiation à la programmation impérative et algorithmique
Algorithme de Dichotomie
Algorithme de Dichotomie
Le passé composé Regarde chaque phrase et chaque image
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Calcul littéral 2.
© Hachette Livre 2016, Mathématiques Cycle 4, collection Kiwi
Cours N°6: Algorithmiques Structures Conditionnelles
Information, Communication, Calcul
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Les tableaux.
Containeurs & Itérateurs
Eléments de base du langage C
Exemple d'algorithme de construction de la matrice [ZBus] Schéma unifilaire.
FAIRE UN DOSAGE.
PAGE 1 PAGE 2.
2. Activer son compte : 1er phase, 2ème phase, 3ème phase, 4ème phase.
Structure de données utiles
RABAH M ed Ali 2018/2019
Recherche de zero d'une fonction MARMAD ANAS MPSI -2.
Exercices récapitulatifs
Flowchart Itération Cours 04.
425 ÷ 12 ? Poser une division - 1 Pouvez-vous calculer de tête?
Question 1 Pour afficher un tableau d’entiers tab en C :
Quelle est la valeur de S après exécution des instructions suivantes :
Stream, parallelStream, ForEach, ForEachOrdered & Filter
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
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.
renvoie la moyenne d’un tableau d’entiers
VRAI ou FAUX.
Eléments de base du langage C
Transcription de la présentation:

Tableaux : Algorithmes de recherches

Recherche linéaire 1 tab est un tableau d’entier non trié Quel est l’algorithme nécessaire pour déterminer si x se trouve dans tab ? Exemple de valeur pour x : 72 se trouve-t-il dans tab ? 12 se trouve-t-il dans tab ? 6 se trouve-t-il dans tab ? tab 10 6 35 25 149 15 40 99 12 1 2 3 4 5 7 8 9 60

Recherche linéaire 1 Idées de base Parcourir le tableau de gauche à droite et inspecter chaque élément Quand faut-il arrêter de parcourir le tableau? Dès que l’élément est trouvé Dès qu’on arrive à la fin tab 10 6 35 25 149 15 40 99 12 1 2 3 4 5 7 8 9 60

Recherche linéaire 1 tab 1 2 3 4 5 7 8 9 x ← arg[1] i ← 0 trouve ← FAUX n ← NB(tab) TANT QUE (i < n) FAIRE SI (tab[i]=x) ALORS trouve ← VRAI BREAK TANT QUE FIN SI i ← i + 1 FIN TANT QUE j’ai mis i ← i + 1 dans le sinon pour conserver la valeur de i après le tant que. tab 10 6 35 25 149 15 40 99 12 1 2 3 4 5 7 8 9 60

Recherche linéaire 2 tab est un tableau d’entier trié Quel est l’algorithme nécessaire pour déterminer si x se trouve dans tab? Exemple de valeur pour x : 14 se trouve-t-il dans tab? 12 se trouve-t-il dans tab? 6 se trouve-t-il dans tab? 1 2 3 4 5 7 6 8 9 10 25 15 12 35 40 60 99 tab 149

Recherche linéaire 2 Idées de base: Parcourir le tableau de gauche à droite et inspecter chaque élément Quand faut-il arrêter de parcourir le tableau? Dès que l’élément est trouvé Dès qu’on arrive à la fin Dès que le nombre inspecté est plus grand que le nombre recherché 1 2 3 4 5 7 6 8 9 10 25 15 12 35 40 60 99 tab 149

Recherche linéaire 2 1 2 3 4 5 7 6 8 9 10 tab x ← arg[1] i ← 0 trouve ← FAUX n ← NB(tab) TANT QUE (i < n ET tab[i] ≤ x) FAIRE SI (tab[i]=x) ALORS trouve ← VRAI BREAK TANT QUE SINON i ← i + 1 FIN TANT QUE 1 2 3 4 5 7 6 8 9 10 25 15 12 35 40 60 99 tab 149

Recherche dichotomique tab est un tableau d’entier trié Comment recherche-t-on un mot dans le dictionnaire? Au lieu de rechercher page après page en démarrant du début, on ouvre le dictionnaire au milieu On compare le mot à chercher avec un mot de la page du milieu du dictionnaire Si c'est le même, on l’a trouvé Sinon on recommence sur la première moitié ou la deuxième selon que le mot à chercher est avant ou après 1 2 3 4 5 7 6 8 9 10 25 15 12 35 40 60 99 tab 149

Recherche dichotomique Dichotomie = couper en deux Principe Au lieu de rechercher séquentiellement, on compare l’élément à chercher à l’élément qui se trouve au milieu du tableau Si c'est le même, trouve=true Sinon on recommence sur la première moitié ou la deuxième selon que l’élément à chercher est plus petit ou plus grand Exemple: 41 Milieu? Comment le calculer? 1 2 3 4 5 7 6 8 9 10 25 15 12 35 40 60 99 tab 149

Recherche dichotomique x ← arg[1] b_inf ← 0 b_sup ← NB(tab)-1 trouve ← FAUX TANT QUE trouve = FAUX ET b_inf <= b_sup FAIRE m ← (b_sup + b_inf) DIV 2 // Division entière SI (tab[m] = x) ALORS trouve ← VRAI SINON SI (x < tab[m]) ALORS b_sup ← m-1 b_inf ← m + 1 FIN SI FIN TANT QUE Recherche dichotomique 1 2 3 4 5 7 6 8 9 10 25 15 12 35 40 60 99 tab 149