[{"data":1,"prerenderedAt":1348},["ShallowReactive",2],{"blog-tri-fusion":3},{"id":4,"title":5,"body":6,"coverImage":1335,"description":1336,"extension":1337,"meta":1338,"navigation":345,"path":1339,"published":345,"publishedAt":1340,"readTime":468,"seo":1341,"stem":1342,"tags":1343,"__hash__":1347},"blog\u002Fblog\u002Ftri-fusion.md","Le tri fusion expliqué simplement",{"type":7,"value":8,"toc":1294},"minimark",[9,14,19,23,26,34,38,41,60,64,67,139,142,146,149,161,165,170,180,184,199,203,230,233,237,240,243,252,255,261,265,661,665,681,685,753,757,760,763,767,770,773,777,807,810,814,818,830,836,840,858,863,867,894,899,903,907,910,914,917,921,924,928,931,934,948,952,956,959,963,966,970,973,977,983,987,991,1283,1287,1290],[10,11,13],"h1",{"id":12},"le-tri-fusion","Le tri fusion",[15,16,18],"h2",{"id":17},"introduction","Introduction",[20,21,22],"p",{},"Le tri fusion est un algorithme de tri plus avancé que le tri à bulles ou le tri par insertion.",[20,24,25],{},"Il repose sur une idée très puissante : diviser une liste en deux parties, trier chaque partie séparément, puis les fusionner.",[20,27,28,29,33],{},"Cette stratégie s'appelle le ",[30,31,32],"strong",{},"divide and conquer",".",[15,35,37],{"id":36},"ce-que-vous-allez-apprendre","Ce que vous allez apprendre",[20,39,40],{},"À la fin de ce tutoriel, vous saurez :",[42,43,44,48,51,54,57],"ul",{},[45,46,47],"li",{},"comprendre le principe du tri fusion ;",[45,49,50],{},"voir pourquoi il est plus performant que les tris simples ;",[45,52,53],{},"écrire l'algorithme en JavaScript ;",[45,55,56],{},"comprendre la notion de récursion ;",[45,58,59],{},"suivre l'étape de fusion pas à pas.",[15,61,63],{"id":62},"_1-le-problème-de-départ","1. Le problème de départ",[20,65,66],{},"Prenons cette liste :",[68,69,74],"pre",{"className":70,"code":71,"language":72,"meta":73,"style":73},"language-js shiki shiki-themes github-light github-dark","const numbers = [8, 4, 2, 9, 5, 1, 6, 3];\n","js","",[75,76,77],"code",{"__ignoreMap":73},[78,79,82,86,90,93,97,100,103,106,108,111,113,116,118,121,123,126,128,131,133,136],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"szBVR","const",[78,87,89],{"class":88},"sj4cs"," numbers",[78,91,92],{"class":84}," =",[78,94,96],{"class":95},"sVt8B"," [",[78,98,99],{"class":88},"8",[78,101,102],{"class":95},", ",[78,104,105],{"class":88},"4",[78,107,102],{"class":95},[78,109,110],{"class":88},"2",[78,112,102],{"class":95},[78,114,115],{"class":88},"9",[78,117,102],{"class":95},[78,119,120],{"class":88},"5",[78,122,102],{"class":95},[78,124,125],{"class":88},"1",[78,127,102],{"class":95},[78,129,130],{"class":88},"6",[78,132,102],{"class":95},[78,134,135],{"class":88},"3",[78,137,138],{"class":95},"];\n",[20,140,141],{},"Le but est de la trier dans l'ordre croissant.",[15,143,145],{"id":144},"_2-lidée-du-tri-fusion","2. L'idée du tri fusion",[20,147,148],{},"Le tri fusion fonctionne en trois temps :",[150,151,152,155,158],"ol",{},[45,153,154],{},"découper la liste en deux ;",[45,156,157],{},"trier récursivement chaque moitié ;",[45,159,160],{},"fusionner les deux moitiés triées.",[15,162,164],{"id":163},"_3-exemple-visuel","3. Exemple visuel",[166,167,169],"h3",{"id":168},"découpage","Découpage",[20,171,172,173,176,177,33],{},"On peut voir la liste comme deux moitiés : ",[75,174,175],{},"[8, 4, 2, 9]"," et ",[75,178,179],{},"[5, 1, 6, 3]",[166,181,183],{"id":182},"nouveau-découpage","Nouveau découpage",[20,185,186,187,102,190,102,193,102,196,33],{},"On découpe encore : ",[75,188,189],{},"[8, 4]",[75,191,192],{},"[2, 9]",[75,194,195],{},"[5, 1]",[75,197,198],{},"[6, 3]",[166,200,202],{"id":201},"puis-encore","Puis encore",[20,204,205,206,102,209,102,212,102,215,102,218,102,221,102,224,102,227,33],{},"On continue jusqu'à obtenir des listes d'un seul élément : ",[75,207,208],{},"[8]",[75,210,211],{},"[4]",[75,213,214],{},"[2]",[75,216,217],{},"[9]",[75,219,220],{},"[5]",[75,222,223],{},"[1]",[75,225,226],{},"[6]",[75,228,229],{},"[3]",[20,231,232],{},"Chaque petit tableau est déjà trié par définition, car il ne contient qu'un seul élément.",[15,234,236],{"id":235},"_4-la-fusion","4. La fusion",[20,238,239],{},"La fusion consiste à prendre deux tableaux triés et à les réunir dans le bon ordre.",[20,241,242],{},"Exemple :",[20,244,245,246,176,249,33],{},"Par exemple : ",[75,247,248],{},"[2, 8]",[75,250,251],{},"[4, 9]",[20,253,254],{},"Résultat :",[20,256,257,258,33],{},"Le résultat fusionné est : ",[75,259,260],{},"[2, 4, 8, 9]",[15,262,264],{"id":263},"_5-version-javascript","5. Version JavaScript",[68,266,268],{"className":70,"code":267,"language":72,"meta":73,"style":73},"function merge(left, right) {\n  const result = [];\n  let i = 0;\n  let j = 0;\n\n  while (i \u003C left.length && j \u003C right.length) {\n    if (left[i] \u003C= right[j]) {\n      result.push(left[i]);\n      i++;\n    } else {\n      result.push(right[j]);\n      j++;\n    }\n  }\n\n  return result.concat(left.slice(i)).concat(right.slice(j));\n}\n\nfunction mergeSort(array) {\n  if (array.length \u003C= 1) {\n    return array;\n  }\n\n  const middle = Math.floor(array.length \u002F 2);\n  const left = array.slice(0, middle);\n  const right = array.slice(middle);\n\n  return merge(mergeSort(left), mergeSort(right));\n}\n",[75,269,270,294,308,326,340,347,379,394,406,417,429,439,449,455,461,466,497,503,508,523,542,551,556,561,591,614,631,636,656],{"__ignoreMap":73},[78,271,272,275,279,282,286,288,291],{"class":80,"line":81},[78,273,274],{"class":84},"function",[78,276,278],{"class":277},"sScJk"," merge",[78,280,281],{"class":95},"(",[78,283,285],{"class":284},"s4XuR","left",[78,287,102],{"class":95},[78,289,290],{"class":284},"right",[78,292,293],{"class":95},") {\n",[78,295,297,300,303,305],{"class":80,"line":296},2,[78,298,299],{"class":84},"  const",[78,301,302],{"class":88}," result",[78,304,92],{"class":84},[78,306,307],{"class":95}," [];\n",[78,309,311,314,317,320,323],{"class":80,"line":310},3,[78,312,313],{"class":84},"  let",[78,315,316],{"class":95}," i ",[78,318,319],{"class":84},"=",[78,321,322],{"class":88}," 0",[78,324,325],{"class":95},";\n",[78,327,329,331,334,336,338],{"class":80,"line":328},4,[78,330,313],{"class":84},[78,332,333],{"class":95}," j ",[78,335,319],{"class":84},[78,337,322],{"class":88},[78,339,325],{"class":95},[78,341,343],{"class":80,"line":342},5,[78,344,346],{"emptyLinePlaceholder":345},true,"\n",[78,348,350,353,356,359,362,365,368,370,372,375,377],{"class":80,"line":349},6,[78,351,352],{"class":84},"  while",[78,354,355],{"class":95}," (i ",[78,357,358],{"class":84},"\u003C",[78,360,361],{"class":95}," left.",[78,363,364],{"class":88},"length",[78,366,367],{"class":84}," &&",[78,369,333],{"class":95},[78,371,358],{"class":84},[78,373,374],{"class":95}," right.",[78,376,364],{"class":88},[78,378,293],{"class":95},[78,380,382,385,388,391],{"class":80,"line":381},7,[78,383,384],{"class":84},"    if",[78,386,387],{"class":95}," (left[i] ",[78,389,390],{"class":84},"\u003C=",[78,392,393],{"class":95}," right[j]) {\n",[78,395,397,400,403],{"class":80,"line":396},8,[78,398,399],{"class":95},"      result.",[78,401,402],{"class":277},"push",[78,404,405],{"class":95},"(left[i]);\n",[78,407,409,412,415],{"class":80,"line":408},9,[78,410,411],{"class":95},"      i",[78,413,414],{"class":84},"++",[78,416,325],{"class":95},[78,418,420,423,426],{"class":80,"line":419},10,[78,421,422],{"class":95},"    } ",[78,424,425],{"class":84},"else",[78,427,428],{"class":95}," {\n",[78,430,432,434,436],{"class":80,"line":431},11,[78,433,399],{"class":95},[78,435,402],{"class":277},[78,437,438],{"class":95},"(right[j]);\n",[78,440,442,445,447],{"class":80,"line":441},12,[78,443,444],{"class":95},"      j",[78,446,414],{"class":84},[78,448,325],{"class":95},[78,450,452],{"class":80,"line":451},13,[78,453,454],{"class":95},"    }\n",[78,456,458],{"class":80,"line":457},14,[78,459,460],{"class":95},"  }\n",[78,462,464],{"class":80,"line":463},15,[78,465,346],{"emptyLinePlaceholder":345},[78,467,469,472,475,478,481,484,487,489,492,494],{"class":80,"line":468},16,[78,470,471],{"class":84},"  return",[78,473,474],{"class":95}," result.",[78,476,477],{"class":277},"concat",[78,479,480],{"class":95},"(left.",[78,482,483],{"class":277},"slice",[78,485,486],{"class":95},"(i)).",[78,488,477],{"class":277},[78,490,491],{"class":95},"(right.",[78,493,483],{"class":277},[78,495,496],{"class":95},"(j));\n",[78,498,500],{"class":80,"line":499},17,[78,501,502],{"class":95},"}\n",[78,504,506],{"class":80,"line":505},18,[78,507,346],{"emptyLinePlaceholder":345},[78,509,511,513,516,518,521],{"class":80,"line":510},19,[78,512,274],{"class":84},[78,514,515],{"class":277}," mergeSort",[78,517,281],{"class":95},[78,519,520],{"class":284},"array",[78,522,293],{"class":95},[78,524,526,529,532,534,537,540],{"class":80,"line":525},20,[78,527,528],{"class":84},"  if",[78,530,531],{"class":95}," (array.",[78,533,364],{"class":88},[78,535,536],{"class":84}," \u003C=",[78,538,539],{"class":88}," 1",[78,541,293],{"class":95},[78,543,545,548],{"class":80,"line":544},21,[78,546,547],{"class":84},"    return",[78,549,550],{"class":95}," array;\n",[78,552,554],{"class":80,"line":553},22,[78,555,460],{"class":95},[78,557,559],{"class":80,"line":558},23,[78,560,346],{"emptyLinePlaceholder":345},[78,562,564,566,569,571,574,577,580,582,585,588],{"class":80,"line":563},24,[78,565,299],{"class":84},[78,567,568],{"class":88}," middle",[78,570,92],{"class":84},[78,572,573],{"class":95}," Math.",[78,575,576],{"class":277},"floor",[78,578,579],{"class":95},"(array.",[78,581,364],{"class":88},[78,583,584],{"class":84}," \u002F",[78,586,587],{"class":88}," 2",[78,589,590],{"class":95},");\n",[78,592,594,596,599,601,604,606,608,611],{"class":80,"line":593},25,[78,595,299],{"class":84},[78,597,598],{"class":88}," left",[78,600,92],{"class":84},[78,602,603],{"class":95}," array.",[78,605,483],{"class":277},[78,607,281],{"class":95},[78,609,610],{"class":88},"0",[78,612,613],{"class":95},", middle);\n",[78,615,617,619,622,624,626,628],{"class":80,"line":616},26,[78,618,299],{"class":84},[78,620,621],{"class":88}," right",[78,623,92],{"class":84},[78,625,603],{"class":95},[78,627,483],{"class":277},[78,629,630],{"class":95},"(middle);\n",[78,632,634],{"class":80,"line":633},27,[78,635,346],{"emptyLinePlaceholder":345},[78,637,639,641,643,645,648,651,653],{"class":80,"line":638},28,[78,640,471],{"class":84},[78,642,278],{"class":277},[78,644,281],{"class":95},[78,646,647],{"class":277},"mergeSort",[78,649,650],{"class":95},"(left), ",[78,652,647],{"class":277},[78,654,655],{"class":95},"(right));\n",[78,657,659],{"class":80,"line":658},29,[78,660,502],{"class":95},[166,662,664],{"id":663},"explication","Explication",[42,666,667,672,678],{},[45,668,669,671],{},[75,670,647],{}," coupe la liste en deux jusqu'à obtenir des sous-listes d'un élément ;",[45,673,674,677],{},[75,675,676],{},"merge"," compare ensuite les deux listes triées ;",[45,679,680],{},"le résultat final est une nouvelle liste triée.",[15,682,684],{"id":683},"_6-exemple-dutilisation","6. Exemple d'utilisation",[68,686,688],{"className":70,"code":687,"language":72,"meta":73,"style":73},"const numbers = [8, 4, 2, 9, 5, 1, 6, 3];\nconsole.log(mergeSort(numbers));\n\u002F\u002F [1, 2, 3, 4, 5, 6, 8, 9]\n",[75,689,690,732,747],{"__ignoreMap":73},[78,691,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730],{"class":80,"line":81},[78,693,85],{"class":84},[78,695,89],{"class":88},[78,697,92],{"class":84},[78,699,96],{"class":95},[78,701,99],{"class":88},[78,703,102],{"class":95},[78,705,105],{"class":88},[78,707,102],{"class":95},[78,709,110],{"class":88},[78,711,102],{"class":95},[78,713,115],{"class":88},[78,715,102],{"class":95},[78,717,120],{"class":88},[78,719,102],{"class":95},[78,721,125],{"class":88},[78,723,102],{"class":95},[78,725,130],{"class":88},[78,727,102],{"class":95},[78,729,135],{"class":88},[78,731,138],{"class":95},[78,733,734,737,740,742,744],{"class":80,"line":296},[78,735,736],{"class":95},"console.",[78,738,739],{"class":277},"log",[78,741,281],{"class":95},[78,743,647],{"class":277},[78,745,746],{"class":95},"(numbers));\n",[78,748,749],{"class":80,"line":310},[78,750,752],{"class":751},"sJ8bj","\u002F\u002F [1, 2, 3, 4, 5, 6, 8, 9]\n",[15,754,756],{"id":755},"_7-pourquoi-le-tri-fusion-est-intéressant","7. Pourquoi le tri fusion est intéressant",[20,758,759],{},"Le tri fusion est plus performant que les tris simples sur de grandes listes.",[20,761,762],{},"Il est aussi très régulier : même si les données sont déjà presque triées, il garde une bonne stabilité de fonctionnement.",[15,764,766],{"id":765},"_8-le-rôle-de-la-récursion","8. Le rôle de la récursion",[20,768,769],{},"La récursion consiste à appeler une fonction elle-même.",[20,771,772],{},"Dans le tri fusion, cela permet de continuer à découper la liste jusqu'au cas le plus simple : une liste d'un seul élément.",[166,774,776],{"id":775},"cas-de-base","Cas de base",[68,778,780],{"className":70,"code":779,"language":72,"meta":73,"style":73},"if (array.length \u003C= 1) {\n  return array;\n}\n",[75,781,782,797,803],{"__ignoreMap":73},[78,783,784,787,789,791,793,795],{"class":80,"line":81},[78,785,786],{"class":84},"if",[78,788,531],{"class":95},[78,790,364],{"class":88},[78,792,536],{"class":84},[78,794,539],{"class":88},[78,796,293],{"class":95},[78,798,799,801],{"class":80,"line":296},[78,800,471],{"class":84},[78,802,550],{"class":95},[78,804,805],{"class":80,"line":310},[78,806,502],{"class":95},[20,808,809],{},"Ce cas de base est indispensable pour éviter une boucle infinie.",[15,811,813],{"id":812},"_9-les-cas-limites","9. Les cas limites",[166,815,817],{"id":816},"tableau-vide","Tableau vide",[68,819,821],{"className":70,"code":820,"language":72,"meta":73,"style":73},"mergeSort([]);\n",[75,822,823],{"__ignoreMap":73},[78,824,825,827],{"class":80,"line":81},[78,826,647],{"class":277},[78,828,829],{"class":95},"([]);\n",[20,831,832,833],{},"Résultat : ",[75,834,835],{},"[]",[166,837,839],{"id":838},"un-seul-élément","Un seul élément",[68,841,843],{"className":70,"code":842,"language":72,"meta":73,"style":73},"mergeSort([10]);\n",[75,844,845],{"__ignoreMap":73},[78,846,847,849,852,855],{"class":80,"line":81},[78,848,647],{"class":277},[78,850,851],{"class":95},"([",[78,853,854],{"class":88},"10",[78,856,857],{"class":95},"]);\n",[20,859,832,860],{},[75,861,862],{},"[10]",[166,864,866],{"id":865},"tableau-déjà-trié","Tableau déjà trié",[68,868,870],{"className":70,"code":869,"language":72,"meta":73,"style":73},"mergeSort([1, 2, 3, 4]);\n",[75,871,872],{"__ignoreMap":73},[78,873,874,876,878,880,882,884,886,888,890,892],{"class":80,"line":81},[78,875,647],{"class":277},[78,877,851],{"class":95},[78,879,125],{"class":88},[78,881,102],{"class":95},[78,883,110],{"class":88},[78,885,102],{"class":95},[78,887,135],{"class":88},[78,889,102],{"class":95},[78,891,105],{"class":88},[78,893,857],{"class":95},[20,895,832,896],{},[75,897,898],{},"[1, 2, 3, 4]",[15,900,902],{"id":901},"_10-erreurs-fréquentes","10. Erreurs fréquentes",[166,904,906],{"id":905},"oublier-le-cas-de-base","Oublier le cas de base",[20,908,909],{},"Sans condition d'arrêt, la récursion ne s'arrête jamais.",[166,911,913],{"id":912},"mélanger-fusion-et-découpage","Mélanger fusion et découpage",[20,915,916],{},"Le découpage et la fusion sont deux étapes différentes.",[166,918,920],{"id":919},"modifier-le-tableau-dorigine-sans-le-vouloir","Modifier le tableau d'origine sans le vouloir",[20,922,923],{},"Il est préférable de retourner une nouvelle liste pour garder la fonction plus propre.",[15,925,927],{"id":926},"_11-résumé","11. Résumé",[20,929,930],{},"Le tri fusion est un algorithme puissant et élégant.",[20,932,933],{},"À retenir :",[42,935,936,939,942,945],{},[45,937,938],{},"il divise la liste en deux ;",[45,940,941],{},"il trie récursivement chaque partie ;",[45,943,944],{},"il fusionne les résultats ;",[45,946,947],{},"il est plus performant que les tris simples sur les grandes listes.",[15,949,951],{"id":950},"exercices","Exercices",[166,953,955],{"id":954},"exercice-1","Exercice 1",[20,957,958],{},"Implémentez le tri fusion en JavaScript.",[166,960,962],{"id":961},"exercice-2","Exercice 2",[20,964,965],{},"Testez la fonction avec une liste vide.",[166,967,969],{"id":968},"exercice-3","Exercice 3",[20,971,972],{},"Testez la fonction avec une liste déjà triée.",[166,974,976],{"id":975},"exercice-4","Exercice 4",[20,978,979,980,982],{},"Essayez d'expliquer la fonction ",[75,981,676],{}," avec vos propres mots.",[15,984,986],{"id":985},"corrigés","Corrigés",[166,988,990],{"id":989},"correction-exercice-1","Correction exercice 1",[68,992,993],{"className":70,"code":267,"language":72,"meta":73,"style":73},[75,994,995,1011,1021,1033,1045,1049,1073,1083,1091,1099,1107,1115,1123,1127,1131,1135,1157,1161,1165,1177,1191,1197,1201,1205,1227,1245,1259,1263,1279],{"__ignoreMap":73},[78,996,997,999,1001,1003,1005,1007,1009],{"class":80,"line":81},[78,998,274],{"class":84},[78,1000,278],{"class":277},[78,1002,281],{"class":95},[78,1004,285],{"class":284},[78,1006,102],{"class":95},[78,1008,290],{"class":284},[78,1010,293],{"class":95},[78,1012,1013,1015,1017,1019],{"class":80,"line":296},[78,1014,299],{"class":84},[78,1016,302],{"class":88},[78,1018,92],{"class":84},[78,1020,307],{"class":95},[78,1022,1023,1025,1027,1029,1031],{"class":80,"line":310},[78,1024,313],{"class":84},[78,1026,316],{"class":95},[78,1028,319],{"class":84},[78,1030,322],{"class":88},[78,1032,325],{"class":95},[78,1034,1035,1037,1039,1041,1043],{"class":80,"line":328},[78,1036,313],{"class":84},[78,1038,333],{"class":95},[78,1040,319],{"class":84},[78,1042,322],{"class":88},[78,1044,325],{"class":95},[78,1046,1047],{"class":80,"line":342},[78,1048,346],{"emptyLinePlaceholder":345},[78,1050,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071],{"class":80,"line":349},[78,1052,352],{"class":84},[78,1054,355],{"class":95},[78,1056,358],{"class":84},[78,1058,361],{"class":95},[78,1060,364],{"class":88},[78,1062,367],{"class":84},[78,1064,333],{"class":95},[78,1066,358],{"class":84},[78,1068,374],{"class":95},[78,1070,364],{"class":88},[78,1072,293],{"class":95},[78,1074,1075,1077,1079,1081],{"class":80,"line":381},[78,1076,384],{"class":84},[78,1078,387],{"class":95},[78,1080,390],{"class":84},[78,1082,393],{"class":95},[78,1084,1085,1087,1089],{"class":80,"line":396},[78,1086,399],{"class":95},[78,1088,402],{"class":277},[78,1090,405],{"class":95},[78,1092,1093,1095,1097],{"class":80,"line":408},[78,1094,411],{"class":95},[78,1096,414],{"class":84},[78,1098,325],{"class":95},[78,1100,1101,1103,1105],{"class":80,"line":419},[78,1102,422],{"class":95},[78,1104,425],{"class":84},[78,1106,428],{"class":95},[78,1108,1109,1111,1113],{"class":80,"line":431},[78,1110,399],{"class":95},[78,1112,402],{"class":277},[78,1114,438],{"class":95},[78,1116,1117,1119,1121],{"class":80,"line":441},[78,1118,444],{"class":95},[78,1120,414],{"class":84},[78,1122,325],{"class":95},[78,1124,1125],{"class":80,"line":451},[78,1126,454],{"class":95},[78,1128,1129],{"class":80,"line":457},[78,1130,460],{"class":95},[78,1132,1133],{"class":80,"line":463},[78,1134,346],{"emptyLinePlaceholder":345},[78,1136,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155],{"class":80,"line":468},[78,1138,471],{"class":84},[78,1140,474],{"class":95},[78,1142,477],{"class":277},[78,1144,480],{"class":95},[78,1146,483],{"class":277},[78,1148,486],{"class":95},[78,1150,477],{"class":277},[78,1152,491],{"class":95},[78,1154,483],{"class":277},[78,1156,496],{"class":95},[78,1158,1159],{"class":80,"line":499},[78,1160,502],{"class":95},[78,1162,1163],{"class":80,"line":505},[78,1164,346],{"emptyLinePlaceholder":345},[78,1166,1167,1169,1171,1173,1175],{"class":80,"line":510},[78,1168,274],{"class":84},[78,1170,515],{"class":277},[78,1172,281],{"class":95},[78,1174,520],{"class":284},[78,1176,293],{"class":95},[78,1178,1179,1181,1183,1185,1187,1189],{"class":80,"line":525},[78,1180,528],{"class":84},[78,1182,531],{"class":95},[78,1184,364],{"class":88},[78,1186,536],{"class":84},[78,1188,539],{"class":88},[78,1190,293],{"class":95},[78,1192,1193,1195],{"class":80,"line":544},[78,1194,547],{"class":84},[78,1196,550],{"class":95},[78,1198,1199],{"class":80,"line":553},[78,1200,460],{"class":95},[78,1202,1203],{"class":80,"line":558},[78,1204,346],{"emptyLinePlaceholder":345},[78,1206,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225],{"class":80,"line":563},[78,1208,299],{"class":84},[78,1210,568],{"class":88},[78,1212,92],{"class":84},[78,1214,573],{"class":95},[78,1216,576],{"class":277},[78,1218,579],{"class":95},[78,1220,364],{"class":88},[78,1222,584],{"class":84},[78,1224,587],{"class":88},[78,1226,590],{"class":95},[78,1228,1229,1231,1233,1235,1237,1239,1241,1243],{"class":80,"line":593},[78,1230,299],{"class":84},[78,1232,598],{"class":88},[78,1234,92],{"class":84},[78,1236,603],{"class":95},[78,1238,483],{"class":277},[78,1240,281],{"class":95},[78,1242,610],{"class":88},[78,1244,613],{"class":95},[78,1246,1247,1249,1251,1253,1255,1257],{"class":80,"line":616},[78,1248,299],{"class":84},[78,1250,621],{"class":88},[78,1252,92],{"class":84},[78,1254,603],{"class":95},[78,1256,483],{"class":277},[78,1258,630],{"class":95},[78,1260,1261],{"class":80,"line":633},[78,1262,346],{"emptyLinePlaceholder":345},[78,1264,1265,1267,1269,1271,1273,1275,1277],{"class":80,"line":638},[78,1266,471],{"class":84},[78,1268,278],{"class":277},[78,1270,281],{"class":95},[78,1272,647],{"class":277},[78,1274,650],{"class":95},[78,1276,647],{"class":277},[78,1278,655],{"class":95},[78,1280,1281],{"class":80,"line":658},[78,1282,502],{"class":95},[15,1284,1286],{"id":1285},"prochaine-étape","Prochaine étape",[20,1288,1289],{},"Après le tri fusion, le tri rapide est un excellent algorithme à découvrir, car il utilise lui aussi le principe du découpage, mais d'une manière différente.",[1291,1292,1293],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":73,"searchDepth":296,"depth":296,"links":1295},[1296,1297,1298,1299,1300,1305,1306,1309,1310,1311,1314,1319,1324,1325,1331,1334],{"id":17,"depth":296,"text":18},{"id":36,"depth":296,"text":37},{"id":62,"depth":296,"text":63},{"id":144,"depth":296,"text":145},{"id":163,"depth":296,"text":164,"children":1301},[1302,1303,1304],{"id":168,"depth":310,"text":169},{"id":182,"depth":310,"text":183},{"id":201,"depth":310,"text":202},{"id":235,"depth":296,"text":236},{"id":263,"depth":296,"text":264,"children":1307},[1308],{"id":663,"depth":310,"text":664},{"id":683,"depth":296,"text":684},{"id":755,"depth":296,"text":756},{"id":765,"depth":296,"text":766,"children":1312},[1313],{"id":775,"depth":310,"text":776},{"id":812,"depth":296,"text":813,"children":1315},[1316,1317,1318],{"id":816,"depth":310,"text":817},{"id":838,"depth":310,"text":839},{"id":865,"depth":310,"text":866},{"id":901,"depth":296,"text":902,"children":1320},[1321,1322,1323],{"id":905,"depth":310,"text":906},{"id":912,"depth":310,"text":913},{"id":919,"depth":310,"text":920},{"id":926,"depth":296,"text":927},{"id":950,"depth":296,"text":951,"children":1326},[1327,1328,1329,1330],{"id":954,"depth":310,"text":955},{"id":961,"depth":310,"text":962},{"id":968,"depth":310,"text":969},{"id":975,"depth":310,"text":976},{"id":985,"depth":296,"text":986,"children":1332},[1333],{"id":989,"depth":310,"text":990},{"id":1285,"depth":296,"text":1286},null,"Un tutoriel complet pour comprendre le tri fusion, découvrir la logique du divide and conquer et l'implémenter pas à pas en JavaScript.","md",{},"\u002Fblog\u002Ftri-fusion","2026-06-09",{"title":5,"description":1336},"blog\u002Ftri-fusion",[1344,1345,1346],"Algorithmes","Tri","JavaScript","9pItolCfPj5P5na4_Ck5gan0k82iLCKs0ppLyXBUAxI",1788219651416]