Tutorat en bio-informatique Le 21 novembre 2012. Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Portée des variables VBA & Excel
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Les Algorithmes de tri.
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
L’ interruption de boucle
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 &
Chapitre II.Rappels mathématiques et complexité
Utilisation des tableaux
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Expressions et assignations
Les algorithmes: complexité et notation asymptotique
Methode de Tri efficace
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Les tris.
Sections sélectionnées du Chapitre 11
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Analyse d’Algorithmes
Structures de données IFT-10541
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.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
Courbes de Bézier.
LES CONIQUES Cours 25. Le nom conique vient du fait quelle peuvent être vue comme des coupes dun cône par un plan.
IFT 6800 Atelier en Technologies d’information
PROGRAMMATION SCIENTIFIQUE EN C
Parallel Programming in C with MPI and OpenMP
Chapitre 9 Les sous-programmes.
Les Algorithmes de Tri Introduction Tri par Sélection
Introduction à Linda Béat Hirsbrunner References Nicholas Carriero, David Gelernter : "Linda in context", Communications of ACM, vol. 32 (n° 4, April 1989)
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Programmation linéaire en nombres entiers : les méthodes de troncature
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Analyse d’algorithmes
Structures des données
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
ALGORITHME DE TRI Le tri par insertion.
ALGORITHMIQUE Recherches : Tris : séquentielle, dichotomique
LES PILES ET FILES.
D.E ZEGOUR Ecole Supérieure d’Informatique
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
INTRODUCTION.
Potentiel électrostatique
Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));
Algorithmes de tri et de recherche
Programmation linéaire en nombres entiers
Méthodes de tri.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Cours 4 - Trois algorithmes de recherche dans un tableau
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
ETNA – 1ème année Guillaume Belmas –
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.
Tutorat en bio-informatique Le 5 décembre Au programme… MAT1400 Algorithmes de tri dans un tableau (suite)
Activités mentales rapides
Tutorat en bio-informatique Le 15 novembre Exercices 1 et 2 (MAT1400) - solutions Chapitre 12.2, Analyse - concepts et contextes vol. 2 19) Calculez.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Tutorat en bio-informatique Le 28 novembre Au programme… Algorithmes de tri dans un tableau (suite) Récursivité MAT1400.
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
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.
Cours 5 - Trois algorithmes de tri d'un tableau
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Semaine 14 Les algorithmes de tri Département d’informatique et de génie logiciel Édition septembre 2009.
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département d’informatique et de génie logiciel Édition Septembre 2009.
CPI/BTS 2 Programmation Web Tableaux Prog Web CPI/BTS2 – M. Dravet – 16/10/2003 Dernière modification: 16/10/2003.
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.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Chapitre 12.8, Analyse - concepts et contextes vol. 2 11?) Calculez, où E est le domaine borné par le cylindre, au-dessus du plan z = 0 et sous le cône.
Transcription de la présentation:

Tutorat en bio-informatique Le 21 novembre 2012

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite. y = 4 y = x 2

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite. y = 4 y = x 2 (1,1)

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite. y = 4 y = x 2 (1,1)

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite. y = 4 y = x 2 (1,1)

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite. y = 4 y = x 2 (1,1)

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez le maximum et le minimum absolu de f sur l'ensemble D., D est la région bornée par la parabole et la droite. y = 4 y = x 2 (1,1) minimum maximum

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum. Posons x = y dans l'une ou l'autre des dérivées.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum. Posons x = y dans l'une ou l'autre des dérivées.

Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 35) Déterminez trois nombres positifs dont la somme vaut 100 et dont le produit est maximum. Posons x = y dans l'une ou l'autre des dérivées.

Au programme… Algorithmes de recherche dans un tableau Algorithmes de tri dans un tableau

Algorithmes Qu'est-ce qu'un algorithme? C'est un processus logique permettant la résolution d'un problème en programmation.

Algorithmes On analyse la performance d'un algorithme en évaluant son temps d'exécution dans le pire cas. En effet, le meilleur cas ne se produit presque jamais dans la réalité, donc il n'est pas intéressant. Le cas moyen est souvent le plus difficile à calculer et il peut être peu représentatif du pire cas. L'analyse du temps d'exécution dans le pire cas nous donne la garantie que l'algorithme ne pourra être plus lent peu importe ce qu'on lui donne en entrée.

