Chapitre 2: Algorithmes de tris par comparaisons

Dimension: px
Commencer à balayer dès la page:

Download "Chapitre 2: Algorithmes de tris par comparaisons"

Transcription

1 MP{931, 93}, PC{933, 934} Chaitre : Algorithmes de tris ar comaraisons Introduction Dans ce chaitre, on étudie les algorithmes de tris ar comaraisons. Un algorithme de tri est un algorithme qui ermet d organiser un tableau homogène T d éléments selon un ordre fixé. Les éléments à trier font donc artie d un ensemble E muni d une relation d ordre noté, c est-à-dire vérifiant des hyothèses de Transitivité : x, y, z E x y et y z = x z. Réflexivité : x E x x. Antisymétrie : x, y E x y et y x = x = y. En général, on suosera de lus que l ordre est total : x, y E Ainsi, un algorithme générique de tri est le suivant : x y ou y x Algorithme 1 : Tri générique Entrées : Un tableau L dont les éléments sont à valeurs dans un ensemble ordonné. Sortie : Le même tableau L, trié dans l ordre croissant our l ordre. Séquence d instructions; A riori, l algorithme de tri ne retourne rien : en sortie de fonction, le tableau assé en entrée est trié. En ratique, les ordres les lus utilisés sont l ordre numérique (sur les réels ou les entiers naturels et relatifs) et l ordre lexicograhique (our traiter des chaînes de caractères ou des n-ulets). Par la suite, on ne se réoccuera as de la relation d ordre utilisée, celle-ci sera vue comme une «boite noire», comarant deux éléments quelconques de E. Comlexité. Pour comarer deux algorithmes de tri entre eux, on comtera deux tyes d oérations distinctes : Le nombe de comaraison effectuée entre deux éléments de E. Le nombre d affectations. On suosera que ces deux oérations s effectuent en tems constant, et our comarer deux algorithmes de tris, on comarera rincialement leur comlexité temorelle. Différents tyes de comlexité sont ertinentes. Fixons un algorithme de tri A. La comlexité dans le ire des cas ermet de fixer une borne suérieure du nombre d oérations qui seront nécessaires our trier un tableau de n éléments. Elle est définie ar : C A,ire (n) = max C(A, T ) T tableau de taille n où C(A, T ) est le tems mis (en nombre d oérations élémentaires) mis ar l algorithme A our trier le tableau T. La comlexité dans le ire cas est la seule dont l étude est au rogramme. La comlexité en moyenne est le nombre d oérations élémentaires effectuées en moyenne our trier un tableau de n éléments. L étude de la comlexité en moyenne est en générale difficile et requiert une robabilité sur E n. En ratique, on suose que les éléments du tableau sont distincts, l ordre total, et que les n! ermutations décrivant les ositions relatives des éléments dans le tableau d entrée sont équirobables. En résumé, tout se asse comme ci l on considérait uniquement des tableaux de la forme [σ(1),..., σ(n)] où σ est une ermutation Svartz Page 1/13 014/015

2 MP{931, 93}, PC{933, 934} de S n. La comlexité moyenne de l algorithme de tri A sur les tableaux de taille n est alors donnée ar la formule : C A,moy (n) = 1 C(A, σ) n! σ S n où C(A, σ) est le nombre d oérations nécessaires our trier le tableau [σ(1),..., σ(n)] avec l algorithme A. On calculera en articulier dans la suite la comlexité en moyenne du tri raide, qui est bien meilleure que sa comlexité dans le ire cas. La comlexité dans le meilleur des cas n est as la lus ertinente, mais ermet de distinguer deux algorithmes égaux ar ailleurs. A l oosé de la comlexité dans le ire cas, elle consiste à regarder les situations favorables à l algorithme A : C A,meilleur (n) = min C(A, T ) T tableau de taille n Proriétés intéressantes des tris. Outre la comlexité temorelle, certaines roriétés sont aréciables, armi lesquelles : le caractère en lace : si l algorithme ne requiert qu un esace en mémoire constant (our quelques variables) en lus du tableau d entrée our le trier, on dit que le tri s effectue en lace. Dans les tris qui seront étudiés, on verra que le tri ar fusion ne trie as en lace. le caractère stable : l algorithme est dit stable si les ositions relativrs de deux éléments égaux ne sont as modifiées ar l algorithme. Par exemle, la liste L = [(4, 1), (, ), (, 3), (4, 5)] est triée ar ordre croissant si on regarde uniquement le deuxième élément de chaque coule (on arle de réordre, uisque cette relation ne vérifie as l hyothèse d antisymétrie). Si l on trie L en comarant simlement les remiers éléments de chaque coule (là aussi, c est un réordre) avec un tri stable, on obtient le tableau qui est trié suivant l ordre lexicograhique défini ar : [(, ), (, 3), (4, 1), (4, 5)] (x, y) Lex (x, y ) x < x ou x = x et y < y En effet, lorsque deux éléments ont même remière comosante, le lus etit our l ordre lexicograhique est situé à gauche. Un tri non stable roduirait ar exemle le tableau [(, 3), (, ), (4, 5), (4, 1)] qui ne vérifie lus la roriété d être trié suivant l ordre lexicograhique. Hyothèses sur l entrée. Sous certaines hyothèses sur les éléments des tableaux à trier (entiers relatifs dont on connait les bornes, réels suosés équiréartis sur l intervalle [0, 1]...) il est ossible de rooser des algorithmes de tris tenant comte de ces hyothèses qui sont lus raides que ceux roosés dans ce chaitre. Ceendant, ce ne sont as des tris ar comaraison dont les seules oérations autorisées sont la comaraison d éléments et l affectation dans le tableau ou éventuellement dans un tableau annexe. Structure du chaitre. On commence ar décrire les algorithmes de tris classiques les lus simles, à savoir le tri ar sélection et le tri ar insertion.ils s effectuent en moyenne ou dans le ire cas en tems quadratique en la taille du tableau à trier. La section suivante est dévolue aux tris utilisant le aradigme diviser our régner qui ermettent d obtenir une comlexité de O(n ln n) oérations en moyenne our trier un tableau de n éléments. Le tri fusion a également une comlexité de O(n ln n) dans le ire cas, contrairement au tri raide qui est quadratique. Ceendant, celui-ci s effectue en lace. On montre ensuite que la borne de comlexité n ln n est essentiellement otimale our un tri ar comaraison, uis on donne un algorithme ermettant de calculer la médiane d un tableau sans le trier, assez roche du tri raide, qui a une comlexité linéaire en moyenne. Svartz Page /13 014/015

