Algo 2 Exercice corrigé. Complexité en moyenne du MergeSort et du QuickSort

Documents pareils
Exo7. Déterminants. = 4(b + c)(c + a)(a + b). c + a c + b 2c Correction. b + a 2b b + c. Exercice 2 ** X a b c a X c b b c X a c b a X

[ édité le 10 juillet 2014 Enoncés 1. Exercice 6 [ ] [correction] Si n est un entier 2, le rationnel H n =

20. Algorithmique & Mathématiques

Limites des Suites numériques

Les Nombres Parfaits.

Chapitre 3 : Fonctions d une variable réelle (1)

1 Mesure et intégrale

Comportement d'une suite

. (b) Si (u n ) est une suite géométrique de raison q, q 1, on obtient : N N, S N = 1 qn+1. n+1 1 S N = 1 1

x +1 + ln. Donner la valeur exacte affichée par cet algorithme lorsque l utilisateur entre la valeur n =3.

capital en fin d'année 1 C 0 + T C 0 = C 0 (1 + T) = C 0 r en posant r = 1 + T 2 C 0 r + C 0 r T = C 0 r (1 + T) = C 0 r 2 3 C 0 r 3...

Etude de la fonction ζ de Riemann

14 Chapitre 14. Théorème du point fixe

Chap. 5 : Les intérêts (Les calculs financiers)

Deuxième partie : LES CONTRATS D ASSURANCE VIE CLASSIQUES

FEUILLE D EXERCICES 17 - PROBABILITÉS SUR UN UNIVERS FINI

Chap. 6 : Les principaux crédits de trésorerie et leur comptabilisation

Suites et séries de fonctions

SÉRIES STATISTIQUES À DEUX VARIABLES

Chap. 6 : Les principaux crédits de trésorerie et leur comptabilisation

Polynésie Septembre Exercice On peut traiter la question 4 sans avoir traité les questions précédentes.

Intégration et probabilités ENS Paris, TD (20)13 Lois des grands nombres, théorème central limite. Corrigé :

Les algorithmes de tri

UNIVERSITE MONTESQUIEU BORDEAUX IV. Année universitaire Semestre 2. Prévisions Financières. Travaux Dirigés - Séances n 4

Consolidation. C r é e r un nouveau classeur. Créer un groupe de travail. Saisir des données dans un groupe

55 - EXEMPLES D UTILISATION DU TABLEUR.

Convergences 2/2 - le théorème du point fixe - Page 1 sur 9

Séquence 5. La fonction logarithme népérien. Sommaire

LES ÉCLIPSES. Éclipser signifie «cacher». Vus depuis la Terre, deux corps célestes peuvent être éclipsés : la Lune et le Soleil.

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Processus et martingales en temps continu

CHAPITRE 2 SÉRIES ENTIÈRES

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Séries réelles ou complexes

POLITIQUE ECONOMIQUE ET DEVELOPPEMENT

Dénombrement. Introduction. 1 Cardinaux d'ensembles nis. ECE3 Lycée Carnot. 12 novembre Quelques dénitions

Module 3 : Inversion de matrices

TRANSFERT DE CHARGE DANS UN RÉSEAU DE PROCESSEURS TOTALEMENT CONNECTÉS (*) par Maryse BÉGUIN ( 1 )

La France, à l écoute des entreprises innovantes, propose le meilleur crédit d impôt recherche d Europe

Dénombrement. Chapitre Enoncés des exercices

EXERCICES : DÉNOMBREMENT

II LES PROPRIETES DES ESTIMATEURS MCO 1. Rappel : M1 LA REGRESSION : HYPOTHESES ET TESTS Avril 2009

Exercice I ( non spé ) 1/ u 1 = u / Soit P la propriété : u n + 4. > 0 pour n 1. P est vraie au rang 1 car u 1

Statistique descriptive bidimensionnelle

Solutions particulières d une équation différentielle...

Groupe orthogonal d'un espace vectoriel euclidien de dimension 2, de dimension 3

STATISTIQUE AVANCÉE : MÉTHODES

STATISTIQUE : TESTS D HYPOTHESES

Baccalauréat S Asie 19 juin 2014 Corrigé

Cours de Statistiques inférentielles

Le marché du café peut être segmenté en fonction de deux modes de production principaux : la torréfaction et la fabrication de café soluble.

Formation d un ester à partir d un acide et d un alcool

Gérer les applications

Séries numériques. Chap. 02 : cours complet.

2 ième partie : MATHÉMATIQUES FINANCIÈRES

RESOLUTION DES FLOW SHOP STOCHASTIQUES PAR LES ORDRES STOCHASTIQUES. DERBALA Ali *)

