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