3 MP{931, 93}, PC{933, 934} Conventions. Puisque les algorithmes que l on écrit sont simles, autant donner directement le code Python (du seudo-code serait une simle arahrase). Dans les reuves de correction, on adotera une syntaxe roche de Python : raelons que si T est un tableau, i et j deux indices vérifiant 0 i j n où n est la longueur du tableau, alors L[i:j] est un tableau constitué des éléments de T entre les indices i (inclus) et j (exclus), c est-à-dire T[i],...,T[j-1]. En articulier, ce tableau est vide si i = j. Dans les codes Python qui suivent, on a choisi de ne jamais faire d échanges d éléments du tableau de la forme T[i],T[j]=T[j],T[i] si les indices i et j sont égaux. Bien que cet échange ne ose as de roblème à Python, cela nuit à la fois à la comréhension de l algorithme et à l adatabilité du code dans d autres langages. Enfin, on raelle que les tableaux dans ce cours corresondent aux objets de tye list en Python. Pour trier un tableau L avec Python, utilisez la méthode sort our trier le tableau (syntaxe : L.sort()). Si on ne veut as modifier le tableau et obtenir une coie triée, on utilisera la fonction sorted qui renvoie un tableau corresondant aux éléments de L, triés. C est équivalent à coier le tableau et aliquer la méthode sort. 1 Tris quadratiques On détaille ici les algorithmes de tris «naifs» les lus classiques. Ceux-ci sont quadratiques et sont donc inefficaces our de grands tableaux. On leur référera l un des algorithmes de la section suivante dès que le nombre d éléments à trier déasse environ Tri ar sélection Ce tri articulièrement simle est eut-être celui auquel on ense en remier lorsqu on écrit un algorithme de tri. Idée du tri. L idée est simle : suosons que le tableau de taille n est déja en artie trié avec ses k remiers éléments à leur lace définitive. On sélectionne le lus etit des n k éléments restants, qu on amène en osition k 1. Le tableau a alors ses k 1 remiers éléments à leur osition définitive. Itérer ce rocédé n 1 fois suffit our trier le tableau. Code Python. On donne maintenant la rocédure en Python. Dans tout ce chaitre, le tableau sera aelé L, associé au tye list en Python. Le tri ar sélection def tri_selection(l): n=len(l) for i in range(n-1): #Inv(i): L[0:i] trié, ses éléments sont lus etits que les autres éléments de L. indice_min=i for j in range(i1,n): #Inv(j): indice_min est l indice du lus etit élément de L[i:j] if L[j]<L[indice_min]: indice_min=j #Inv(j1) if i!=indice_min: L[i],L[indice_min]=L[indice_min],L[i] #Inv(i1) Terminaison de l algorithme. termine donc! L algorithme de tri ar sélection est constitué de deux boucles for imbriquées, il Preuve de l algorithme. La boucle for interne a our effet de ositionner la variable indice_min à l indice de l élément minimal du tableau entre les indices i et n. Ainsi, un assage dans la boucle for externe ositionne l élément minimal du tableau entre les indices i et n en osition i. Cette boucle for rinciale ossède l invariant suivant : Inv i : Les éléments du tableau entre les indices 0 (inclus) et i (non inclus) sont triés dans l ordre croissant et lus etits que les autres éléments du tableau. Tout d abord, Inv 0 est vrai : en effet, le sous tableau L[0:0] est vide. Clairement, si Inv i est vrai en haut de la boucle (début de la ligne 4), Inv i1 est vrai en bas de la boucle (fin de la ligne 9) : en effet, on ositionne le lus etit élément de L[i:n] en osition i. Svartz Page 3/13 014/015

4 MP{931, 93}, PC{933, 934} Le comteur de boucle i rend toutes les valeurs entre 0 et n. Par suite, l invariant Inv n 1 = Inv est vérifié en sortie de boucle, ce qui imlique que le sous tableau L[0:n-1] est trié en sortie de boucle, et ses éléments sont lus etits que l autre élément de tableau, à savoir L[n-1]. Ainsi, le tableau est entièrement trié en sortie de fonction, et le tri est correct. En toute rigueur, il faudrait exhiber un invariant de boucle our la boucle for interne, celui-ci est lutôt évident et est marqué dans le code. Comlexité. On comte séarémment le nombre de comaraisons et le nombre d échanges (corresondant à affectations). Le nombre de comaraisons ne déend as du tableau : on en fait exactement n i 1 dans la boucle for interne, et donc n n(n 1) (n i 1) = j = i=0 en tout. Le nombre d échanges L[i],L[indice_min]=L[indice_min],L[i] est dans le meilleur des cas de 0 : cela corresond au cas où le tableau est déja trié dans l ordre croissant, auquel cas l élément minimal du soustableau L[i:n] est déja en osition i, our tout i. Dans le ire cas, on fait un échange our chaque assage dans la boucle for externe, c est-à-dire n 1. Cela corresond ar exemle au tableau suivant : j=1 3 4 n 1 n 1 Proriétés. Le tri ar sélection s effectue en lace, mais n est as stable. En effet, le tableau [(,0),(,1),(1,)] est trié dans l ordre croissant our le ré-ordre obtenu en ne regardant que le deuxième élément de chaque coule (vis à vis de l ordre classique sur N). Si on trie le tableau suivant le ré-ordre obtenu en ne regardant que le remier élément de chaque coule avec le tri ar sélection, le remier et le dernier élément du tableau sont ermutés et on obtient le tableau [(1,),(,1),(,0)]. Les ositions relatives des deux éléments égaux (our ce ré-ordre) que sont (,0) et (,1) ont été ermutées. 1. Tri à bulles Ce tri est un des lus oulaires, mais l un des moins efficaces. Le code est donné dans ce cours mais sa terminaison, sa correction, sa comlexité sont laissées en exercice. On ourra montrer que ce tri est stable. Idée du tri. L algorithme du tri à bulles arcourt le tableau, et comare les coules d éléments successifs. Lorsque deux éléments successifs ne sont as dans l ordre croissant, ils sont échangés. Si au moins un échange a eu lieu endant le arcours, l algorithme rocède à un nouveau arcours. S il n y a as eu d échange endant un arcours, cela signifie que le tableau est trié et l algorithme s arrête. A chaque nouveau arcours, on eut en fait s arrêter un élément lus tôt, d où le n-=1 dans le code suivant. Code Python. def tri_bulles(l): =len(l) asfini=true while asfini: asfini=false for i in range(-1): if L[i]>L[i1]: L[i],L[i1]=L[i1],L[i] asfini=true -=1 Le tri à bulles 1.3 Tri ar insertion Idée du tri : On suose que le sous-tableau L[0:i-1] est trié. On s intéresse à l élément L[i], que l on va faire descendre à la bonne osition de sorte que le tableau L[0:i] soit trié. On ourrait faire des échanges à la manière du tri à bulles, mais our diminuer le nombre d affectations, on stocke la valeur de L[i] dans une variable x, et on Svartz Page 4/13 014/015