Etude Spéciale SCORING : UN GRAND PAS EN AVANT POUR LE MICROCRÉDIT?

Mécanismes de protection contre les vers

Examen final pour Conseiller financier / conseillère financière avec brevet fédéral. Recueil de formules. Auteur: Iwan Brot

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Copyright Hewlett-Packard Development Company, L.P.

Initiation à l analyse factorielle des correspondances

RÈGLES ORDINALES : UNE GÉNÉRALISATION DES RÈGLES D'ASSOCIATION

Un nouvel opérateur de fusion adaptatif. A new adaptive operator of fusion. 1. introduction

Statistique Numérique et Analyse des Données

Télé OPTIK. Plus spectaculaire que jamais.

Probabilités et statistique pour le CAPES

UNIVERSITÉ DE SFAX École Supérieure de Commerce

UV SQ 20. Automne Responsable d Rémy Garandel ( m.-el. remy.garandel@utbm.fr ) page 1

3.1 Différences entre ESX 3.5 et ESXi 3.5 au niveau du réseau. Solution Cette section récapitule les différences entre les deux versions.

Sommaire Chapitre 1 - L interface de Windows 7 9

Simulations interactives de convertisseurs en électronique de puissance

Semestre : 4 Module : Méthodes Quantitatives III Elément : Mathématiques Financières Enseignant : Mme BENOMAR

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Renseignements et monitoring. Renseignements commerciaux et de solvabilité sur les entreprises et les particuliers.

c. Calcul pour une évolution d une proportion entre deux années non consécutives

PROBLEMES DIOPTIMISATION EN NOMBRES ENTIERS J. L. NICOLAS

Guide d'exploitation. Neolane v6.0

Neolane Leads. Neolane v6.0

Des résultats d irrationalité pour deux fonctions particulières

Université Pierre et Marie Curie. Biostatistique PACES - UE

Neolane Message Center. Neolane v6.0

Opérations bancaires avec l étranger *

Chaînes de Markov. Arthur Charpentier

Terminale S. Terminale S 1 F. Laroche

Chapitre 3 : Transistor bipolaire à jonction

n tr tr tr tr tr tr tr tr tr tr n tr tr tr Nom:... Prénom :...

Université de Bordeaux - Master MIMSE - 2ème année. Scoring. Marie Chavent machaven/

Statistiques appliquées à la gestion Cours d analyse de donnés Master 1

DETERMINANTS. a b et a'

Introduction : Mesures et espaces de probabilités

S euls les flux de fonds (dépenses et recettes) définis s ent l investissement.

Petit recueil d'énigmes

Réseaux d ondelettes et réseaux de neurones pour la modélisation statique et dynamique de processus

Résolution numérique des équations aux dérivées partielles (PDE)

Processus géométrique généralisé et applications en fiabilité

La tarification hospitalière : de l enveloppe globale à la concurrence par comparaison

LE PRINCIPE DU RAISONNEMENT PAR RÉCURRENCE

Mécanique non linéaire

Transcription:

