IN 101 - Cours 057 octobre 2011pr´esent´e parMatthieu FiniaszUn probleme concretRecherche de collisionspLe paradoxe des anniversaires dit que 365 ´el`eves sont suffisants(en moyenne) pour avoir une collision d’anniversaire,deux ´el`eves ayant leur anniversaire le mˆeme jour._Comment fait-on pour efficacement trouver ces “paires” d’´el`eves?1Un probleme concretRecherche de collisionspLe paradoxe des anniversaires dit que 365 ´el`eves sont suffisants(en moyenne) pour avoir une collision d’anniversaire,deux ´el`eves ayant leur anniversaire le mˆeme jour._Comment fait-on pour efficacement trouver ces “paires” d’´el`eves?M´ethode simple :on remplit un tableau avec les n dates d’anniversaire,on compare chaque ´el´ement `a tous les autres du tableau2complexit´e enΘ(n )._Peut-on faire mieux?2Un probleme concretRecherche de collisionspLe paradoxe des anniversaires dit que 365 ´el`eves sont suffisants(en moyenne) pour avoir une collision d’anniversaire,deux ´el`eves ayant leur anniversaire le mˆeme jour._Comment fait-on pour efficacement trouver ces “paires” d’´el`eves?M´ethode simple :on remplit un tableau avec les n dates d’anniversaire,on compare chaque ´el´ement `a tous les autres du tableau,2complexit´e enΘ(n )._Peut-on faire mieux? OUI_on trie le tableau,on le parcourt en regarant si 2 voisins sont ´egaux,complexit´e enΘ(nlogn)._3Commenttrier un tableauLe triDescription du problemeOn se donne un tableau de n ´el´ements (des entiers ...
_ Peut-on faire mieux ? OUI , ontrie le tableau onleparcourtenregarantsi2voisinssontegaux, complexietenclogc). _ (
DTAH1DAHATD“DAQNLMDTR=QNUNQiUUADCDiLLQ
’QMMDN“ “TiDT aN “5=LD5a
D(UATiR“iQNaCTRQ,D=
On se donne un tableau decelments (des entiers par exemple) et unerelation d’ordre totale. oneectueuntri par comparaisonutilisant uniquement , lacomplexietestlenombredecomparaisons.
Les algorithmesenteelexicomptuneesonriatneml
Lesmeilleursalgorithmesontunecomplexieten
c2.
(clog(c).
En autorisant plus que des comparaisons on peut parfois faire(c). ,
L’elmentistrangeemrapselii1 premierseinttmre`dase(j)esl ou^teaupirei een moi inesrerunelment cyenn2, complexietenc2nversementtrie)dalenserip(saclbatiuae , complexietmoyenne enc2aussi.
h36&idhb)
6:
3Ti5 =aLLDU
L’iedeestdefaireremonterlesgrandseenm`atsnlataduulbaelon parcourt le tableau en comparant l’elmentiaui et on+ 1 , lesinversesiencessaire _, , a`landuparcoursledernierelment est le plus grand apr`esiparcours lesiplus grandsent`atssomenl.alnon faitcuocrtesratalaelbstueitre.1ap
Complexiet:oneectue(c compa- ) () parcours comportant c raisons`achaquefois , letria`bullesaunecomplexietdec2dans le pire cas et en moyenne.
, Pourameliorerunpeulesperformancesonarer^teletrid`esque l’undesparcoursn’inverseaucunelments. Ce tri ne fait que(c.eriaelbatnuta`jedupara)comssurison
7
3TiEaUiQN 2iA5 M5TAHD RQaT”N`A5 M5TAHD RQaT N
Inesrerunemenlnsuntsdalbattuaeeiru^oc(tec) , fusionner deux tableaux de taillec2ico^uteauss(c).
Oncherche`aerduireleproble`me , on coupe le tableau en deux , ontriechaquemoiteion fusionne.
:
Lecuo^ttotalestceluidesfusions chaquefusioncuo^te(ge), lecuo^ttotalet(clog( , sc) dans le pire cas et en moyenne.