5 MP{931, 93}, PC{933, 934} délace successivement les éléments L[i-1], L[i-]... d un cran vers la droite. On s arrête lorsque l élément L[j-1] considéré vérifie L[j-1] L[i], on assigne alors x en osition j. Le tri ar insertion def tri_insertion(l): n=len(l) for i in range(1,n): #Inv(i): L[0:i] est trié j=i x=l[i] while j>0 and L[j-1]>x: #Inv: Pour tout k vérifiant j<k<=i, L[k]>x L[j]=L[j-1] j-=1 #Inv: Pour tout k vérifiant j<k<=i, L[k]>x L[j]=x #Inv(i1): L[0:i1] est trié Terminaison de l algorithme. L algorithme de tri ar insertion est constitué d une boucle while dans une boucle for. Il faut donc montrer que our tout i {1,..., n 1}, la boucle while termine, ce qui est à eu rès évident : la variable j est initialisée à i juste avant la boucle, la condition de continuation du while comorte notamment la condition j>0 et j est décrémenté à chaque tour de boucle. Notons que les indices du tableau considérés ne roduisent jamais d erreurs (d accès en dehors du tableau). Remarquez que si j=0 dans la condition du while, la condition j>0 n est as vérifiée et on n a as besoin d évaluer L[j-1]>x (qui irait chercher le dernier élément du tableau, ce qui est sécifique à Python) our s aercevoir que la condition j>0 and L[j-1]>x est fausse. Ceci est dû au comortement aresseux de l oérateur logique and. Preuve de l algorithme. La artie du code entre les lignes 4 et 9 a our effet de délacer d un cran vers la droite tous les éléments d indice strictement inférieur à i qui sont strictement suérieurs à x. La boucle while admet our invariant : Inv : Pour tout k tel que j < k i, L[k]>x. En sortie de boucle while, la condition j>0 and L[j-1]>x est fausse, ainsi la boucle for ossède l invariant suivant : Inv i : Le tableau L[0:i] est trié. En effet : Le tableau L[0:1], constitué de l unique élément L[0], est trié. Donc Inv 1 est vrai. Si, our i {1,..., n 1}, Inv i est vrai en haut de la boucle, alors Inv i1 est vrai en bas de la boucle. En effet, arès l exécution de la boucle while, les éléments de L[j1:i1] sont strictement suérieurs à x et ceux de L[0:j] sont inférieurs (avec j éventuellement nul). Ainsi, lacer x en osition i dans L mène au tableau trié L[0:i1] Par suite, arès l exécution de la boucle for le tableau L[0:n] est trié, et la fonction est correcte. Comlexité. On comte séarémment le nombre de comaraisons et le nombre d affectations. Le comortement est très différent dans le meilleur des cas et dans le ire cas. Dans le meilleur des cas, la condition de la boucle while n est jamais vérifiée (car L[j-1]<=x) : c est le cas si le tableau est trié. On fait dans ce cas 1 comaraison et affectations à chaque tour de la boucle for, c est-à-dire n 1 et (n 1) en tout. Ainsi la comlexité dans le meilleur cas est linéaire. Dans le ire cas, la condition while devient fausse à chaque tour de la boucle for car j=0. Cela corresond ar exemle au tableau suivant : n n 1 n 1 Dans ce cas, la boucle while a été exécutée j fois, our un total de j comaraisons et j affectations. A cela s ajoute affectations à chaque tour de la boucle for, on obtient donc : i = n(n 1) comaraisons et (i ) = (n 4)(n 1) affectations Svartz Page 5/13 014/015

6 MP{931, 93}, PC{933, 934} Proriétés. La tri est à la fois stable et en lace. Pour la stabilité, il est imératif que la condition dans le while soit L[j-1]>x, on erdrait la stabilité avec L[j-1]>=x. Conclusion sur les tris quadratiques Tri bulles Tri ar sélection Tri ar insertion secondes n Figure 1 Tems CPU our trier 5000 tableaux de taille n constitués d entiers tirés aléatoirement entre 0 et Parmi les trois tris quadratiques évoqués, le tri ar insertion est certainement le meilleur. On eut montrer qu en moyenne il fait environ n /4 comaraisons et affectations our trier un tableau de taille n. Il ossède de lus un très bon comortement vis à vis des tableaux «resques triés» (voir la feuille d exercice). Le tri ar sélection est intéressant si les affectations sont lus coûteuses que les comaraisons uisqu il en fait seulement n 1 dans le ire cas. Le tri à bulles ossède lui aussi un bon comortement vis à vis de certains tableaux resque triés (sa comlexité déend en fait du nombre d inversions dans le tableau), mais on lui référera le tri ar insertion. La figure 1 résente une comaraison des trois tris sur des tableaux de etites tailles. Tris quasi-linéaires On aborde dans cette section les tris efficaces our trier des tableaux de grande taille. On en résente deux : le tri ar fusion et le tri raide. Tous deux sont basés sur la stratégie diviser our régner, et sont lus efficaces que le tri ar insertion dès que le nombre d éléments à trier déasse 50. Le tri ar fusion a une comlexité quasi-linéaire (en O(n log(n))) dans le ire cas, ce qui n est as le cas du tri raide qui est quadratique. Mais contrairement aux tris de la section récédente, le tri raide a une comlexité quasi-linéaire en moyenne. Il a l avantage de s effectuer en lace (contrairement au tri fusion), ce qui en fait le tri le lus efficace en ratique. Raelons qu on souhaite effectuer le maximum de calculs «en lace». On ne créera as de nouveau tableau our les aels récursifs, mais on aelera simlement notre fonction récursive sur une ortion du tableau à trier. Ceci mène à introduire our chacun des tris une fonction auxiliaire, locale à la fonction rinciale, qui sera la seule à être récursive et rendra en argument les indices délimitant la ortion à trier..1 Raels sur la stratégie «Diviser our régner» On raelle ici les rincies de la stratégie diviser our régner : Diviser le roblème rincial en sous-roblèmes de taille inférieure (division). Traiter récursivement les sous-roblèmes. Recomoser la solution du roblème rincial à artir des solutions des sous-roblèmes (règne). Concrètement, our trier un tableau à l aide de la stratégie diviser our régner, on va se ramener au tri de tableaux (de deux tableaux, en fait) de taille inférieure. Le tri fusion et le tri raide diffèrent concetuellement. Pour le tri fusion, l étae de division est immédiate : il s agit juste de couer le tableau en deux. Une fois les arties gauche et droite du tableau triées, il faut fusionner ces deux arties triées en un tableau trié. Pour le tri raide, on commence Svartz Page 6/13 014/015