Exercice corrigé Complexité e moyee du MergeSort et du QuickSort Exercice 1. O rappelle que les complexités e pire cas de l algorithme de tri-fusio ( MergeSort, J. vo Neuma 1945) et de l algorithme de tri rapide ( QuickSort, C.A.R. Hoare 1960) sot respectivemet e O( log ) et e O( ) (tableau déjà trié). Motrer que leurs complexités e moyee sot e O( log ). Démostratio. MergeSort : l algorithme peut s écrire e pseudo-lagage : procedure MergeSort(premier,derier : etiers) est si premier < derier alors milieu : etier := (premier+derier)/; MergeSort(premier,milieu); -- trie T[premier..milieu] MergeSort(milieu+1,derier); -- trie T[milieu+1..derier] Fusio(premier,milieu,derier); fi procedure; avec procedure Fusio(premier,milieu,derier : etiers) est -- Idices de parcours des sous-tableaux : i : etier := premier; j : etier := milieu+1; -- Tableau auxiliaire et idice de parcours : Tprime : etier[premier..derier]; k : etier := premier; tat que (i <= milieu) ou (j <= derier) faire si (i > milieu) alors Tprime[k] := T[j]; j := j+1; sio si (j > derier) alors Tprime[k] := T[i]; sio -- i i i j e sot ecore au bout si (T[i] < T[j]) alors Tprime[k] := T[i]; sio Tprime[k] := T[j]; j := j+1; k := k+1; fi tat que; T[premier..derier] := Tprime[premier..derier]; fi procedure;

Notos le ombre d élémets du tableau : = derier premier + 1. Das la procédure Fusio(), il y a exactemet comparaisos etre élémets du tableau, car i ou j (forcémet l u des deux, mais uiquemet l u des deux) est icrémeté à chaque tour de la boucle tat que. Notos C moy () la complexité e moyee de l algorithme MergeSort pour u tableau à élémets. D après l écriture de la procédure MergeSort() ci-dessus, et puisque le coût de la fusio est, o a trivialemet C moy () = C moy ( ) + C moy( ) +. E supposat que est ue puissace de deux (sio, o peut faire u ecadremet : i < i+1 ), o obtiet l équatio de récurrece suivate : C moy () = C moy ( ) +. (1) O obtiet, e remplaçat par das cette équatio, C moy ( ) = C moy( 4 ) + + 1. et doc C moy () = 4C moy ( 4 ) + () +. E poursuivat le même raisoemet, o obtiet, pour tout k 1, O s arrête bie sûr quad k = 1, soit k = log : C moy () = k C moy ( k k ) + i ( i + 1). log C moy () = C moy (1) + i ( i + 1). La complexité moyee pour u tableau à u élémet est costate. Notos c sa valeur (peu importe ce que vaut c). O a doc log C moy () = c + (log ) + i. O coaît l expressio exacte de la série géométrique : O obtiet doc fialemet C moy () = (c + 1) + log + log +1 1. 1 C moy () = (c + 1) + log + 1 = log + (c + 3) 1. Le terme prépodérat asymptotiquemet est bie évidemmet le log, et o a doc : C moy () = O( log ) ()