Algorithmes Soit T(n), la fonction qui définie les opérations effectuées par l'algorithme sur n, le nombre d'entrées. On dira que : T(n) = O( f(n) ) si pour des constantes positives c et n 0, on a T(n) = n 0 f(n)Temps cconstant lognlogarithmique nlinéaire nlogn n2n2 quadratique n3n3 cubique 2n2n exponentiel n!factoriel

Recherche dans un tableau non trié On doit parcourir toutes les positions du tableau jusqu'à ce qu'on trouve l'élément recherché (recherche directe) function rechercheDirecte(tab, element) { for (var i = 0; i < tab.length; i++) { if (tab[i] == element) { return i; } return -1; } Pire cas : temps linéaire ( O (n) )

Recherche dans un tableau trié On peut parcourir toutes les positions du tableau jusqu'à ce qu'on trouve l'élément recherché ou qu'on dépasse la valeur de l'élément recherché (recherche linéaire). function rechercheLineaire(tab, element) { for (var i = 0; i < tab.length; i++) { if (tab[i] == element) return i; else if (tab[i] > element) return -1; } return -1; } Pire cas : temps linéaire ( O (n) )

Recherche dans un tableau trié On peut faire une recherche binaire function rechercheBinaire(tab, element) { var gauche = 0; var droite = tab.length - 1; while (gauche <= droite) { var centre = Math.floor((gauche + droite) / 2); if (tab[centre] == element) return centre; else if (tab[centre] > element) droite = centre - 1; else gauche = centre + 1; } return -1; }

Recherche dans un tableau trié On peut faire une recherche binaire function rechercheBinaire(tab, element) { var gauche = 0; var droite = tab.length - 1; while (gauche <= droite) { var centre = Math.floor((droite – gauche) / 2) + gauche; if (tab[centre] == element) return centre; else if (tab[centre] > element) droite = centre - 1; else gauche = centre + 1; } return -1; } Pire cas : dans O (log n)

Algorithmes de tri La meilleure façon de trier un tableau est de séparer notre tableau en deux parties : une partie triée et une partie non triée Il n'y aurait aucun avantage à créer un deuxième tableau : cela nécessiterait plus d'espace et plus d'opérations

Tri par sélection function triSelection(tab) { for (var i = 0; i < tab.length-1; i++) { var posMin = i; for (var j = i + 1; j < tab.length; j++) { if (tab[j] < tab[posMin]) { posMin = j; } if (posMin != i) { var temp = tab[i]; tab[i] = tab[posMin]; tab[posMin] = temp; } O(n 2 ) dans tous les cas

Tri par insertion function triInsertion(tab) { for (var i = 1; i < tab.length; i++) { var aPlacer = tab[i]; var j = i - 1; while (j >= 0 && tab[j] > aPlacer) { tab[j+1] = tab[j]; j--; } tab[j+1] = aPlacer; } Ici, on peut faire mieux qu'avec le tri par sélection. Dans le meilleur cas (un tableau déjà trié), le tri par insertion prend un temps linéaire. Toutefois, dans le pire cas (tableau trié en ordre décroissant), cet algorithme prendra aussi un temps quadratique.

Tri bulle function triBulle(tab) { do{ var inversionFaite = false; for(var i = 0; i < tab.length-1; i++) { if(tab[i] > tab[i+1]) { var temp = tab[i+1]; tab[i+1] = tab[i]; tab[i] = temp; inversionFaite = true; } while(inversionFaite); } Comme pour le tri insertion, dans le meilleur cas (un tableau déjà trié), le tri bulle prend un temps linéaire. Toutefois, dans le pire cas (???), cet algorithme prendra aussi un temps quadratique.

Tri bulle function triBulle(tab) { do{ var inversionFaite = false; for(var i = 0; i < tab.length-1; i++) { if(tab[i] > tab[i+1]) { var temp = tab[i+1]; tab[i+1] = tab[i]; tab[i] = temp; inversionFaite = true; } while(inversionFaite); } Comme pour le tri insertion, dans le meilleur cas (un tableau déjà trié), le tri bulle prend un temps linéaire. Toutefois, dans le pire cas (plus petit élément en dernière position), cet algorithme prendra aussi un temps quadratique.

Exercices (MAT1400) Chapitre 12.2, Analyse - concepts et contextes vol. 2 19) Calculez le volume du solide dressé sur le rectangle R = [-1, 1] x [-2, 2] et coiffé par le paraboloïde elliptique. 23) Calculez le volume du solide du premier quadrant compris dans le cylindre et le plan x = 2.

Référence Weiss, MA (2007). Data Structures and Algorithm Analysis in Java. Second Edition. Pearson Education, Boston, 555 pages.