7 MP{931, 93}, PC{933, 934} ar artitionner le tableau autour d un élément aelé ivot : les éléments à gauche du ivot sont lus etits, ceux à droite sont lus grands. On trie récursivement ces deux arties gauche et droite, et il n y a rien à faire our l étae de règne : le tableau obtenu est trié.. Tri Fusion Comme on l a dit, la artie difficile à écrire du tri fusion est la fusion de deux tableaux triés. La fusion est très difficile à réaliser en lace, on va donc utiliser un tableau temoraire our réaliser la fusion. La fonction suivante rend en entrée deux tableaux L1 et L et trois indices g, m et d. On suose que les deux sous-tableaux L1[g:m] et L1[m:d] sont triés, et on fusionne ces deux tableaux vers L, c est-à-dire qu en fin de fonction, L[g:d] contiendra les mêmes éléments que L1[g:d], mais sera trié. L algorithme de fusion def fusion(l1,l,g,m,d): """L1[g:m] et L1[m:d] suosés triés. On fusionne alors our obtenir L[g:d] trie.""" i1=g i=m for i in range(g,d): #Inv(i): L[g:i] trié dans l ordre croissant et ses éléments sont ceux de L1[g:i1] et L1[m:i]. if i==d or (i1<m and L1[i1]<=L1[i]): L[i]=L1[i1] i1=1 else: L[i]=L1[i] i=1 #Inv(i1) Cette fonction étant constituée d une boucle for dans laquelle se trouve un if/else, elle termine. On maintient deux indices i1 et i corresondant aux rochains éléments de L1[g:m] et L1[m:d] que l on va coier vers L, il faut à chaque assage de la boucle for les comarer our savoir qui est le lus etit. La condition du if est naturelle : on rend l élément L1[i1] si on a déja ris tous les éléments de L1[m:d], ou si on n a as ris tous les éléments de L1[g:m] et que L1[i1] est lus etit que L1[i]. La boucle for admet ainsi l invariant suivant : Inv i : L[g:i] est trié dans l ordre croissant et ses éléments sont ceux de L1[g:i1] et L1[m:i]. En terme de comlexité, il est clair que le nombre d affectations réalisées est exactement d-g uisqu on en fait une à chaque tour de boucle. Le nombre de comaraisons déend du déroulement de l algorithme : on en fait lus si on a besoin de iocher alternativement dans L1[g:m] et L1[m:d], alors que le nombre minimal va être atteint si les éléments de L1[g:m] sont tous lus etits (ou tous lus grands) que tous les éléments de L1[m:d]. Dans le ire cas, on fait donc d g 1 comaraisons, et dans le meilleur m g (en suosant m g d m, ce qui sera vérifié dans la suite). Maintenant que l oération de fusion est établie, définir le tri fusion se fait facilement : def tri_fusion(l): Ltm=[None]*len(L) def tri_fusion_rec(g,d): if g<d-1: m=(gd)// tri_fusion_rec(g,m) tri_fusion_rec(m,d) Ltm[g:d]=L[g:d] fusion(ltm,l,g,m,d) tri_fusion_rec(0,len(l)) Le tri fusion Remarquez que la fonction tri_fusion_rec est définie localement dans la fonction tri_fusion, cette dernière se contentant d un ael à tri_fusion_rec. Terminaison. La terminaison de la fonction tri_fusion_rec(g,d) est immédiate : si g < d 1, on ne fait rien, sinon on fait une coie (de L vers Ltm), un ael à la fonction fusion qui termine, et deux aels récursifs à tri_fusion_rec avec les arguments (g, m) et (m, d), avec g < m < d. Par suite, la quantité d g est à valeurs dans N est diminue strictement lors des aels récursifs donc tri_fusion_rec termine. Svartz Page 7/13 014/015