QuickSort : l algorithme peut s écrire e pseudo-lagage : procedure QuickSort(premier,derier : etiers) est si premier < derier alors pivot : etier := premier; -- par exemple pivot := Partitio(premier,derier,pivot); QuickSort(premier,pivot-1); QuickSort(pivot+1,derier); fi procedure; avec foctio Partitio(premier, derier, pivot : etiers) retoure etier est -- Idices de parcours des sous-tableaux : i : etier := premier+1; j : etier := derier; Echage(T[premier],T[pivot]); tat que i <= j faire tat que (i <= j et T[i] < T[premier]) faire -- o avace i jusqu à ^etre sur u élémet plus grad que T[premier] fi tat que; tat que (i <= j et T[j] > T[premier]) faire -- o recule j jusqu à ^etre sur u élémet plus petit que T[premier] j := j-1; fi tat que; si i < j alors Echage(T[i],T[j]); j := j-1; -- o arr^ete quad i et j se croiset fi tat que; Echage(T[premier],T[j]); -- T[1..j-1] et T[j+1..derier] cotieet respectivemet -- les valeurs iférieures et supérieures à T[j] retourer j; fi foctio; Notos le ombre d élémets du tableau : = derier premier + 1. Das la foctio Partitio(), il y a exactemet comparaisos etre u élémet du tableau et T [premier], car o teste toutes les valeurs de i et de j exactemet ue fois jusqu à ce que i et j se croiset. La procédure QuickSort() état récursive, sa complexité e moyee peut doc s écrire : C moy () = + moyee 1 pivot (C moy (pivot 1) + C moy ( pivot)). E effet C moy (pivot 1) représete la complexité e moyee de l appel QuickSort(premier,pivot-1), et C moy ( pivot) celle de l appel QuickSort(premier,pivot-1). Faisos maiteat ue hypothèse d équiprobabilité : supposos que la procédure Partitio() revoie

de maière équiprobable importe quelle valeur etre premier et derier. Comme o a valeurs, chaque valeur a ue probabilité 1 d être revoyée. La moyee s écrit doc : moyee 1 pivot (C moy (pivot 1) + C moy ( pivot)) = 1 O a doc fialemet l équatio de récurrece suivate : avec les coditios iitiales : C moy () = 1 + 1 (C moy (p 1) + C moy ( p)). (C moy (p 1) + C moy ( p)), (3) C moy (1) = C moy (0) = 1. La fi de la démostratio est que du calcul! Afi d élimier la somme de l équatio, o peut chager de variable pour la secode moitié de la somme et réécrire : d où ou ecore et doc C moy () = + 1 C moy (p 1) + 1 C moy (q 1) C moy () = + C moy () = () + La soustractio des équatios (4) et (5) doe : d où q=1 C moy (p 1) C moy (p 1), (4) 1 ( 1)C moy ( 1) = ( 1) + C moy (p 1). (5) C moy () ( 1)C moy ( 1) = (() ( 1)) + C moy ( 1), ou ecore e divisat par () : C moy () = + ()C moy ( 1), C moy () = C moy( 1) +. (6) Cette ouvelle équatio de récurrece est beaucoup plus simple car o a plus de somme, et o peut e déduire : C moy ( 1) O a doc, e combiat les équatios (6) et (7) : = C moy( ) 1 +. (7) E cotiuat aisi, o obtiet C moy () C moy () = C moy( ) 1 = C moy(1) + +. +1 + k, k=3

c est-à-dire Comme k=1 1 k + log, o e déduit C moy () = 5 +1 + k. k=1 C moy () + log (8) Remarque. Même si das le pire cas le QuickSort est asymptotiquemet plus coûteux e temps de calcul que le MergeSort (O( ) cotre O( log )), o remarque qu e moyee les deux algorithmes ot u comportemet similaire (tout ceci, bie sûr, sous de boes coditios d équiprobabilité). E pratique, o costate même que le QuickSort est au mois fois plus rapide que le MergeSort (voir otammet [1]). Ceci est du au coût d opératios autres que les comparaisos etre élémets de tableau, par exemple la recopie de tableau du MergeSort. Les étudiats itéressés ou voulat s exercer au calcul de complexités sot fortemet icités à se référer à []. Remarque. L équatio 1 est classique pour u algorithme qui applique le pricipe Diviser pour Réger. Sa résolutio l est égalemet. Nous y reviedros à la fi du semestre. Bibliographie idicative [1] R. Sedgewick. Algorithmes e lagage C : cours et exercices. Duod, 000. [] R. Sedgewick, P. Flajolet. Itroductio à l aalyse des algorithmes. Iteratioal Thomso Publishig Compay, 1996. [1] est dispoible à la B.U. Scieces et à la bibliothèque MIS. [] est dispoible à la B.U. Scieces, et e aglais à la bibliothèque MIS.