8 MP{931, 93}, PC{933, 934} Correction. Comme our beaucou de fonctions récursives, la correction est facile à établir ar récurrence, ici sur = d g N. Soit our N la roosition P() : P() : si g et d sont tels que d g =, alors arès l exécution de la fonction tri_fusion_rec(g,d), le sous-tableau L[g:d] est constitué des mêmes éléments, triés dans l ordre croissant. Si = 0 ou 1, la fonction ne fait rien, en effet L[g:d] est déja trié. Sinon, avec m = d g, comme m g et d m sont strictement inférieurs à d g, ar hyothèse de récurrence, chacun des sous-tableaux L[g:m] et [m:d] sont triés arès les aels récursifs. Ensuite on coie L[d:g] dans Ltm[g:d] et on fusionne Ltm[g:d] vers L[g:d], ainsi P() est vraie car la fonction fusion est correcte. Par rincie de récurrence, tri_fusion_rec est correcte. Enfin, la fonction tri_fusion(l) est correcte car elle fait un unique ael à tri_fusion_rec(g,d), avec g=0 et d=len(l). Comlexité. Comme d habitude, on anayse séarémment le nombre d affectations et de comaraisons. Le nombre d affectations dans la fonction tri_fusion_rec(g,d) ne déend que de la différence d g = (le ire cas est égal au meilleur). A chaque ael récursif, on a si > 1, affectations dûes à la coie de L vers Ltm et dans la fonction fusion. La comlexité en nombre d affectations vérifie donc la relation de récurrence suivante : { 0 si = 1. C aff () = C aff ( ) Caff ( ) sinon. Il est lus simle de rocéder à l analyse lorsque est une uissance de. Dans ce cas, on obtient comme deuxième ligne C aff () = C aff ( ). Pour résoudre cette récurrence, il suffit de dérouler l arbre d aels récursifs en comtant la contribution linéaire de chaque niveau, voir figure. L arbre est équilibré, chaque niveau contribuant avec le terme. On vérifie ainsi que C aff (n) = log (), ce qu on eut aussi montrer ar récurrence. Si n est as une uissance de, on eut montrer 1 que log () reste un équivalent du nombre d affectations effectuées dans la fonction tri_fusion_rec(g,d). Enfin, la fonction tri_fusion(l) se contente d aeler tri_fusion_rec(0,len(l)), et donc avec n la longueur du tableau, on obtient encore n log (n) comme équivalent du nombre d affectations k k k k k C aff (1) = 0 Figure Le nombre d affectations dans la fonction tri_fusion_rec(g,d) avec = d g = k. Traitons maintenant le cas des comaraisons. On a un comortement différent dans le meilleur et dans le ire cas, ne déendant que du meilleur et du ire cas dans la fonction fusion. Les récurrences que l on eut établir dans le meilleur et dans le ire cas sont donc : C ire com(n) = { 0 si n = 1. Ccom( ire n ) C ire com( n ) n 1 sinon. C meilleur com (n) = { 0 si n = 1. Ccom meilleur ( n ) C meilleur com ( n ) n sinon. 1. Le lecteur susicieux vérifiera que la solution de la récurrence est C aff () = [log () f(log ())], avec f la fonction 1-ériodique f : x {x} 1 {x}, où {x} = x x est la artie fractionnaire du réel x. Remarquez que f s annule en les entiers, ce qui est cohérent avec le résultat vu si est une uissance de. Svartz Page 8/13 014/015

9 MP{931, 93}, PC{933, 934} Dans le cas où n est une uissance de, on obtient Ccom(n) ire = n log (n) n 1 et Ccom meilleur (n) = n log (n). De même que our le nombre d affectations, on eut montrer que Ccom(n) ire n log (n) et C meilleur n com (n) n n log (n) our n quelconque. Proriétés. Le tri n est as en lace (on utilise un tableau de même taille que le tableau à trier our effectuer les fusions), ar contre, il est stable..3 Tri Raide (QuickSort) Le tri raide a été inventé ar Hoare en Bien imlémenté, il est robablement le tri le lus efficace en ratique. Bien que sa comlexité dans le ire cas soit quadratique, il ossède une très bonne comlexité en moyenne. Il a de lus l avantage de s effectuer en lace, contrairement au tri fusion. Tout comme ce dernier, il reose sur la stratégie diviser our régner. Idée. Contrairement au tri fusion, on ne coue as arbitrairement en deux. Suosons que l on veuille trier la séquence constituée des éléments 4,1,8,3,,5,7. On choisit le remier élément (c est arbitraire) comme ivot, et on réordonne la séquence comme suit : 1,3,,4,5,8,7. Remarquez que les éléments à gauche du ivot (4) sont lus etits, et ceux à droite lus grand. Il suffit donc de trier (récursivement) les deux sous-séquences 1,3, et 5,8,7 our trier comlètement la séquence. En fait, eu imorte comment sont réartis les éléments à gauche et à droite du ivot : l imortant est d avoir artagé le tableau en 3 : les éléments lus etits que le ivot, le ivot, et les éléments lus grands. La fonction de artition. La remière fonction a écrire est celle qui réalise la artition comme ci-dessus. Elle rend en entrée un tableau L, et deux indices g et d délimitant le sous-tableau de L à artionner, qui est L[g:d]. Bien sûr, lors du remier ael à artition, on aelera artition(l,0,len(l)). L algorithme de artition def artition(l,g,d): #g inclus, d exclus. ivot=l[g] m=g for i in range(g1,d): #Inv(i): L[g1:m1] a ses éléments < ivot, ceux de L[m1:i] sont >= ivot, avec i>=m1. if L[i]<ivot: m=1 if i>m: L[i],L[m]=L[m],L[i] #Inv(i1) if m>g: L[m],L[g]=L[g],L[m] return(m) Il est clair que cette fonction termine. Montrons la correction. L invariant de la boucle for est : Inv i : Les éléments du sous-tableau L[g1:m1] sont strictement inférieurs au ivot L[0], les éléments du sous-tableau L[m1:i] sont suérieurs, avec i m 1. Montrons le : Inv g1 est vrai en début de boucle : en effet, les deux sous-tableaux L[g1:m1] et L[m1:g1] sont vides dans ce cas, car g 1 = m 1. Pour tout i {g 1, d 1}, si Inv i est vrai en haut de la boucle, alors Inv i1 est vrai en bas de la boucle : en effet, si L[i]>=ivot, on ne fait rien. Si L[i]<ivot, on incrémente m uis on échange L[i] et L[m] (seulement si i est différent de m, car sinon il n y a rien à faire). Donc Inv i1 est vrai en fin de boucle. Par suite, Inv d 11 = Inv d est vrai en fin de boucle : les éléments de L[g1:m1] sont strictement inférieurs au ivot, et les éléments de L[m1:d] sont suérieurs. Comme le dernier if échange L[g] et L[m] (ce qui est nécessaire seulement si m > g), la fonction se termine avec L artitionné au niveau du ivot. On renvoie m, qui est maintenant l indice du ivot. En terme de comlexité, il est clair que la fonction artition fait exactement d g 1 comaraisons. En terme d échanges, dans le «meilleur» cas, elle n en fait aucun (ce qui corresond au cas ou les éléments sont tous strictement lus etits ou tous lus grands que le ivot) et dans le «ire cas», elle en fait d g 1. Mais on va voir que cette notion de ire cas et de meilleur cas n est as très ertinente : ce qu on esère surtout c est que la artition soit équilibrée au maximum (dans ce cas, le nombre d échanges est variable entre 1 et environ d g ). Svartz Page 9/13 014/015

10 MP{931, 93}, PC{933, 934} Le tri raide. Une fois écrit la fonction de artition, écrire le tri est facile, tout comme le tri fusion : Le tri raide def tri_raide(l): def tri_raide_rec(g,d): if g<d-1: #sinon il n y a rien a faire. m=artition(l,g,d) tri_raide_rec(g,m) tri_raide_rec(m1,d) tri_raide_rec(0,len(l)) Tout comme le tri fusion, on utilise une fonction interne tri_fusion_rec, la fonction tri_raide se contentant d aeler tri_raide_rec entre les indices 0 et len(l). Les reuves de terminaison et de correction sont très semblables à celles du tri fusion. Comlexité : ire cas et meilleur cas. Suosons le tableau trié dans l ordre croissant. Alors le remier ael à artition réalise une très mauvaise artition : le tableau est laissé dans le même état, et le ivot renvoyé est celui en osition 0. Le remier ael récursif tri_raide_rec(l,0,0) ne fera strictement rien, alors que le second sera tri_raide(l,1,len(l)), ce qui revient à recommencer le même rocédé avec le tableau L[1:]. Clairement, le tri est mauvais dans ce cas (as meilleur que le tri ar sélection) car quadratique en le nombre de comaraisons. En revanche, si chaque ael à artition séare les éléments en deux arties égales à un élément rès (lus le ivot), on se convainc facilement que la comlexité est en O(n log(n)) car la récurrence vérifiée ar le tri est, en terme de comaraisons : Ccom meilleur (n) = Ccom meilleur ( ) C meilleur com ( ) n 1 On eut donner une formule exacte our ce nombre de comaraisons lorsque n est de la forme k 1. En effet dans ce cas, Ccom meilleur (n) = (n 1)(k ) n log (n). On eut montrer que cet équivalent est toujours valable our n n quelconque. Ainsi, dans le meilleur cas le tri ar artition fait de l ordre de n log (n) comaraisons, et environ n log (n) affectations, ce qui est très bien. En fait, on est en général beaucou lus roche du meilleur cas que du ire, comme on va le voir au aragrahe suivant. Comlexité en moyenne. Comme on l a dit dans l introduction, on suose que les éléments du tableau à trier sont tous distincts et que les ositions relatives des éléments sont équirobables. On suose donc que le tableau à trier est constitué des éléments de l ensemble {1,,..., n}, et on veut comter le nombre de comaraisons effectuées en moyenne, c est-à-dire : C com,moy (n) = 1 C com ([σ(1),..., σ(n)]) n! σ S n Pour donner une estimation de cette comlexité, on va raisonner en termes robabilistes, chaque ermutation σ ayant robabilité 1/n!. Remarquons que deux éléments i < j ne sont comarés qu au lus une fois ar l algorithme, et c est le cas si et seulement si l un des deux est un ivot au moment où l on alique la fonction artition sur un sous tableau contenant à la fois i et j. Il est intéressant de remarquer que, lorsque l on alique la fonction artition sur un sous-tableau contenant à la fois i et j, avec i < j : soit le ivot est i ou j et dans ce cas i et j sont comarés. soit le ivot est un élément k vérifiant i < k < j et i et j ne seront jamais comarés, arce qu arès la fonction de artition k est à sa lace finale dans le tableau et l algorithme est raelé sur deux tableaux ne contenant as à la fois i et j. soit le ivot est un élément k vérifiant k < i ou k > j, dans ce cas, la fonction de artition est raelée sur un sous-tableau lus etit contenant encore i et j. Considérons our i < j l ensemble U i,j = {i, i 1, i,..., j 1, j}. La discussion récédente montre que : Les éléments i et j sont comarés si et seulement si i ou j est le remier élément de U i,j à être choisi comme ivot dans le déroulement de l algorithme. 1 Or, tout élément de U i,j a même robabilité d être choisi en remier, à savoir U = 1 i,j j i1. Ainsi, en notant X la variable aléatoire donnant le nombre de comaraisons effectuées ar le tri, on a X = i<j X i,j avec X i,j la variable aléatoire renant la valeur 1 si i et j sont comarés, et 0 sinon. X i,j suit donc une loi de Bernoulli de aramètre j i1. L esérance d une variable aléatoire étant une forme linéaire, on a : E(X) = i<j E(X i,j ) = n j=i1 j i 1. Le lecteur vérifiera que la solution de cette récurrence est Ccom meilleur (n) = (n 1) [log (n 1) f(log (n 1) )], avec f la fonction 1-ériodique f : x {x} 1 {x} (la même que dans la note récédente). Svartz Page 10/13 014/015

11 MP{931, 93}, PC{933, 934} Donnons un équivalent de cette somme lorsque n est grand : E(X) = = n j=i1 n i1 k= (ln(i ) ln()) E(X) ln(i 1) 1 j i 1 1 k = Ces deux séries ont our même terme dominant un équivalent de ln(i) lorsque i tend vers l infini. Par une comaraison série intégrale (t ln(t) est croissante et tend vers l infini), on en déduit que : E(X) n ln(n) = ln()n log (n). Comme ln() 1.39, on est très roche du meilleur cas! n Otimisations. Un tableau trié est un ire cas our l algorithme du tri raide. Un moyen d y remédier est de mélanger le tableau de manière aléatoire. En fait, lutôt que de faire ce ré-traitement, il est lus judicieux de modifier l algorithme de artition our que le ivot du sous-tableau L[g:d] choisi ne soit as L[g], mais un élément ris au hasard dans L[g:d]. On eut ainsi ajouter les lignes suivantes au début de l algorithme artition : os_ivot=randint(g,d-1) if os_ivot>g: L[g],L[os_ivot]=L[os_ivot],L[g] i1 k= 1 k où randint, imortée du module random, rend en entrée deux entiers a et b et retourne un élément aléatoire de [a, b]. Une deuxième otimisation ossible est la suivante : si l algorithme (même dans sa version aléatoire), est roche du ire cas, on risque sur de grands tableaux de déasser la limite des 1000 aels récursifs imbriqués de Python. Pour y remédier, il est ossible de transformer l ael récursif sur le lus gros des sous-tableaux en boucle while. Cette transformation est laissée en exercice. 3 Une borne inférieure sur la comlexité des tris ar comaraisons On a vu que le tri raide a une comlexité quasi-linéaire en moyenne, et le tri fusion une comlexité quasi-linéaire tout court. Peut-on faire mieux? La réonse est non. Pour le rouver, on va regarder le comortement d un algorithme de tri ar comaraisons quelconque sur les tableaux de la forme [σ(1),..., σ(n)], où σ est une ermutation de S n. À chaque algorithme de tri, on eut associer un arbre binaire, résumant le tri suivant les comaraisons effectuées, on art d un tableau [σ(1),..., σ(n)] et on termine avec le tableau [1,,..., n]. Suivant le résultat d une comaraison entre σ(i) et σ(j), une branche de l arbre ou l autre est suivie. Avec deux ermutations distinctes, on se retrouve à deux feuilles distinctes de l arbre, qui a donc au moins n! feuilles. La figure 3 montre un tel arbre associé au tri ar sélection 3 sur un tableau de 3 éléments [a, b, c]. Il a 8 feuilles, 6 d entre elles sont associées à une ermutation, d entres elles corresondent au résultat de deux comaraisons incomatibles avec un tableau à entrées distinctes. Il est facile de voir qu un arbre binaire de hauteur h a au lus h feuilles. Par suite, un arbre ayant n! feuilles a une hauteur d au moins log (n!). D arès la formule de Stirling, on a n! n nn e n πn, donc log (n!) n log (n). n Ainsi, la comlexité dans le ire cas d un algorithme de tri ar comaraisons quelconque a une comlexité d au moins Θ(n log (n)). Remarque : on eut montrer que la comlexité en moyenne est aussi au moins Θ(n log (n)). 4 Alication : calcul de la médiane. Il ne araît as évident de calculer la médiane d un tableau sans le trier resque en entier : on eut ar exemle faire la moitié du tri ar sélection, ce qui donne une comlexité quadratique moins bonne que de trier comlètement le tableau à l aide du tri fusion et rendre l élément situé au milieu. Observons ar contre ce qui se asse lors d une étae du tri raide : on alique la fonction artition, qui retourne la osition définitive m du ivot, et il n y a lus qu à trier les éléments situés à gauche et à droite. Pour la médiane, on s intéresse à l élément ayant comme osition finale n, avec n la taille du tableau. 3. Il faut vraiment dérouler le tri our construire l arbre! Essayez avec un autre tri. Svartz Page 11/13 014/015

12 MP{931, 93}, PC{933, 934} a b a > b a c a > c b c b > c b c b > c b a b > a a c a > c b a b > a (1,, 3) (1, 3, ) (, 3, 1) (, 1, 3) (3, 1, ) (3,, 1) Figure 3 Les comaraisons réalisées dans le tri ar sélection sur un tableau de taille 3. Arès une remière étae de artition, on a l alternative : m = n : le ivot est notre médiane! m < n : la médiane se trouve dans la artie à droite du ivot. m > n : la médiane se trouve dans la artie à gauche du ivot. Ainsi, our trouver la médiane du tableau, on eut rocéder de manière similaire au tri raide, la différence est que l ael récursif ne se fait que sur l un des deux tableaux artitionnés. Plus généralement, la même idée ermet de trouver le k-ième élément du tableau et as nécessairement le n/-ième. L algorithme de calcul de la médiane def mediane(l,k): """ L tableau non vide, k un entier entre 0 et len(l)-1. La fonction retourne le k-ième lus etit élément du tableau """ Ltm=L[:] #a riori, on ne veut as modifier le tableau L. def mediane_rec(g,d): m=artition(ltm,g,d) if m==k: return(ltm[m]) elif m<k: return(mediane_rec(m1,d)) else: return(mediane_rec(g,m)) return(mediane_rec(0,len(l))) Comme our le tri raide, la comlexité dans le ire cas est toujours quadratique, ce qui est intéressant est là encore la comlexité en moyenne. Analysons de la même manière quels sont les coules i < k effectivement comarés, en fonction de la taille n du tableau : si i = k ou j = k, on eut majorer le nombre de coules comarés ar n. si i < k < j, alors i et j sont comarés si et seulement si l un des deux est ris comme ivot avant tout élément de [i, j ], évènement qui a robabilité j i1. si i < j < k, alors i et j sont comarés si et seulement si l un des deux est choisi comme ivot avant tout élément de [i, k ], évènement qui a robabilité k i1. si k < i < j, alors i et j sont comarés si et seulement si l un des deux est choisi comme ivot avant tout élément de [k, j ], évènement qui a robabilité j k1. On a donc trois sommes à estimer. Allons y. (i,j),i<j et i<k<j j i1 = d= (i,j),i<k<j et j=id d1 d= k i1 d1 (d 1) n. (i,j),i<j<k k i1 = k k i1 j,i<j<k 1 k (k i 1) k. De même, (i,j),k<i<j j k1 (n k). Ainsi, le nombre moyen de comaraisons est majoré ar 5n. La comlexité de calculer le k-ième lus etit terme du tableau à l aide de l algorithme mediane est donc linéaire en moyenne. Remarques. Là encore, on eut choisir le ivot au hasard dans l algorithme de artition, et modifier l algorithme mediane our transformer l ael récursif en boucle while. Il est également ossible de calculer le k-ième lus etit élément d un tableau en tems linéaire même dans le ire cas. L algorithme est lus comlexe, et eut-être utilisé our obtenir une version quasi-linéaire du tri raide même Svartz Page 1/13 014/015

13 MP{931, 93}, PC{933, 934} dans le ire cas : on choisit exlicitement la médiane d un tableau avant d en réaliser la artition. (Par contre, le résultat est un tri un eu moins raide en ratique...) Svartz Page 13/13 014/015

Des familles de deux enfants

Des familles de deux enfants Des familles de deux enfants Claudine Schwartz, IREM de Grenoble Professeur, Université Joseh Fourier Les questions et sont osées dans le dernier numéro de «Pour la Science» (n 336, octobre 2005, article

Plus en détail

dénombrement, loi binomiale

dénombrement, loi binomiale dénombrement, loi binomiale Table des matières I) Introduction au dénombrement 1 1. Problème ouvert....................................... 2 2. Jeux et dénombrements...................................

Plus en détail

Accès optiques : la nouvelle montée en débit

Accès optiques : la nouvelle montée en débit Internet FTR&D Dossier du mois d'octobre 2005 Accès otiques : la nouvelle montée en débit Dans le domaine du haut débit, les accès en France sont our le moment très majoritairement basés sur les technologies

Plus en détail

Module : réponse d un système linéaire

Module : réponse d un système linéaire BSEL - Physique aliquée Module : réonse d un système linéaire Diaoramas () : diagrammes de Bode, réonse Résumé de cours - Caractérisation d un système hysique - Calcul de la réonse our une entrée donnée

Plus en détail

L information sera transmise selon des signaux de nature et de fréquences différentes (sons, ultrasons, électromagnétiques, électriques).

L information sera transmise selon des signaux de nature et de fréquences différentes (sons, ultrasons, électromagnétiques, électriques). CHAINE DE TRANSMISSION Nous avons une information que nous voulons transmettre (signal, images, sons ). Nous avons besoin d une chaîne de transmission comosée de trois éléments rinciaux : 1. L émetteur

Plus en détail

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

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

S2I 1. quartz circuit de commande. Figure 1. Engrenage

S2I 1. quartz circuit de commande. Figure 1. Engrenage TSI 4 heures Calculatrices autorisées 214 S2I 1 L essor de l électronique nomade s accomagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imosées à ces objets nomades sont multiles

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Un modèle de composition automatique et distribuée de services web par planification

Un modèle de composition automatique et distribuée de services web par planification Un modèle de comosition automatique et distribuée de services web ar lanification Damien Pellier * Humbert Fiorino ** * Centre de Recherche en Informatique de Paris 5 Université Paris Descartes 45, rue

Plus en détail

prix par consommateur identiques différents prix par identiques classique 3 unité différents 2 1

prix par consommateur identiques différents prix par identiques classique 3 unité différents 2 1 3- LE MONOOLE DISCRIMINANT Le monoole eut vendre ertaines unités de roduit à des rix différents. On arle de disrimination ar les rix. Selon une terminologie due à igou (The Eonomis of Welfare, 1920), on

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Santé et hygiène bucco-dentaire des salariés de la RATP

Santé et hygiène bucco-dentaire des salariés de la RATP Santé et hygiène bucco-dentaire des salariés de la RATP Percetion des salariés et examen clinique du raticien Période 2006-2009 14 juin 2012 Dominique MANE-VALETTE, Docteur en Chirurgie dentaire dominique.mane-valette@rat.fr

Plus en détail

DIVERSIFICATION DES ACTIVITES ET PRIVATISATION DES ENTREPRISES DE CHEMIN DE FER : ENSEIGNEMENTS DES EXEMPLES JAPONAIS

DIVERSIFICATION DES ACTIVITES ET PRIVATISATION DES ENTREPRISES DE CHEMIN DE FER : ENSEIGNEMENTS DES EXEMPLES JAPONAIS Ecole Nationale des Ponts et Chaussées Laboratoire Paris-Jourdan Sciences Economiques DIVERSIFICATION DES ACTIVITES ET PRIVATISATION DES ENTREPRISES DE CHEMIN DE FER : ENSEIGNEMENTS DES EXEMPLES JAPONAIS

Plus en détail

.NET remoting. Plan. Principes de.net Remoting

.NET remoting. Plan. Principes de.net Remoting Plan.NET remoting Clémentine Nebut LIRMM / Université de Montellier 2 de.net Remoting côté serveur côté client.net Remoting en ratique Les canaux de communication L'activation L'invocation Les aramètres

Plus en détail

TP : Outils de simulation. March 13, 2015

TP : Outils de simulation. March 13, 2015 TP : Outils de simulation March 13, 2015 Chater 1 Initialisation Scilab Calculatrice matricielle Exercice 1. Système Unix Créer sous Unix un réertoire de travail outil_simulation dans votre home réertoire.

Plus en détail

NFE107 Urbanisation et architecture des systèmes d information. Juin 2009. «La virtualisation» CNAM Lille. Auditeur BAULE.L 1

NFE107 Urbanisation et architecture des systèmes d information. Juin 2009. «La virtualisation» CNAM Lille. Auditeur BAULE.L 1 Juin 2009 NFE107 Urbanisation et architecture des systèmes d information CNAM Lille «La virtualisation» Auditeur BAULE.L 1 Plan INTRODUCTION I. PRINCIPES DE LA VIRTUALISATION II. DIFFÉRENTES TECHNIQUES

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Guide d utilisation (Version canadienne) Téléphone sans fil DECT 6.0/ avec répondeur et afficheur/ afficheur de l appel en attente CL83101/CL83201/

Guide d utilisation (Version canadienne) Téléphone sans fil DECT 6.0/ avec répondeur et afficheur/ afficheur de l appel en attente CL83101/CL83201/ Guide d utilisation (Version canadienne) Téléhone sans fil DECT 6.0/ avec réondeur et afficheur/ afficheur de l ael en attente CL83101/CL83201/ CL83301/CL83351/ CL83401/CL83451 Félicitations our votre

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Découvrez les bâtiments* modulaires démontables

Découvrez les bâtiments* modulaires démontables Découvrez les bâtiments* modulaires démontables w Industrie w Distribution * le terme «bâtiment» est utilisé our la bonne comréhension de l activité de Locabri. Il s agit de structures modulaires démontables

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Procès - Verbal du Conseil Municipal Du lundi 15 décembre 2014

Procès - Verbal du Conseil Municipal Du lundi 15 décembre 2014 Procès - Verbal du Conseil Municial Du lundi 15 décembre 2014 Nombre de membres comosant le Conseil Municial : 15 Nombre de membres en exercice : 15 Nombre de Conseillers résents : 14 Nombre de Conseillers

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

Sous le feu des questions

Sous le feu des questions ARTICLE PRINCIPAL Assureurs Protection juridique Sous le feu des questions Comment les assureurs Protection juridique vont-ils désormais romouvoir leurs roduits? Seraient-ils artisans d une assurance Protection

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

Commande prédictive des systèmes non linéaires dynamiques

Commande prédictive des systèmes non linéaires dynamiques Rébliqe Algérienne Démocratiqe et olaire Ministère de l Enseignement Sérier et de la Recherche Scientifiqe Université Molod Mammeri de Tizi-Ozo Faclté de Génie Electriqe et Informatiqe Déartement Atomatiqe

Plus en détail

Compression scalable d'images vidéo par ondelettes 2D+t

Compression scalable d'images vidéo par ondelettes 2D+t Comression scalable d'images vidéo ar ondelettes 2D+t Madji Samia, Serir Amina et Ouanane Abdelhak Université des Sciences et de la Technologie Houari Boumediene, Laboratoire de traitement d images et

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

VOIP. Pr MOUGHIT Mohamed m.moughit@gmail.com. Cours VOIP Pr MOUGHIT Mohamed 1

VOIP. Pr MOUGHIT Mohamed m.moughit@gmail.com. Cours VOIP Pr MOUGHIT Mohamed 1 VOIP Pr MOUGHIT Mohamed m.moughit@gmail.com Cours VOIP Pr MOUGHIT Mohamed 1 Connexion fixe, rédictible Connexion établie avant la numérotation user Centre de commutation La Radio est le suort imrédictible

Plus en détail

«INVESTIR SUR LE MARCHE INERNATIONAL DES ACTIONS A-T-IL PLUS D EFFET SUR LA PERSISTANCE DE LA PERFORMANCE DES FONDS? ILLUSTRATION BRITANNIQUE»

«INVESTIR SUR LE MARCHE INERNATIONAL DES ACTIONS A-T-IL PLUS D EFFET SUR LA PERSISTANCE DE LA PERFORMANCE DES FONDS? ILLUSTRATION BRITANNIQUE» Manuscrit auteur, ublié dans "«COMPTABILITE ET ENVIRONNEMENT», France (007)" «INVESTIR SUR LE MARCHE INERNATIONAL DES ACTIONS A-T-IL PLUS D EFFET SUR LA PERSISTANCE DE LA PERFORMANCE DES FONDS? ILLUSTRATION

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

En vue de l'obtention du. Présentée et soutenue par Philippe NERISSON Le 5 février 2009

En vue de l'obtention du. Présentée et soutenue par Philippe NERISSON Le 5 février 2009 THÈSE En vue de l'obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE Délivré ar l Institut National Polytechnique de Toulouse Disciline ou sécialité : Dynamique des Fluides Présentée et soutenue ar Philie

Plus en détail

Les emprunts indivis. Administration Économique et Sociale. Mathématiques XA100M

Les emprunts indivis. Administration Économique et Sociale. Mathématiques XA100M Les emprunts indivis Administration Économique et Sociale Mathématiques XA100M Les emprunts indivis sont les emprunts faits auprès d un seul prêteur. On va étudier le cas où le prêteur met à disposition

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

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

c. Calcul pour une évolution d une proportion entre deux années non consécutives Calcul des itervalles de cofiace our les EPCV 996-004 - Cas d u ourcetage ou d ue évolutio e oit das la oulatio totale des méages - Cas d u ourcetage ou d ue évolutio das ue sous oulatio das les méages

Plus en détail

Bois. P.21 Bois-béton à Paris. Carrefour du Bois. Saturateurs. Usinage fenêtres. Bardages P.25 P.34 P.31 P.37. La revue de l activité Bois en France

Bois. P.21 Bois-béton à Paris. Carrefour du Bois. Saturateurs. Usinage fenêtres. Bardages P.25 P.34 P.31 P.37. La revue de l activité Bois en France CMP Bois n 19-12 avril - mai 2010 P.25 Carrefour du Bois P.34 cm La revue de l activité Bois en France Bois Saturateurs P.31 Usinage fenêtres P.37 Bardages Tout our l usinage du bois massif. Tout d un

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

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

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Les marchés du crédit dans les PVD

Les marchés du crédit dans les PVD Les marchés du crédit dans les PVD 1. Introduction Partout, les marchés du crédit sont au centre de la caacité des économies à croître, uisqu ils financent l investissement. Le Taleau 1 montre ar exemle

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE BACCALAURÉAT GÉNÉRAL SESSION 2012 MATHÉMATIQUES Série S Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE Les calculatrices électroniques de poche sont autorisées, conformément à la

Plus en détail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Manuel de l'utilisateur

Manuel de l'utilisateur 0 Manuel de l'utilisateur Mise en route... 4 Votre Rider 0... 4 Réinitialiser le Rider 0... 5 Accessoires... 5 Icônes d'état... 5 Connexion, synchro et chargement... 6 Allumer/éteindre le Rider 0... 6

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Catalogue 3 Chaine sur Mesure

Catalogue 3 Chaine sur Mesure Catalogue 3 Chaine sur Mesure SUBAKI Les Chaines 2009 CAALGUE 3 Classification chaine sur mesure sériés de chaîne ye de chaîne subaki Caractéristiques RUNNER BS Performance suérieure Général Chaînes à

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

CATALOGUE 2. Chaine avec attachements

CATALOGUE 2. Chaine avec attachements CAALGUE 2 Chaine avec attachements SUBAKI LES CAIES 2010 CAALGUE 2 CAIE AVEC AACEMES Anti-corrosion Classification Sériés de ye de SUBAKI Caractéristiques RUER BS Performance suérieure Général Chaînes

Plus en détail

Intérêts. Administration Économique et Sociale. Mathématiques XA100M

Intérêts. Administration Économique et Sociale. Mathématiques XA100M Intérêts Administration Économique et Sociale Mathématiques XA100M 1. LA NOTION D INTÉRÊT 1.1. Définition. Définition 1. L intérêt est la rémunération d un prêt d argent effectué par un agent économique

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

Suites numériques 4. 1 Autres recettes pour calculer les limites

Suites numériques 4. 1 Autres recettes pour calculer les limites Suites numériques 4 1 Autres recettes pour calculer les limites La propriété suivante permet de calculer certaines limites comme on verra dans les exemples qui suivent. Propriété 1. Si u n l et fx) est

Plus en détail

Fibonacci et les paquerettes

Fibonacci et les paquerettes Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

Compression Compression par dictionnaires

Compression Compression par dictionnaires Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015 Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

Documents et lieux de mémoire de la persécution et de la déportation des Juifs à Nîmes. Pistes d'intervention auprès des classes de 3e et de 1ère.

Documents et lieux de mémoire de la persécution et de la déportation des Juifs à Nîmes. Pistes d'intervention auprès des classes de 3e et de 1ère. Documents et lieux de mémoire de la ersécution et de la déortation des Juifs à Nîmes. Pistes d'intervention aurès des classes de 3e et de 1ère. L'enseignement du génocide des Juifs est inscrite à trois

Plus en détail

Algorithmique et Programmation

Algorithmique et Programmation École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Cercle trigonométrique et mesures d angles

Cercle trigonométrique et mesures d angles Cercle trigonométrique et mesures d angles I) Le cercle trigonométrique Définition : Le cercle trigonométrique de centre O est un cercle qui a pour rayon 1 et qui est muni d un sens direct : le sens inverse

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Vous êtes un prestataire touristique dans les Monts de Guéret? L Office de Tourisme du Grand Guéret peut vous accompagner!

Vous êtes un prestataire touristique dans les Monts de Guéret? L Office de Tourisme du Grand Guéret peut vous accompagner! Le guide 2015 e u q i t s i r u o t e r i du artena Vous êtes un restataire touristique dans les Monts de Guéret? L Office de Tourisme du Grand Guéret eut vous accomagner! Qui sommes nous? 2 Edito Nouveau

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Mécanique du point : forces Newtoniennes (PCSI)

Mécanique du point : forces Newtoniennes (PCSI) écanique du oint : foces Newtoniennes (PCSI Question de cous On admet que, losqu'il est soumis à une foce Newtonienne F K u, la tajectoie d'un cos est lane et décite a mc K +e cosθ où C θ est une constante

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail