[{"data":1,"prerenderedAt":20464},["ShallowReactive",2],{"navigation":3,"chapter-cours-nsi-1ere\u002Fph-algorithmique":585,"chapter-index-nsi-1ere\u002Fph-algorithmique":13860,"chapter-memo-nsi-1ere\u002Fph-algorithmique":14057},[4,224,440],{"title":5,"path":6,"stem":7,"children":8},"SNT — Seconde","\u002Fsnt-2nde","0.snt-2nde\u002F0.index",[9,10,14,36,66,92,118,144,162,184,206],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"REVIEW pédagogique — SNT 2nde","\u002Fsnt-2nde\u002Freview","0.snt-2nde\u002FREVIEW",{"title":15,"path":16,"stem":17,"children":18},"Internet","\u002Fsnt-2nde\u002Fsa-internet","0.snt-2nde\u002Fsa-internet\u002F0.index",[19,20,24,28,32],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Adresses symboliques et DNS","\u002Fsnt-2nde\u002Fsa-internet\u002Fadresses-dns","0.snt-2nde\u002Fsa-internet\u002F1.adresses-dns",{"title":25,"path":26,"stem":27},"Internet et les réseaux physiques","\u002Fsnt-2nde\u002Fsa-internet\u002Freseaux-physiques","0.snt-2nde\u002Fsa-internet\u002F2.reseaux-physiques",{"title":29,"path":30,"stem":31},"Protocoles TCP\u002FIP et routage des paquets","\u002Fsnt-2nde\u002Fsa-internet\u002Ftcp-ip-routage","0.snt-2nde\u002Fsa-internet\u002F3.tcp-ip-routage",{"title":33,"path":34,"stem":35},"Réseaux pair-à-pair","\u002Fsnt-2nde\u002Fsa-internet\u002Fpair-a-pair","0.snt-2nde\u002Fsa-internet\u002F4.pair-a-pair",{"title":37,"path":38,"stem":39,"children":40},"Le Web","\u002Fsnt-2nde\u002Fsb-web","0.snt-2nde\u002Fsb-web\u002F0.index",[41,42,46,50,54,58,62],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Histoire du Web","\u002Fsnt-2nde\u002Fsb-web\u002Fhistoire-web","0.snt-2nde\u002Fsb-web\u002F1.histoire-web",{"title":47,"path":48,"stem":49},"URL et hypertexte","\u002Fsnt-2nde\u002Fsb-web\u002Furl-hypertexte","0.snt-2nde\u002Fsb-web\u002F2.url-hypertexte",{"title":51,"path":52,"stem":53},"HTML et CSS — le contenu et la présentation","\u002Fsnt-2nde\u002Fsb-web\u002Fhtml-css","0.snt-2nde\u002Fsb-web\u002F3.html-css",{"title":55,"path":56,"stem":57},"Client-serveur et requêtes HTTP","\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http","0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http",{"title":59,"path":60,"stem":61},"Moteurs de recherche","\u002Fsnt-2nde\u002Fsb-web\u002Fmoteurs-recherche","0.snt-2nde\u002Fsb-web\u002F5.moteurs-recherche",{"title":63,"path":64,"stem":65},"Sécurité du navigateur et notions juridiques","\u002Fsnt-2nde\u002Fsb-web\u002Fsecurite-droits","0.snt-2nde\u002Fsb-web\u002F6.securite-droits",{"title":67,"path":68,"stem":69,"children":70},"Les réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F0.index",[71,72,76,80,84,88],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75},"Panorama des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpanorama-rs","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F1.panorama-rs",{"title":77,"path":78,"stem":79},"Identité numérique et authentification","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fidentite-numerique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F2.identite-numerique",{"title":81,"path":82,"stem":83},"Le modèle économique des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fmodele-economique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F3.modele-economique",{"title":85,"path":86,"stem":87},"Petit monde et graphes","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpetit-monde-graphes","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F4.petit-monde-graphes",{"title":89,"path":90,"stem":91},"La cyberviolence","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fcyberviolence","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F5.cyberviolence",{"title":93,"path":94,"stem":95,"children":96},"Les données structurées et leur traitement","\u002Fsnt-2nde\u002Fsd-donnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F0.index",[97,98,102,106,110,114],{"title":93,"path":94,"stem":95},{"title":99,"path":100,"stem":101},"Données et formats","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-formats","0.snt-2nde\u002Fsd-donnees-structurees\u002F1.donnees-formats",{"title":103,"path":104,"stem":105},"Données structurées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F2.donnees-structurees",{"title":107,"path":108,"stem":109},"Métadonnées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fmetadonnees","0.snt-2nde\u002Fsd-donnees-structurees\u002F3.metadonnees",{"title":111,"path":112,"stem":113},"Traitement de tables","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Ftraitement-tables","0.snt-2nde\u002Fsd-donnees-structurees\u002F4.traitement-tables",{"title":115,"path":116,"stem":117},"Le cloud","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fcloud","0.snt-2nde\u002Fsd-donnees-structurees\u002F5.cloud",{"title":119,"path":120,"stem":121,"children":122},"Localisation, cartographie et mobilité","\u002Fsnt-2nde\u002Fse-localisation-cartographie","0.snt-2nde\u002Fse-localisation-cartographie\u002F0.index",[123,124,128,132,136,140],{"title":119,"path":120,"stem":121},{"title":125,"path":126,"stem":127},"GPS et Galileo — se situer grâce aux satellites","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fgps-galileo","0.snt-2nde\u002Fse-localisation-cartographie\u002F1.gps-galileo",{"title":129,"path":130,"stem":131},"Décoder une trame NMEA","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Ftrame-nmea","0.snt-2nde\u002Fse-localisation-cartographie\u002F2.trame-nmea",{"title":133,"path":134,"stem":135},"Cartes numériques — GeoPortail et OpenStreetMap","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fcartes-numeriques","0.snt-2nde\u002Fse-localisation-cartographie\u002F3.cartes-numeriques",{"title":137,"path":138,"stem":139},"Itinéraires et graphes","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fitineraires-graphes","0.snt-2nde\u002Fse-localisation-cartographie\u002F4.itineraires-graphes",{"title":141,"path":142,"stem":143},"Confidentialité de la position","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fconfidentialite-position","0.snt-2nde\u002Fse-localisation-cartographie\u002F5.confidentialite-position",{"title":145,"path":146,"stem":147,"children":148},"Informatique embarquée et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee","0.snt-2nde\u002Fsf-info-embarquee\u002F0.index",[149,150,154,158],{"title":145,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Systèmes informatiques embarqués","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fsystemes-embarques","0.snt-2nde\u002Fsf-info-embarquee\u002F1.systemes-embarques",{"title":155,"path":156,"stem":157},"Capteurs et actionneurs","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fcapteurs-actionneurs","0.snt-2nde\u002Fsf-info-embarquee\u002F2.capteurs-actionneurs",{"title":159,"path":160,"stem":161},"IHM et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fihm-objet-connecte","0.snt-2nde\u002Fsf-info-embarquee\u002F3.ihm-objet-connecte",{"title":163,"path":164,"stem":165,"children":166},"Photographie numérique","\u002Fsnt-2nde\u002Fsg-photo-numerique","0.snt-2nde\u002Fsg-photo-numerique\u002F0.index",[167,168,172,176,180],{"title":163,"path":164,"stem":165},{"title":169,"path":170,"stem":171},"Photosites, pixels et résolution","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fpixels-resolution","0.snt-2nde\u002Fsg-photo-numerique\u002F1.pixels-resolution",{"title":173,"path":174,"stem":175},"Les algorithmes de l'appareil photo","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Falgorithmes-photo","0.snt-2nde\u002Fsg-photo-numerique\u002F2.algorithmes-photo",{"title":177,"path":178,"stem":179},"Les métadonnées EXIF","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fmetadonnees-exif","0.snt-2nde\u002Fsg-photo-numerique\u002F3.metadonnees-exif",{"title":181,"path":182,"stem":183},"Traiter une image en Python","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Ftraitement-rgb","0.snt-2nde\u002Fsg-photo-numerique\u002F4.traitement-rgb",{"title":185,"path":186,"stem":187,"children":188},"Notions transversales de programmation","\u002Fsnt-2nde\u002Fsh-prog-notions","0.snt-2nde\u002Fsh-prog-notions\u002F0.index",[189,190,194,198,202],{"title":185,"path":186,"stem":187},{"title":191,"path":192,"stem":193},"Séquences d'instructions et variables","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fsequences-affectations","0.snt-2nde\u002Fsh-prog-notions\u002F1.sequences-affectations",{"title":195,"path":196,"stem":197},"Instructions conditionnelles","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fconditionnelles","0.snt-2nde\u002Fsh-prog-notions\u002F2.conditionnelles",{"title":199,"path":200,"stem":201},"Boucles bornées et non bornées","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fboucles","0.snt-2nde\u002Fsh-prog-notions\u002F3.boucles",{"title":203,"path":204,"stem":205},"Définitions et appels de fonctions","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Ffonctions","0.snt-2nde\u002Fsh-prog-notions\u002F4.fonctions",{"title":207,"path":208,"stem":209,"children":210},"Démo des widgets MDC","\u002Fsnt-2nde\u002Fzz-demo-widgets","0.snt-2nde\u002Fzz-demo-widgets\u002F0.index",[211,212,216,220],{"title":207,"path":208,"stem":209},{"title":213,"path":214,"stem":215},"Démo statique — callouts, code, BO, illustration","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fstatique","0.snt-2nde\u002Fzz-demo-widgets\u002F1.statique",{"title":217,"path":218,"stem":219},"Démo interactive — self-eval et python-snippet","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Finteractif","0.snt-2nde\u002Fzz-demo-widgets\u002F2.interactif",{"title":221,"path":222,"stem":223},"Démo · 14 widgets de manipulation NSI","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fwidgets-manipulation","0.snt-2nde\u002Fzz-demo-widgets\u002F3.widgets-manipulation",{"title":225,"path":226,"stem":227,"children":228},"NSI — Première","\u002Fnsi-1ere","1.nsi-1ere\u002F0.index",[229,230,234,256,282,304,328,354,380,410],{"title":225,"path":226,"stem":227},{"title":231,"path":232,"stem":233},"Relecture pédagogique — 8 chapitres NSI 1ère (PA → PH)","\u002Fnsi-1ere\u002Freview","1.nsi-1ere\u002FREVIEW",{"title":235,"path":236,"stem":237,"children":238},"Histoire de l'informatique","\u002Fnsi-1ere\u002Fpa-histoire-info","1.nsi-1ere\u002Fpa-histoire-info\u002F0.index",[239,240,244,248,252],{"title":235,"path":236,"stem":237},{"title":241,"path":242,"stem":243},"De la préantiquité aux machines à calculer","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fpreantiquite-aux-machines","1.nsi-1ere\u002Fpa-histoire-info\u002F1.preantiquite-aux-machines",{"title":245,"path":246,"stem":247},"La machine universelle (1930-1950)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fmachine-universelle","1.nsi-1ere\u002Fpa-histoire-info\u002F2.machine-universelle",{"title":249,"path":250,"stem":251},"Les ordinateurs modernes (1947-1990)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fordinateurs-modernes","1.nsi-1ere\u002Fpa-histoire-info\u002F3.ordinateurs-modernes",{"title":253,"path":254,"stem":255},"Réseaux, Web et IA (1969 à aujourd'hui)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Freseaux-et-web","1.nsi-1ere\u002Fpa-histoire-info\u002F4.reseaux-et-web",{"title":257,"path":258,"stem":259,"children":260},"Représentation des données — types et valeurs","\u002Fnsi-1ere\u002Fpb-types-valeurs","1.nsi-1ere\u002Fpb-types-valeurs\u002F0.index",[261,262,266,270,274,278],{"title":257,"path":258,"stem":259},{"title":263,"path":264,"stem":265},"Bases de numération et entiers positifs","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbases-entiers-positifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F1.bases-entiers-positifs",{"title":267,"path":268,"stem":269},"Entiers relatifs et complément à deux","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fentiers-relatifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F2.entiers-relatifs",{"title":271,"path":272,"stem":273},"Nombres flottants et virgule flottante","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fflottants","1.nsi-1ere\u002Fpb-types-valeurs\u002F3.flottants",{"title":275,"path":276,"stem":277},"Textes et encodages — ASCII, ISO-8859-1, Unicode","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Ftextes-encodages","1.nsi-1ere\u002Fpb-types-valeurs\u002F4.textes-encodages",{"title":279,"path":280,"stem":281},"Valeurs booléennes et opérateurs logiques","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbooleens","1.nsi-1ere\u002Fpb-types-valeurs\u002F5.booleens",{"title":283,"path":284,"stem":285,"children":286},"Représentation des données : types construits","\u002Fnsi-1ere\u002Fpc-types-construits","1.nsi-1ere\u002Fpc-types-construits\u002F0.index",[287,288,292,296,300],{"title":283,"path":284,"stem":285},{"title":289,"path":290,"stem":291},"Tableaux et listes","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftableaux-listes","1.nsi-1ere\u002Fpc-types-construits\u002F1.tableaux-listes",{"title":293,"path":294,"stem":295},"Listes en compréhension","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fcomprehension","1.nsi-1ere\u002Fpc-types-construits\u002F2.comprehension",{"title":297,"path":298,"stem":299},"Tuples et p-uplets nommés","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftuples","1.nsi-1ere\u002Fpc-types-construits\u002F3.tuples",{"title":301,"path":302,"stem":303},"Dictionnaires","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fdictionnaires","1.nsi-1ere\u002Fpc-types-construits\u002F4.dictionnaires",{"title":305,"path":306,"stem":307,"children":308},"Traitement de données en tables","\u002Fnsi-1ere\u002Fpd-tables-donnees","1.nsi-1ere\u002Fpd-tables-donnees\u002F0.index",[309,310,314,318,322],{"title":305,"path":306,"stem":307},{"title":311,"path":312,"stem":313},"Tables et CSV","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftables-csv","1.nsi-1ere\u002Fpd-tables-donnees\u002F1.tables-csv",{"title":315,"path":316,"stem":317},"Recherche et filtrage","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Frecherche","1.nsi-1ere\u002Fpd-tables-donnees\u002F2.recherche",{"title":319,"path":320,"stem":321},"Trier une table","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri","1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri",{"title":323,"path":324,"stem":325,"children":326},"Fusion et indexation","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ffusion-indexation","1.nsi-1ere\u002Fpd-tables-donnees\u002F4.fusion-indexation",[327],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331,"children":332},"IHM sur le Web","\u002Fnsi-1ere\u002Fpe-ihm-web","1.nsi-1ere\u002Fpe-ihm-web\u002F0.index",[333,334,338,342,346,350],{"title":329,"path":330,"stem":331},{"title":335,"path":336,"stem":337},"HTML et CSS — rappel de structure","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fhtml-css-bases","1.nsi-1ere\u002Fpe-ihm-web\u002F1.html-css-bases",{"title":339,"path":340,"stem":341},"Formulaires HTML","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fformulaires","1.nsi-1ere\u002Fpe-ihm-web\u002F2.formulaires",{"title":343,"path":344,"stem":345},"Événements JavaScript","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fevenements-js","1.nsi-1ere\u002Fpe-ihm-web\u002F3.evenements-js",{"title":347,"path":348,"stem":349},"Manipulation du DOM","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fdom-interaction","1.nsi-1ere\u002Fpe-ihm-web\u002F4.dom-interaction",{"title":351,"path":352,"stem":353},"Client, serveur et HTTP","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fclient-serveur-http","1.nsi-1ere\u002Fpe-ihm-web\u002F5.client-serveur-http",{"title":355,"path":356,"stem":357,"children":358},"Architectures matérielles et systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os","1.nsi-1ere\u002Fpf-archi-os\u002F0.index",[359,360,364,368,372,376],{"title":355,"path":356,"stem":357},{"title":361,"path":362,"stem":363},"Le modèle de von Neumann","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fvon-neumann","1.nsi-1ere\u002Fpf-archi-os\u002F1.von-neumann",{"title":365,"path":366,"stem":367},"Périphériques et interface homme-machine","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fperipheriques-ihm","1.nsi-1ere\u002Fpf-archi-os\u002F2.peripheriques-ihm",{"title":369,"path":370,"stem":371},"Les systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fsystemes-exploitation","1.nsi-1ere\u002Fpf-archi-os\u002F3.systemes-exploitation",{"title":373,"path":374,"stem":375},"Linux et le shell","\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell","1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell",{"title":377,"path":378,"stem":379},"Réseaux et protocoles","\u002Fnsi-1ere\u002Fpf-archi-os\u002Freseaux","1.nsi-1ere\u002Fpf-archi-os\u002F5.reseaux",{"title":381,"path":382,"stem":383,"children":384},"Langages et programmation","\u002Fnsi-1ere\u002Fpg-langages-prog","1.nsi-1ere\u002Fpg-langages-prog\u002F0.index",[385,386,390,394,398,402,406],{"title":381,"path":382,"stem":383},{"title":387,"path":388,"stem":389},"Diversité et unité des langages de programmation","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fdiversite-langages","1.nsi-1ere\u002Fpg-langages-prog\u002F1.diversite-langages",{"title":391,"path":392,"stem":393},"Constructions élémentaires","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fconstructions-elementaires","1.nsi-1ere\u002Fpg-langages-prog\u002F2.constructions-elementaires",{"title":395,"path":396,"stem":397},"Fonctions","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Ffonctions","1.nsi-1ere\u002Fpg-langages-prog\u002F3.fonctions",{"title":399,"path":400,"stem":401},"Spécification d'une fonction","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fspecification","1.nsi-1ere\u002Fpg-langages-prog\u002F4.specification",{"title":403,"path":404,"stem":405},"Mise au point des programmes","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fmise-au-point","1.nsi-1ere\u002Fpg-langages-prog\u002F5.mise-au-point",{"title":407,"path":408,"stem":409},"Utilisation de bibliothèques","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fbibliotheques","1.nsi-1ere\u002Fpg-langages-prog\u002F6.bibliotheques",{"title":411,"path":412,"stem":413,"children":414},"Algorithmique","\u002Fnsi-1ere\u002Fph-algorithmique","1.nsi-1ere\u002Fph-algorithmique\u002F0.index",[415,416,420,424,428,432,436],{"title":411,"path":412,"stem":413},{"title":417,"path":418,"stem":419},"Parcours séquentiel d'un tableau","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fparcours-sequentiel","1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel",{"title":421,"path":422,"stem":423},"Bases de la complexité","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fcomplexite-bases","1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases",{"title":425,"path":426,"stem":427},"Tris par sélection et par insertion","\u002Fnsi-1ere\u002Fph-algorithmique\u002Ftris","1.nsi-1ere\u002Fph-algorithmique\u002F3.tris",{"title":429,"path":430,"stem":431},"Recherche dichotomique","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fdichotomie","1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie",{"title":433,"path":434,"stem":435},"Algorithmes gloutons","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fgloutons","1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons",{"title":437,"path":438,"stem":439},"Les k plus proches voisins (k-NN)","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fknn","1.nsi-1ere\u002Fph-algorithmique\u002F6.knn",{"title":441,"path":442,"stem":443,"children":444},"NSI — Terminale","\u002Fnsi-tale","2.nsi-tale\u002F0.index",[445,446,450,476,498,536,560],{"title":441,"path":442,"stem":443},{"title":447,"path":448,"stem":449},"Review pédagogique — chapitres NSI Terminale (TA, TB, TC, TD, TE)","\u002Fnsi-tale\u002Freview","2.nsi-tale\u002FREVIEW",{"title":451,"path":452,"stem":453,"children":454},"Structures de données","\u002Fnsi-tale\u002Fta-structures-donnees","2.nsi-tale\u002Fta-structures-donnees\u002F0.index",[455,456,460,464,468,472],{"title":451,"path":452,"stem":453},{"title":457,"path":458,"stem":459},"Objet, classe, interface","\u002Fnsi-tale\u002Fta-structures-donnees\u002Finterface-implementation","2.nsi-tale\u002Fta-structures-donnees\u002F1.interface-implementation",{"title":461,"path":462,"stem":463},"Implémenter une structure — l'exemple de la file FIFO","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fimplementer-une-structure","2.nsi-tale\u002Fta-structures-donnees\u002F2.implementer-une-structure",{"title":465,"path":466,"stem":467},"Listes, piles, files, dictionnaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Flistes-piles-files-dict","2.nsi-tale\u002Fta-structures-donnees\u002F3.listes-piles-files-dict",{"title":469,"path":470,"stem":471},"Arbres binaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Farbres-binaires","2.nsi-tale\u002Fta-structures-donnees\u002F4.arbres-binaires",{"title":473,"path":474,"stem":475},"Graphes","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fgraphes","2.nsi-tale\u002Fta-structures-donnees\u002F5.graphes",{"title":477,"path":478,"stem":479,"children":480},"Bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees","2.nsi-tale\u002Ftb-bases-de-donnees\u002F0.index",[481,482,486,490,494],{"title":477,"path":478,"stem":479},{"title":483,"path":484,"stem":485},"Le modèle relationnel","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fmodele-relationnel","2.nsi-tale\u002Ftb-bases-de-donnees\u002F1.modele-relationnel",{"title":487,"path":488,"stem":489},"Bases de données relationnelles et anomalies de schéma","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fbase-relationnelle","2.nsi-tale\u002Ftb-bases-de-donnees\u002F2.base-relationnelle",{"title":491,"path":492,"stem":493},"Le langage SQL","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsql","2.nsi-tale\u002Ftb-bases-de-donnees\u002F3.sql",{"title":495,"path":496,"stem":497},"Les systèmes de gestion de bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsgbd","2.nsi-tale\u002Ftb-bases-de-donnees\u002F4.sgbd",{"title":499,"path":500,"stem":501,"children":502},"Architectures matérielles, systèmes d'exploitation et réseaux","\u002Fnsi-tale\u002Ftc-archi-os-reseaux","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F0.index",[503,504,508,512,516,520,524,528,532],{"title":499,"path":500,"stem":501},{"title":505,"path":506,"stem":507},"Le système sur puce (SoC)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fsysteme-sur-puce","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F1.systeme-sur-puce",{"title":509,"path":510,"stem":511},"Processus et ordonnancement par l'OS","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprocessus-os","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F2.processus-os",{"title":513,"path":514,"stem":515},"L'interblocage (deadlock)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Finterblocage","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F3.interblocage",{"title":517,"path":518,"stem":519},"Principes du routage","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Froutage-principes","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F4.routage-principes",{"title":521,"path":522,"stem":523},"Protocoles de routage RIP et OSPF","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprotocoles-rip-ospf","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F5.protocoles-rip-ospf",{"title":525,"path":526,"stem":527},"Chiffrement symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-symetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F6.chiffrement-symetrique",{"title":529,"path":530,"stem":531},"Chiffrement asymétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-asymetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F7.chiffrement-asymetrique",{"title":533,"path":534,"stem":535},"HTTPS — l'échange de clé symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fhttps-tls","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F8.https-tls",{"title":381,"path":537,"stem":538,"children":539},"\u002Fnsi-tale\u002Ftd-langages-prog","2.nsi-tale\u002Ftd-langages-prog\u002F0.index",[540,541,544,548,552,556],{"title":381,"path":537,"stem":538},{"title":403,"path":542,"stem":543},"\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmise-au-point","2.nsi-tale\u002Ftd-langages-prog\u002F1.mise-au-point",{"title":545,"path":546,"stem":547},"Modularité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmodularite","2.nsi-tale\u002Ftd-langages-prog\u002F2.modularite",{"title":549,"path":550,"stem":551},"Récursivité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Frecursivite","2.nsi-tale\u002Ftd-langages-prog\u002F3.recursivite",{"title":553,"path":554,"stem":555},"Paradigmes de programmation","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fparadigmes","2.nsi-tale\u002Ftd-langages-prog\u002F4.paradigmes",{"title":557,"path":558,"stem":559},"Programme comme donnée — calculabilité et indécidabilité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fprogramme-comme-donnee","2.nsi-tale\u002Ftd-langages-prog\u002F5.programme-comme-donnee",{"title":411,"path":561,"stem":562,"children":563},"\u002Fnsi-tale\u002Fte-algorithmique","2.nsi-tale\u002Fte-algorithmique\u002F0.index",[564,565,569,573,577,581],{"title":411,"path":561,"stem":562},{"title":566,"path":567,"stem":568},"Algorithmes sur les arbres binaires","\u002Fnsi-tale\u002Fte-algorithmique\u002Farbres-binaires-algos","2.nsi-tale\u002Fte-algorithmique\u002F1.arbres-binaires-algos",{"title":570,"path":571,"stem":572},"Parcours de graphes — DFS, BFS, cycles, chemins","\u002Fnsi-tale\u002Fte-algorithmique\u002Fgraphes-parcours","2.nsi-tale\u002Fte-algorithmique\u002F2.graphes-parcours",{"title":574,"path":575,"stem":576},"Diviser pour régner","\u002Fnsi-tale\u002Fte-algorithmique\u002Fdiviser-pour-regner","2.nsi-tale\u002Fte-algorithmique\u002F3.diviser-pour-regner",{"title":578,"path":579,"stem":580},"Programmation dynamique","\u002Fnsi-tale\u002Fte-algorithmique\u002Fprogrammation-dynamique","2.nsi-tale\u002Fte-algorithmique\u002F4.programmation-dynamique",{"title":582,"path":583,"stem":584},"Recherche textuelle — l'algorithme de Boyer-Moore","\u002Fnsi-tale\u002Fte-algorithmique\u002Frecherche-textuelle","2.nsi-tale\u002Fte-algorithmique\u002F5.recherche-textuelle",[586,1601,4466,7425,9362,10531],{"id":587,"title":417,"bo":588,"body":590,"description":1586,"eval":1587,"extension":1588,"labo":1587,"meta":1589,"navigation":700,"path":418,"quizzes":1590,"readingTime":654,"seo":1599,"stem":419,"tp":1587,"__hash__":1600},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel.md",[589],"PH03",{"type":591,"value":592,"toc":1575},"minimark",[593,598,614,618,641,729,740,798,802,816,965,968,996,1025,1029,1040,1156,1174,1178,1181,1279,1294,1298,1309,1323,1345,1354,1364,1388,1392,1515,1519,1556,1560,1571],[594,595,597],"h2",{"id":596},"introduction","Introduction",[599,600,601,602,606,607,610,611],"p",{},"La plupart des algorithmes que vous écrirez cette année commencent par la même\nchose : un ",[603,604,605],"strong",{},"parcours séquentiel"," d'un tableau. On lit les éléments les uns\naprès les autres, du premier au dernier, et on accumule au passage une\ninformation — un compteur, une somme, un maximum, ou la confirmation qu'une\nvaleur cherchée est bien présente. C'est l'opération la plus naturelle qu'on\npuisse faire sur une suite de données, et c'est aussi celle qui sert de ",[603,608,609],{},"mètre\nétalon"," pour mesurer le coût des algorithmes plus astucieux que nous verrons\nensuite. ",[612,613],"bo-ref",{"code":589},[594,615,617],{"id":616},"le-cœur-du-concept","Le cœur du concept",[599,619,620,621,623,624,628,629,632,633,636,637,640],{},"Un ",[603,622,605],{}," d'un tableau ",[625,626,627],"code",{},"t"," est une boucle qui visite chaque\ncase ",[625,630,631],{},"t[0]",", ",[625,634,635],{},"t[1]",", …, ",[625,638,639],{},"t[n-1]"," exactement une fois, dans l'ordre des\nindices croissants. En Python, deux écritures sont équivalentes :",[642,643,648],"pre",{"className":644,"code":645,"language":646,"meta":647,"style":647},"language-python shiki shiki-themes github-light github-light github-dark","# Version 1 : on parcourt les indices\nfor i in range(len(t)):\n    print(t[i])\n\n# Version 2 : on parcourt directement les valeurs\nfor valeur in t:\n    print(valeur)\n","python","",[625,649,650,659,686,695,702,708,721],{"__ignoreMap":647},[651,652,655],"span",{"class":653,"line":654},"line",1,[651,656,658],{"class":657},"sCsY4","# Version 1 : on parcourt les indices\n",[651,660,662,666,670,673,677,680,683],{"class":653,"line":661},2,[651,663,665],{"class":664},"s8jYJ","for",[651,667,669],{"class":668},"sxrX7"," i ",[651,671,672],{"class":664},"in",[651,674,676],{"class":675},"sBjJW"," range",[651,678,679],{"class":668},"(",[651,681,682],{"class":675},"len",[651,684,685],{"class":668},"(t)):\n",[651,687,689,692],{"class":653,"line":688},3,[651,690,691],{"class":675},"    print",[651,693,694],{"class":668},"(t[i])\n",[651,696,698],{"class":653,"line":697},4,[651,699,701],{"emptyLinePlaceholder":700},true,"\n",[651,703,705],{"class":653,"line":704},5,[651,706,707],{"class":657},"# Version 2 : on parcourt directement les valeurs\n",[651,709,711,713,716,718],{"class":653,"line":710},6,[651,712,665],{"class":664},[651,714,715],{"class":668}," valeur ",[651,717,672],{"class":664},[651,719,720],{"class":668}," t:\n",[651,722,724,726],{"class":653,"line":723},7,[651,725,691],{"class":675},[651,727,728],{"class":668},"(valeur)\n",[599,730,731,732,735,736,739],{},"La version 2 est plus lisible quand on n'a pas besoin de l'indice. La version\n1 est préférée quand l'indice lui-même sert (par exemple pour comparer\n",[625,733,734],{},"t[i]"," avec ",[625,737,738],{},"t[i+1]",").",[741,742,743],"note",{},[599,744,745,748,749,752,797],{},[603,746,747],{},"À retenir"," : « parcours séquentiel » = visiter chaque case une fois, dans\nl'ordre. Ni plus, ni moins. Le coût total est ",[603,750,751],{},"proportionnel à la taille",[651,753,756,778],{"className":754},[755],"katex",[651,757,760],{"className":758},[759],"katex-mathml",[761,762,764],"math",{"xmlns":763},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[765,766,767,774],"semantics",{},[768,769,770],"mrow",{},[771,772,773],"mi",{},"n",[775,776,773],"annotation",{"encoding":777},"application\u002Fx-tex",[651,779,783],{"className":780,"ariaHidden":782},[781],"katex-html","true",[651,784,787,792],{"className":785},[786],"base",[651,788],{"className":789,"style":791},[790],"strut","height:0.4306em;",[651,793,773],{"className":794},[795,796],"mord","mathnormal"," du tableau.",[594,799,801],{"id":800},"recherche-dune-occurrence","Recherche d'une occurrence",[599,803,804,805,808,809,812,813,739],{},"Premier usage classique : chercher si une valeur ",[625,806,807],{},"cible"," est présente dans un\ntableau (recherche dite ",[603,810,811],{},"linéaire"," ou ",[603,814,815],{},"séquentielle",[817,818,819],"python-snippet",{},[642,820,822],{"className":644,"code":821,"language":646,"meta":647,"style":647},"def contient(tableau, cible):\n    \"\"\"Retourne True si cible est dans tableau, False sinon.\"\"\"\n    for valeur in tableau:\n        if valeur == cible:\n            return True\n    return False\n\nprint(contient([3, 7, 2, 9, 5], 9))   # True\nprint(contient([3, 7, 2, 9, 5], 4))   # False\n",[625,823,824,836,842,854,867,875,883,887,930],{"__ignoreMap":647},[651,825,826,829,833],{"class":653,"line":654},[651,827,828],{"class":664},"def",[651,830,832],{"class":831},"snPdu"," contient",[651,834,835],{"class":668},"(tableau, cible):\n",[651,837,838],{"class":653,"line":661},[651,839,841],{"class":840},"sIIMD","    \"\"\"Retourne True si cible est dans tableau, False sinon.\"\"\"\n",[651,843,844,847,849,851],{"class":653,"line":688},[651,845,846],{"class":664},"    for",[651,848,715],{"class":668},[651,850,672],{"class":664},[651,852,853],{"class":668}," tableau:\n",[651,855,856,859,861,864],{"class":653,"line":697},[651,857,858],{"class":664},"        if",[651,860,715],{"class":668},[651,862,863],{"class":664},"==",[651,865,866],{"class":668}," cible:\n",[651,868,869,872],{"class":653,"line":704},[651,870,871],{"class":664},"            return",[651,873,874],{"class":675}," True\n",[651,876,877,880],{"class":653,"line":710},[651,878,879],{"class":664},"    return",[651,881,882],{"class":675}," False\n",[651,884,885],{"class":653,"line":723},[651,886,701],{"emptyLinePlaceholder":700},[651,888,890,893,896,899,901,904,906,909,911,914,916,919,922,924,927],{"class":653,"line":889},8,[651,891,892],{"class":675},"print",[651,894,895],{"class":668},"(contient([",[651,897,898],{"class":675},"3",[651,900,632],{"class":668},[651,902,903],{"class":675},"7",[651,905,632],{"class":668},[651,907,908],{"class":675},"2",[651,910,632],{"class":668},[651,912,913],{"class":675},"9",[651,915,632],{"class":668},[651,917,918],{"class":675},"5",[651,920,921],{"class":668},"], ",[651,923,913],{"class":675},[651,925,926],{"class":668},"))   ",[651,928,929],{"class":657},"# True\n",[651,931,933,935,937,939,941,943,945,947,949,951,953,955,957,960,962],{"class":653,"line":932},9,[651,934,892],{"class":675},[651,936,895],{"class":668},[651,938,898],{"class":675},[651,940,632],{"class":668},[651,942,903],{"class":675},[651,944,632],{"class":668},[651,946,908],{"class":675},[651,948,632],{"class":668},[651,950,913],{"class":675},[651,952,632],{"class":668},[651,954,918],{"class":675},[651,956,921],{"class":668},[651,958,959],{"class":675},"4",[651,961,926],{"class":668},[651,963,964],{"class":657},"# False\n",[599,966,967],{},"Deux choses à remarquer :",[969,970,971,982],"ol",{},[972,973,974,977,978,981],"li",{},[603,975,976],{},"Sortie anticipée"," — dès qu'on trouve, on s'arrête avec ",[625,979,980],{},"return True",".\nPas besoin de continuer à parcourir.",[972,983,984,987,988,991,992,995],{},[603,985,986],{},"Cas de l'absence"," — si la boucle finit sans rien trouver, on retourne\n",[625,989,990],{},"False",". C'est la ",[603,993,994],{},"seule façon"," de conclure à l'absence : avoir tout vu.",[997,998,1001,1011],"self-eval-qcm",{"correct":999,"slug":1000},"1","parcours-sequentiel-c1",[1002,1003,1004],"template",{"v-slot:question":647},[599,1005,1006,1007,1010],{},"Combien d'éléments la fonction ",[625,1008,1009],{},"contient"," examine-t-elle au pire (taille n) ?",[1002,1012,1013],{"v-slot:choices":647},[1014,1015,1016,1019,1022],"ul",{},[972,1017,1018],{},"environ n\u002F2",[972,1020,1021],{},"exactement n",[972,1023,1024],{},"exactement 1",[594,1026,1028],{"id":1027},"extremum-trouver-le-maximum","Extremum : trouver le maximum",[599,1030,1031,1032,1035,1036,1039],{},"Deuxième usage : trouver la plus grande valeur. On garde dans une variable\n",[625,1033,1034],{},"maximum"," la plus grande valeur ",[603,1037,1038],{},"vue jusqu'ici",", qu'on met à jour à chaque\ncase visitée plus grande.",[642,1041,1043],{"className":644,"code":1042,"language":646,"meta":647,"style":647},"def maximum(tableau):\n    \"\"\"Retourne le plus grand élément de tableau (non vide).\"\"\"\n    maxi = tableau[0]\n    for valeur in tableau[1:]:\n        if valeur > maxi:\n            maxi = valeur\n    return maxi\n\nprint(maximum([3, 7, 2, 9, 5]))   # 9\n",[625,1044,1045,1055,1060,1077,1092,1104,1114,1121,1125],{"__ignoreMap":647},[651,1046,1047,1049,1052],{"class":653,"line":654},[651,1048,828],{"class":664},[651,1050,1051],{"class":831}," maximum",[651,1053,1054],{"class":668},"(tableau):\n",[651,1056,1057],{"class":653,"line":661},[651,1058,1059],{"class":840},"    \"\"\"Retourne le plus grand élément de tableau (non vide).\"\"\"\n",[651,1061,1062,1065,1068,1071,1074],{"class":653,"line":688},[651,1063,1064],{"class":668},"    maxi ",[651,1066,1067],{"class":664},"=",[651,1069,1070],{"class":668}," tableau[",[651,1072,1073],{"class":675},"0",[651,1075,1076],{"class":668},"]\n",[651,1078,1079,1081,1083,1085,1087,1089],{"class":653,"line":697},[651,1080,846],{"class":664},[651,1082,715],{"class":668},[651,1084,672],{"class":664},[651,1086,1070],{"class":668},[651,1088,999],{"class":675},[651,1090,1091],{"class":668},":]:\n",[651,1093,1094,1096,1098,1101],{"class":653,"line":704},[651,1095,858],{"class":664},[651,1097,715],{"class":668},[651,1099,1100],{"class":664},">",[651,1102,1103],{"class":668}," maxi:\n",[651,1105,1106,1109,1111],{"class":653,"line":710},[651,1107,1108],{"class":668},"            maxi ",[651,1110,1067],{"class":664},[651,1112,1113],{"class":668}," valeur\n",[651,1115,1116,1118],{"class":653,"line":723},[651,1117,879],{"class":664},[651,1119,1120],{"class":668}," maxi\n",[651,1122,1123],{"class":653,"line":889},[651,1124,701],{"emptyLinePlaceholder":700},[651,1126,1127,1129,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1153],{"class":653,"line":932},[651,1128,892],{"class":675},[651,1130,1131],{"class":668},"(maximum([",[651,1133,898],{"class":675},[651,1135,632],{"class":668},[651,1137,903],{"class":675},[651,1139,632],{"class":668},[651,1141,908],{"class":675},[651,1143,632],{"class":668},[651,1145,913],{"class":675},[651,1147,632],{"class":668},[651,1149,918],{"class":675},[651,1151,1152],{"class":668},"]))   ",[651,1154,1155],{"class":657},"# 9\n",[1157,1158,1159],"warning",{},[599,1160,1161,1162,1165,1166,1169,1170,1173],{},"Le tableau doit être ",[603,1163,1164],{},"non vide"," — sinon ",[625,1167,1168],{},"tableau[0]"," lève une ",[625,1171,1172],{},"IndexError",".\nOn pourrait gérer ce cas avec une vérification préalable ou en levant une\nexception explicite.",[594,1175,1177],{"id":1176},"moyenne-arithmétique","Moyenne arithmétique",[599,1179,1180],{},"Troisième usage : sommer puis diviser.",[642,1182,1184],{"className":644,"code":1183,"language":646,"meta":647,"style":647},"def moyenne(tableau):\n    \"\"\"Moyenne arithmétique d'un tableau non vide de nombres.\"\"\"\n    somme = 0\n    for valeur in tableau:\n        somme += valeur\n    return somme \u002F len(tableau)\n\nprint(moyenne([4, 8, 6, 10]))   # 7.0\n",[625,1185,1186,1195,1200,1210,1220,1230,1246,1250],{"__ignoreMap":647},[651,1187,1188,1190,1193],{"class":653,"line":654},[651,1189,828],{"class":664},[651,1191,1192],{"class":831}," moyenne",[651,1194,1054],{"class":668},[651,1196,1197],{"class":653,"line":661},[651,1198,1199],{"class":840},"    \"\"\"Moyenne arithmétique d'un tableau non vide de nombres.\"\"\"\n",[651,1201,1202,1205,1207],{"class":653,"line":688},[651,1203,1204],{"class":668},"    somme ",[651,1206,1067],{"class":664},[651,1208,1209],{"class":675}," 0\n",[651,1211,1212,1214,1216,1218],{"class":653,"line":697},[651,1213,846],{"class":664},[651,1215,715],{"class":668},[651,1217,672],{"class":664},[651,1219,853],{"class":668},[651,1221,1222,1225,1228],{"class":653,"line":704},[651,1223,1224],{"class":668},"        somme ",[651,1226,1227],{"class":664},"+=",[651,1229,1113],{"class":668},[651,1231,1232,1234,1237,1240,1243],{"class":653,"line":710},[651,1233,879],{"class":664},[651,1235,1236],{"class":668}," somme ",[651,1238,1239],{"class":664},"\u002F",[651,1241,1242],{"class":675}," len",[651,1244,1245],{"class":668},"(tableau)\n",[651,1247,1248],{"class":653,"line":723},[651,1249,701],{"emptyLinePlaceholder":700},[651,1251,1252,1254,1257,1259,1261,1264,1266,1269,1271,1274,1276],{"class":653,"line":889},[651,1253,892],{"class":675},[651,1255,1256],{"class":668},"(moyenne([",[651,1258,959],{"class":675},[651,1260,632],{"class":668},[651,1262,1263],{"class":675},"8",[651,1265,632],{"class":668},[651,1267,1268],{"class":675},"6",[651,1270,632],{"class":668},[651,1272,1273],{"class":675},"10",[651,1275,1152],{"class":668},[651,1277,1278],{"class":657},"# 7.0\n",[599,1280,1281,1282,1285,1286,1289,1290,1293],{},"Notez qu'on a écrit ",[625,1283,1284],{},"somme \u002F len(tableau)"," et ",[603,1287,1288],{},"non"," ",[625,1291,1292],{},"somme \u002F len(somme)"," —\npiège fréquent en début d'année.",[594,1295,1297],{"id":1296},"lidée-dinvariant-de-boucle","L'idée d'invariant de boucle",[599,1299,1300,1301,1304,1305,1308],{},"Quand on analyse une boucle, il est utile de pouvoir affirmer qu'une certaine\npropriété ",[603,1302,1303],{},"reste vraie d'un tour à l'autre",". C'est ce qu'on appelle un\n",[603,1306,1307],{},"invariant de boucle",".",[599,1310,1311,1312,1314,1315,1318,1319,1322],{},"Reprenons ",[625,1313,1034],{},". À chaque tour, la variable ",[625,1316,1317],{},"maxi"," contient la plus\ngrande valeur ",[603,1320,1321],{},"parmi celles déjà parcourues",". C'est vrai :",[1014,1324,1325,1339],{},[972,1326,1327,1328,1331,1332,1334,1335,1338],{},"avant le premier tour : ",[625,1329,1330],{},"maxi = tableau[0]",", et ",[625,1333,1168],{}," est bien la plus\ngrande valeur parmi ",[625,1336,1337],{},"{tableau[0]}"," ;",[972,1340,1341,1342,1344],{},"à la fin de chaque tour : si la nouvelle valeur est plus grande, on l'a\naffectée à ",[625,1343,1317],{}," ; sinon, on garde l'ancienne — donc le max reste celui des\nvaleurs vues, qui inclut maintenant la nouvelle.",[599,1346,1347,1348,1350,1351],{},"Quand la boucle s'arrête, on a parcouru tout le tableau, donc ",[625,1349,1317],{}," est le\nmaximum… de tout le tableau. ",[603,1352,1353],{},"C'est ce qu'on voulait démontrer.",[1355,1356,1357],"tip",{},[599,1358,1359,1360,1363],{},"Un invariant bien choisi sert à ",[603,1361,1362],{},"prouver qu'un algorithme est correct",".\nVous le retrouverez dans les cours sur les tris (cours 3) et la dichotomie\n(cours 4).",[997,1365,1367,1375],{"correct":999,"slug":1366},"parcours-sequentiel-c2",[1002,1368,1369],{"v-slot:question":647},[599,1370,1371,1372,1374],{},"L'invariant de la boucle dans ",[625,1373,1034],{}," parle des éléments :",[1002,1376,1377],{"v-slot:choices":647},[1014,1378,1379,1382,1385],{},[972,1380,1381],{},"de tout le tableau",[972,1383,1384],{},"déjà parcourus",[972,1386,1387],{},"restant à parcourir",[594,1389,1391],{"id":1390},"coût-du-parcours","Coût du parcours",[599,1393,1394,1395,1423,1424,1455,1456,1459,1460,1514],{},"Un parcours séquentiel d'un tableau de taille ",[651,1396,1398,1411],{"className":1397},[755],[651,1399,1401],{"className":1400},[759],[761,1402,1403],{"xmlns":763},[765,1404,1405,1409],{},[768,1406,1407],{},[771,1408,773],{},[775,1410,773],{"encoding":777},[651,1412,1414],{"className":1413,"ariaHidden":782},[781],[651,1415,1417,1420],{"className":1416},[786],[651,1418],{"className":1419,"style":791},[790],[651,1421,773],{"className":1422},[795,796]," effectue ",[603,1425,1426,1427],{},"un nombre\nd'opérations proportionnel à ",[651,1428,1430,1443],{"className":1429},[755],[651,1431,1433],{"className":1432},[759],[761,1434,1435],{"xmlns":763},[765,1436,1437,1441],{},[768,1438,1439],{},[771,1440,773],{},[775,1442,773],{"encoding":777},[651,1444,1446],{"className":1445,"ariaHidden":782},[781],[651,1447,1449,1452],{"className":1448},[786],[651,1450],{"className":1451,"style":791},[790],[651,1453,773],{"className":1454},[795,796],". Si vous doublez la taille du tableau, le\ntemps d'exécution double aussi. On parle d'un ",[603,1457,1458],{},"coût linéaire",", qu'on\nnotera ",[651,1461,1463,1488],{"className":1462},[755],[651,1464,1466],{"className":1465},[759],[761,1467,1468],{"xmlns":763},[765,1469,1470,1485],{},[768,1471,1472,1476,1480,1482],{},[771,1473,1475],{"mathvariant":1474},"script","O",[1477,1478,679],"mo",{"stretchy":1479},"false",[771,1481,773],{},[1477,1483,1484],{"stretchy":1479},")",[775,1486,1487],{"encoding":777},"\\mathcal{O}(n)",[651,1489,1491],{"className":1490,"ariaHidden":782},[781],[651,1492,1494,1498,1503,1507,1510],{"className":1493},[786],[651,1495],{"className":1496,"style":1497},[790],"height:1em;vertical-align:-0.25em;",[651,1499,1475],{"className":1500,"style":1502},[795,1501],"mathcal","margin-right:0.0278em;",[651,1504,679],{"className":1505},[1506],"mopen",[651,1508,773],{"className":1509},[795,796],[651,1511,1484],{"className":1512},[1513],"mclose"," dès le prochain cours.",[594,1516,1518],{"id":1517},"pièges-courants","Pièges courants",[1014,1520,1521,1535,1550],{},[972,1522,1523,1526,1527,1530,1531,1534],{},[603,1524,1525],{},"Confondre la valeur et l'indice"," — ",[625,1528,1529],{},"for v in t"," donne la valeur,\n",[625,1532,1533],{},"for i in range(len(t))"," donne l'indice.",[972,1536,1537,1526,1540,1543,1544,1546,1547,1308],{},[603,1538,1539],{},"Dépasser le tableau",[625,1541,1542],{},"t[len(t)]"," n'existe jamais, les indices vont de\n",[625,1545,1073],{}," à ",[625,1548,1549],{},"len(t) - 1",[972,1551,1552,1555],{},[603,1553,1554],{},"Oublier le cas vide"," — un tableau vide n'a ni minimum ni maximum ; il\nfaut décider quoi faire (exception, valeur sentinelle, etc.).",[594,1557,1559],{"id":1558},"pour-aller-plus-loin","Pour aller plus loin",[599,1561,1562,1563,1566,1567,1570],{},"Le parcours séquentiel est partout. Mais quand on cherche une valeur dans un\ntableau ",[603,1564,1565],{},"trié",", on peut faire bien mieux qu'un parcours linéaire — c'est\nl'objet du cours 4 sur la recherche dichotomique. Avant cela, on passe au\ncours 2 pour poser proprement la notion de ",[603,1568,1569],{},"coût"," d'un algorithme.",[1572,1573,1574],"style",{},"html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":647,"searchDepth":661,"depth":661,"links":1576},[1577,1578,1579,1580,1581,1582,1583,1584,1585],{"id":596,"depth":661,"text":597},{"id":616,"depth":661,"text":617},{"id":800,"depth":661,"text":801},{"id":1027,"depth":661,"text":1028},{"id":1176,"depth":661,"text":1177},{"id":1296,"depth":661,"text":1297},{"id":1390,"depth":661,"text":1391},{"id":1517,"depth":661,"text":1518},{"id":1558,"depth":661,"text":1559},"Parcourir un tableau de gauche à droite — la brique de base de presque tous les algorithmes sur les collections.",null,"md",{},[1591,1596],{"slug":1000,"kind":1592,"question":1593,"choices":1594,"correct":999,"multi":1595,"explanation":647},"qcm","Combien d'éléments la fonction contient examine-t-elle au pire (taille n) ?",[1018,1021,1024],false,{"slug":1366,"kind":1592,"question":1597,"choices":1598,"correct":999,"multi":1595,"explanation":647},"L'invariant de la boucle dans maximum parle des éléments :",[1381,1384,1387],{"title":417,"description":1586},"coovl8hQ6bSo3yg08ECX9TzVqmFoY0UmsiblU2Hdf8M",{"id":1602,"title":421,"bo":1587,"body":1603,"description":4457,"eval":1587,"extension":1588,"labo":1587,"meta":4458,"navigation":700,"path":422,"quizzes":4459,"readingTime":654,"seo":4464,"stem":423,"tp":1587,"__hash__":4465},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases.md",{"type":591,"value":1604,"toc":4439},[1605,1607,1614,1618,1637,1674,1678,1713,1843,1847,1897,1907,1935,1982,2017,2072,2164,2231,2324,2451,2472,2476,2596,2886,3046,3161,3165,3507,3521,3775,3966,3970,3977,4014,4112,4131,4133,4301,4303,4436],[594,1606,597],{"id":596},[599,1608,1609,1610,1613],{},"Vous savez maintenant écrire un parcours séquentiel. Mais vous écrirez bientôt\ndes algorithmes plus subtils, et la première question d'un informaticien\ndevant un algorithme n'est pas « est-ce qu'il marche ? » — c'est « combien\ncoûte-t-il ? ». Combien d'opérations effectue-t-il selon la taille des\ndonnées ? Si je double l'entrée, le temps double-t-il, quadruple-t-il, ou\naugmente-t-il à peine ? Ce cours pose le ",[603,1611,1612],{},"socle"," de cette analyse. Pas de\nthéorème lourd : juste une intuition claire et une notation simple, qui vous\nserviront dans tout le reste du chapitre.",[594,1615,1617],{"id":1616},"pourquoi-mesurer","Pourquoi mesurer ?",[599,1619,1620,1621,1624,1625,1628,1629,1632,1633,1636],{},"Imaginez deux programmes qui font la même chose : chercher un nom dans un\nannuaire de 10 millions d'entrées. Le premier met ",[603,1622,1623],{},"3 secondes",", le second\nmet ",[603,1626,1627],{},"3 minutes",". Vous préférerez le premier, évidemment. La complexité,\nc'est l'outil qui permet de ",[603,1630,1631],{},"prédire"," cette différence ",[603,1634,1635],{},"avant même\nd'exécuter le code",", en analysant la structure de l'algorithme.",[1355,1638,1639],{},[599,1640,1641,1642,1645,1646,1308],{},"On ne mesure pas en secondes (cela dépend de la machine, du langage, de la\ncharge système). On compte le ",[603,1643,1644],{},"nombre d'opérations élémentaires"," effectuées\nen fonction de la taille de l'entrée, notée ",[651,1647,1649,1662],{"className":1648},[755],[651,1650,1652],{"className":1651},[759],[761,1653,1654],{"xmlns":763},[765,1655,1656,1660],{},[768,1657,1658],{},[771,1659,773],{},[775,1661,773],{"encoding":777},[651,1663,1665],{"className":1664,"ariaHidden":782},[781],[651,1666,1668,1671],{"className":1667},[786],[651,1669],{"className":1670,"style":791},[790],[651,1672,773],{"className":1673},[795,796],[594,1675,1677],{"id":1676},"taille-de-lentrée","Taille de l'entrée",[599,1679,1680,1681,1289,1684,1712],{},"Avant de compter, il faut décider de ce qu'est la ",[603,1682,1683],{},"taille",[651,1685,1687,1700],{"className":1686},[755],[651,1688,1690],{"className":1689},[759],[761,1691,1692],{"xmlns":763},[765,1693,1694,1698],{},[768,1695,1696],{},[771,1697,773],{},[775,1699,773],{"encoding":777},[651,1701,1703],{"className":1702,"ariaHidden":782},[781],[651,1704,1706,1709],{"className":1705},[786],[651,1707],{"className":1708,"style":791},[790],[651,1710,773],{"className":1711},[795,796],". C'est en\ngénéral évident :",[1014,1714,1715,1747,1779],{},[972,1716,1717,1718,1746],{},"pour un tableau ou une liste : ",[651,1719,1721,1734],{"className":1720},[755],[651,1722,1724],{"className":1723},[759],[761,1725,1726],{"xmlns":763},[765,1727,1728,1732],{},[768,1729,1730],{},[771,1731,773],{},[775,1733,773],{"encoding":777},[651,1735,1737],{"className":1736,"ariaHidden":782},[781],[651,1738,1740,1743],{"className":1739},[786],[651,1741],{"className":1742,"style":791},[790],[651,1744,773],{"className":1745},[795,796]," = le nombre d'éléments,",[972,1748,1749,1750,1778],{},"pour une chaîne de caractères : ",[651,1751,1753,1766],{"className":1752},[755],[651,1754,1756],{"className":1755},[759],[761,1757,1758],{"xmlns":763},[765,1759,1760,1764],{},[768,1761,1762],{},[771,1763,773],{},[775,1765,773],{"encoding":777},[651,1767,1769],{"className":1768,"ariaHidden":782},[781],[651,1770,1772,1775],{"className":1771},[786],[651,1773],{"className":1774,"style":791},[790],[651,1776,773],{"className":1777},[795,796]," = sa longueur,",[972,1780,1781,1782,1813,1814,1842],{},"pour un entier ",[651,1783,1785,1799],{"className":1784},[755],[651,1786,1788],{"className":1787},[759],[761,1789,1790],{"xmlns":763},[765,1791,1792,1797],{},[768,1793,1794],{},[771,1795,1796],{},"k",[775,1798,1796],{"encoding":777},[651,1800,1802],{"className":1801,"ariaHidden":782},[781],[651,1803,1805,1809],{"className":1804},[786],[651,1806],{"className":1807,"style":1808},[790],"height:0.6944em;",[651,1810,1796],{"className":1811,"style":1812},[795,796],"margin-right:0.0315em;"," : ",[651,1815,1817,1830],{"className":1816},[755],[651,1818,1820],{"className":1819},[759],[761,1821,1822],{"xmlns":763},[765,1823,1824,1828],{},[768,1825,1826],{},[771,1827,773],{},[775,1829,773],{"encoding":777},[651,1831,1833],{"className":1832,"ariaHidden":782},[781],[651,1834,1836,1839],{"className":1835},[786],[651,1837],{"className":1838,"style":791},[790],[651,1840,773],{"className":1841},[795,796]," = sa valeur (parfois son nombre de chiffres).",[594,1844,1846],{"id":1845},"trois-ordres-de-grandeur-typiques","Trois ordres de grandeur typiques",[1848,1849,1851,1852],"h3",{"id":1850},"coût-constant-o1mathcalo1o1","Coût constant — ",[651,1853,1855,1876],{"className":1854},[755],[651,1856,1858],{"className":1857},[759],[761,1859,1860],{"xmlns":763},[765,1861,1862,1873],{},[768,1863,1864,1866,1868,1871],{},[771,1865,1475],{"mathvariant":1474},[1477,1867,679],{"stretchy":1479},[1869,1870,999],"mn",{},[1477,1872,1484],{"stretchy":1479},[775,1874,1875],{"encoding":777},"\\mathcal{O}(1)",[651,1877,1879],{"className":1878,"ariaHidden":782},[781],[651,1880,1882,1885,1888,1891,1894],{"className":1881},[786],[651,1883],{"className":1884,"style":1497},[790],[651,1886,1475],{"className":1887,"style":1502},[795,1501],[651,1889,679],{"className":1890},[1506],[651,1892,999],{"className":1893},[795],[651,1895,1484],{"className":1896},[1513],[599,1898,1899,1900,1903,1904,1308],{},"Le coût ne dépend pas de la taille. Que ",[625,1901,1902],{},"tableau"," ait 10 ou 10 millions\nd'éléments, l'opération prend le ",[603,1905,1906],{},"même temps",[642,1908,1910],{"className":644,"code":1909,"language":646,"meta":647,"style":647},"def premier(tableau):\n    return tableau[0]   # un seul accès, peu importe la taille\n",[625,1911,1912,1921],{"__ignoreMap":647},[651,1913,1914,1916,1919],{"class":653,"line":654},[651,1915,828],{"class":664},[651,1917,1918],{"class":831}," premier",[651,1920,1054],{"class":668},[651,1922,1923,1925,1927,1929,1932],{"class":653,"line":661},[651,1924,879],{"class":664},[651,1926,1070],{"class":668},[651,1928,1073],{"class":675},[651,1930,1931],{"class":668},"]   ",[651,1933,1934],{"class":657},"# un seul accès, peu importe la taille\n",[1848,1936,1938,1939],{"id":1937},"coût-linéaire-onmathcalonon","Coût linéaire — ",[651,1940,1942,1961],{"className":1941},[755],[651,1943,1945],{"className":1944},[759],[761,1946,1947],{"xmlns":763},[765,1948,1949,1959],{},[768,1950,1951,1953,1955,1957],{},[771,1952,1475],{"mathvariant":1474},[1477,1954,679],{"stretchy":1479},[771,1956,773],{},[1477,1958,1484],{"stretchy":1479},[775,1960,1487],{"encoding":777},[651,1962,1964],{"className":1963,"ariaHidden":782},[781],[651,1965,1967,1970,1973,1976,1979],{"className":1966},[786],[651,1968],{"className":1969,"style":1497},[790],[651,1971,1475],{"className":1972,"style":1502},[795,1501],[651,1974,679],{"className":1975},[1506],[651,1977,773],{"className":1978},[795,796],[651,1980,1484],{"className":1981},[1513],[599,1983,1984,1985,1546,1988,2016],{},"Le coût est ",[603,1986,1987],{},"proportionnel",[651,1989,1991,2004],{"className":1990},[755],[651,1992,1994],{"className":1993},[759],[761,1995,1996],{"xmlns":763},[765,1997,1998,2002],{},[768,1999,2000],{},[771,2001,773],{},[775,2003,773],{"encoding":777},[651,2005,2007],{"className":2006,"ariaHidden":782},[781],[651,2008,2010,2013],{"className":2009},[786],[651,2011],{"className":2012,"style":791},[790],[651,2014,773],{"className":2015},[795,796],". Si on double la taille, le temps double.\nTout parcours séquentiel du cours précédent est dans ce cas.",[642,2018,2020],{"className":644,"code":2019,"language":646,"meta":647,"style":647},"def somme(tableau):\n    total = 0\n    for v in tableau:   # exactement n tours\n        total += v\n    return total\n",[625,2021,2022,2031,2040,2055,2065],{"__ignoreMap":647},[651,2023,2024,2026,2029],{"class":653,"line":654},[651,2025,828],{"class":664},[651,2027,2028],{"class":831}," somme",[651,2030,1054],{"class":668},[651,2032,2033,2036,2038],{"class":653,"line":661},[651,2034,2035],{"class":668},"    total ",[651,2037,1067],{"class":664},[651,2039,1209],{"class":675},[651,2041,2042,2044,2047,2049,2052],{"class":653,"line":688},[651,2043,846],{"class":664},[651,2045,2046],{"class":668}," v ",[651,2048,672],{"class":664},[651,2050,2051],{"class":668}," tableau:   ",[651,2053,2054],{"class":657},"# exactement n tours\n",[651,2056,2057,2060,2062],{"class":653,"line":697},[651,2058,2059],{"class":668},"        total ",[651,2061,1227],{"class":664},[651,2063,2064],{"class":668}," v\n",[651,2066,2067,2069],{"class":653,"line":704},[651,2068,879],{"class":664},[651,2070,2071],{"class":668}," total\n",[1848,2073,2075,2076],{"id":2074},"coût-quadratique-on2mathcalon2on2","Coût quadratique — ",[651,2077,2079,2104],{"className":2078},[755],[651,2080,2082],{"className":2081},[759],[761,2083,2084],{"xmlns":763},[765,2085,2086,2101],{},[768,2087,2088,2090,2092,2099],{},[771,2089,1475],{"mathvariant":1474},[1477,2091,679],{"stretchy":1479},[2093,2094,2095,2097],"msup",{},[771,2096,773],{},[1869,2098,908],{},[1477,2100,1484],{"stretchy":1479},[775,2102,2103],{"encoding":777},"\\mathcal{O}(n^2)",[651,2105,2107],{"className":2106,"ariaHidden":782},[781],[651,2108,2110,2114,2117,2120,2161],{"className":2109},[786],[651,2111],{"className":2112,"style":2113},[790],"height:1.0641em;vertical-align:-0.25em;",[651,2115,1475],{"className":2116,"style":1502},[795,1501],[651,2118,679],{"className":2119},[1506],[651,2121,2123,2126],{"className":2122},[795],[651,2124,773],{"className":2125},[795,796],[651,2127,2130],{"className":2128},[2129],"msupsub",[651,2131,2134],{"className":2132},[2133],"vlist-t",[651,2135,2138],{"className":2136},[2137],"vlist-r",[651,2139,2143],{"className":2140,"style":2142},[2141],"vlist","height:0.8141em;",[651,2144,2146,2151],{"style":2145},"top:-3.063em;margin-right:0.05em;",[651,2147],{"className":2148,"style":2150},[2149],"pstrut","height:2.7em;",[651,2152,2158],{"className":2153},[2154,2155,2156,2157],"sizing","reset-size6","size3","mtight",[651,2159,908],{"className":2160},[795,2157],[651,2162,1484],{"className":2163},[1513],[599,2165,2166,2167,2226,2227,2230],{},"Le coût est proportionnel à ",[651,2168,2170,2188],{"className":2169},[755],[651,2171,2173],{"className":2172},[759],[761,2174,2175],{"xmlns":763},[765,2176,2177,2185],{},[768,2178,2179],{},[2093,2180,2181,2183],{},[771,2182,773],{},[1869,2184,908],{},[775,2186,2187],{"encoding":777},"n^2",[651,2189,2191],{"className":2190,"ariaHidden":782},[781],[651,2192,2194,2197],{"className":2193},[786],[651,2195],{"className":2196,"style":2142},[790],[651,2198,2200,2203],{"className":2199},[795],[651,2201,773],{"className":2202},[795,796],[651,2204,2206],{"className":2205},[2129],[651,2207,2209],{"className":2208},[2133],[651,2210,2212],{"className":2211},[2137],[651,2213,2215],{"className":2214,"style":2142},[2141],[651,2216,2217,2220],{"style":2145},[651,2218],{"className":2219,"style":2150},[2149],[651,2221,2223],{"className":2222},[2154,2155,2156,2157],[651,2224,908],{"className":2225},[795,2157],". Si on double la taille, le temps est\n",[603,2228,2229],{},"multiplié par 4",". On l'obtient typiquement avec deux boucles imbriquées\nqui parcourent chacune le tableau.",[642,2232,2234],{"className":644,"code":2233,"language":646,"meta":647,"style":647},"def doublons(tableau):\n    \"\"\"Renvoie True si tableau contient au moins un doublon.\"\"\"\n    n = len(tableau)\n    for i in range(n):\n        for j in range(i + 1, n):\n            if tableau[i] == tableau[j]:\n                return True\n    return False\n",[625,2235,2236,2245,2250,2261,2274,2298,2311,2318],{"__ignoreMap":647},[651,2237,2238,2240,2243],{"class":653,"line":654},[651,2239,828],{"class":664},[651,2241,2242],{"class":831}," doublons",[651,2244,1054],{"class":668},[651,2246,2247],{"class":653,"line":661},[651,2248,2249],{"class":840},"    \"\"\"Renvoie True si tableau contient au moins un doublon.\"\"\"\n",[651,2251,2252,2255,2257,2259],{"class":653,"line":688},[651,2253,2254],{"class":668},"    n ",[651,2256,1067],{"class":664},[651,2258,1242],{"class":675},[651,2260,1245],{"class":668},[651,2262,2263,2265,2267,2269,2271],{"class":653,"line":697},[651,2264,846],{"class":664},[651,2266,669],{"class":668},[651,2268,672],{"class":664},[651,2270,676],{"class":675},[651,2272,2273],{"class":668},"(n):\n",[651,2275,2276,2279,2282,2284,2286,2289,2292,2295],{"class":653,"line":704},[651,2277,2278],{"class":664},"        for",[651,2280,2281],{"class":668}," j ",[651,2283,672],{"class":664},[651,2285,676],{"class":675},[651,2287,2288],{"class":668},"(i ",[651,2290,2291],{"class":664},"+",[651,2293,2294],{"class":675}," 1",[651,2296,2297],{"class":668},", n):\n",[651,2299,2300,2303,2306,2308],{"class":653,"line":710},[651,2301,2302],{"class":664},"            if",[651,2304,2305],{"class":668}," tableau[i] ",[651,2307,863],{"class":664},[651,2309,2310],{"class":668}," tableau[j]:\n",[651,2312,2313,2316],{"class":653,"line":723},[651,2314,2315],{"class":664},"                return",[651,2317,874],{"class":675},[651,2319,2320,2322],{"class":653,"line":889},[651,2321,879],{"class":664},[651,2323,882],{"class":675},[599,2325,2326,2327,2392,2393,1308],{},"Le nombre de comparaisons est de l'ordre de ",[651,2328,2330,2354],{"className":2329},[755],[651,2331,2333],{"className":2332},[759],[761,2334,2335],{"xmlns":763},[765,2336,2337,2351],{},[768,2338,2339,2341,2344,2346,2349],{},[771,2340,773],{},[1477,2342,2343],{},"×",[771,2345,773],{},[771,2347,1239],{"mathvariant":2348},"normal",[1869,2350,908],{},[775,2352,2353],{"encoding":777},"n \\times n \u002F 2",[651,2355,2357,2379],{"className":2356,"ariaHidden":782},[781],[651,2358,2360,2364,2367,2372,2376],{"className":2359},[786],[651,2361],{"className":2362,"style":2363},[790],"height:0.6667em;vertical-align:-0.0833em;",[651,2365,773],{"className":2366},[795,796],[651,2368],{"className":2369,"style":2371},[2370],"mspace","margin-right:0.2222em;",[651,2373,2343],{"className":2374},[2375],"mbin",[651,2377],{"className":2378,"style":2371},[2370],[651,2380,2382,2385,2388],{"className":2381},[786],[651,2383],{"className":2384,"style":1497},[790],[651,2386,773],{"className":2387},[795,796],[651,2389,2391],{"className":2390},[795],"\u002F2"," — ce qui reste\nproportionnel à ",[651,2394,2396,2413],{"className":2395},[755],[651,2397,2399],{"className":2398},[759],[761,2400,2401],{"xmlns":763},[765,2402,2403,2411],{},[768,2404,2405],{},[2093,2406,2407,2409],{},[771,2408,773],{},[1869,2410,908],{},[775,2412,2187],{"encoding":777},[651,2414,2416],{"className":2415,"ariaHidden":782},[781],[651,2417,2419,2422],{"className":2418},[786],[651,2420],{"className":2421,"style":2142},[790],[651,2423,2425,2428],{"className":2424},[795],[651,2426,773],{"className":2427},[795,796],[651,2429,2431],{"className":2430},[2129],[651,2432,2434],{"className":2433},[2133],[651,2435,2437],{"className":2436},[2137],[651,2438,2440],{"className":2439,"style":2142},[2141],[651,2441,2442,2445],{"style":2145},[651,2443],{"className":2444,"style":2150},[2149],[651,2446,2448],{"className":2447},[2154,2155,2156,2157],[651,2449,908],{"className":2450},[795,2157],[997,2452,2454,2459],{"correct":999,"slug":2453},"complexite-bases-c1",[1002,2455,2456],{"v-slot:question":647},[599,2457,2458],{},"Si un algo en O(n²) met 1 seconde pour n=1000, combien de temps environ pour n=10000 ?",[1002,2460,2461],{"v-slot:choices":647},[1014,2462,2463,2466,2469],{},[972,2464,2465],{},"10 secondes",[972,2467,2468],{},"100 secondes",[972,2470,2471],{},"1000 secondes",[594,2473,2475],{"id":2474},"la-notation-grand-o-en-douceur","La notation grand-O, en douceur",[599,2477,2478,2479,632,2522,2595],{},"On a écrit ",[651,2480,2482,2501],{"className":2481},[755],[651,2483,2485],{"className":2484},[759],[761,2486,2487],{"xmlns":763},[765,2488,2489,2499],{},[768,2490,2491,2493,2495,2497],{},[771,2492,1475],{"mathvariant":1474},[1477,2494,679],{"stretchy":1479},[771,2496,773],{},[1477,2498,1484],{"stretchy":1479},[775,2500,1487],{"encoding":777},[651,2502,2504],{"className":2503,"ariaHidden":782},[781],[651,2505,2507,2510,2513,2516,2519],{"className":2506},[786],[651,2508],{"className":2509,"style":1497},[790],[651,2511,1475],{"className":2512,"style":1502},[795,1501],[651,2514,679],{"className":2515},[1506],[651,2517,773],{"className":2518},[795,796],[651,2520,1484],{"className":2521},[1513],[651,2523,2525,2548],{"className":2524},[755],[651,2526,2528],{"className":2527},[759],[761,2529,2530],{"xmlns":763},[765,2531,2532,2546],{},[768,2533,2534,2536,2538,2544],{},[771,2535,1475],{"mathvariant":1474},[1477,2537,679],{"stretchy":1479},[2093,2539,2540,2542],{},[771,2541,773],{},[1869,2543,908],{},[1477,2545,1484],{"stretchy":1479},[775,2547,2103],{"encoding":777},[651,2549,2551],{"className":2550,"ariaHidden":782},[781],[651,2552,2554,2557,2560,2563,2592],{"className":2553},[786],[651,2555],{"className":2556,"style":2113},[790],[651,2558,1475],{"className":2559,"style":1502},[795,1501],[651,2561,679],{"className":2562},[1506],[651,2564,2566,2569],{"className":2565},[795],[651,2567,773],{"className":2568},[795,796],[651,2570,2572],{"className":2571},[2129],[651,2573,2575],{"className":2574},[2133],[651,2576,2578],{"className":2577},[2137],[651,2579,2581],{"className":2580,"style":2142},[2141],[651,2582,2583,2586],{"style":2145},[651,2584],{"className":2585,"style":2150},[2149],[651,2587,2589],{"className":2588},[2154,2155,2156,2157],[651,2590,908],{"className":2591},[795,2157],[651,2593,1484],{"className":2594},[1513],". Que signifie ce symbole ?",[599,2597,2598,2599,2602,2603,2606,2607,2610,2611,2639,2640,2698,2699,2751,2752,2755,2756,2784,2785,2828,2829,2857,2858,1308],{},"L'idée : on ",[603,2600,2601],{},"néglige les constantes"," et les ",[603,2604,2605],{},"détails de petite taille","\npour ne garder que l'",[603,2608,2609],{},"ordre de grandeur"," quand ",[651,2612,2614,2627],{"className":2613},[755],[651,2615,2617],{"className":2616},[759],[761,2618,2619],{"xmlns":763},[765,2620,2621,2625],{},[768,2622,2623],{},[771,2624,773],{},[775,2626,773],{"encoding":777},[651,2628,2630],{"className":2629,"ariaHidden":782},[781],[651,2631,2633,2636],{"className":2632},[786],[651,2634],{"className":2635,"style":791},[790],[651,2637,773],{"className":2638},[795,796]," devient grand. Par\nexemple, un algorithme qui fait ",[651,2641,2643,2663],{"className":2642},[755],[651,2644,2646],{"className":2645},[759],[761,2647,2648],{"xmlns":763},[765,2649,2650,2660],{},[768,2651,2652,2654,2656,2658],{},[1869,2653,898],{},[771,2655,773],{},[1477,2657,2291],{},[1869,2659,903],{},[775,2661,2662],{"encoding":777},"3n + 7",[651,2664,2666,2688],{"className":2665,"ariaHidden":782},[781],[651,2667,2669,2673,2676,2679,2682,2685],{"className":2668},[786],[651,2670],{"className":2671,"style":2672},[790],"height:0.7278em;vertical-align:-0.0833em;",[651,2674,898],{"className":2675},[795],[651,2677,773],{"className":2678},[795,796],[651,2680],{"className":2681,"style":2371},[2370],[651,2683,2291],{"className":2684},[2375],[651,2686],{"className":2687,"style":2371},[2370],[651,2689,2691,2695],{"className":2690},[786],[651,2692],{"className":2693,"style":2694},[790],"height:0.6444em;",[651,2696,903],{"className":2697},[795]," opérations et un autre qui en fait\n",[651,2700,2702,2721],{"className":2701},[755],[651,2703,2705],{"className":2704},[759],[761,2706,2707],{"xmlns":763},[765,2708,2709,2718],{},[768,2710,2711,2713,2716],{},[771,2712,773],{},[1477,2714,2715],{},"−",[1869,2717,999],{},[775,2719,2720],{"encoding":777},"n - 1",[651,2722,2724,2742],{"className":2723,"ariaHidden":782},[781],[651,2725,2727,2730,2733,2736,2739],{"className":2726},[786],[651,2728],{"className":2729,"style":2363},[790],[651,2731,773],{"className":2732},[795,796],[651,2734],{"className":2735,"style":2371},[2370],[651,2737,2715],{"className":2738},[2375],[651,2740],{"className":2741,"style":2371},[2370],[651,2743,2745,2748],{"className":2744},[786],[651,2746],{"className":2747,"style":2694},[790],[651,2749,999],{"className":2750},[795]," ont le ",[603,2753,2754],{},"même comportement asymptotique"," (c'est-à-dire la même\nallure quand ",[651,2757,2759,2772],{"className":2758},[755],[651,2760,2762],{"className":2761},[759],[761,2763,2764],{"xmlns":763},[765,2765,2766,2770],{},[768,2767,2768],{},[771,2769,773],{},[775,2771,773],{"encoding":777},[651,2773,2775],{"className":2774,"ariaHidden":782},[781],[651,2776,2778,2781],{"className":2777},[786],[651,2779],{"className":2780,"style":791},[790],[651,2782,773],{"className":2783},[795,796]," devient grand) — tous deux sont en ",[651,2786,2788,2807],{"className":2787},[755],[651,2789,2791],{"className":2790},[759],[761,2792,2793],{"xmlns":763},[765,2794,2795,2805],{},[768,2796,2797,2799,2801,2803],{},[771,2798,1475],{"mathvariant":1474},[1477,2800,679],{"stretchy":1479},[771,2802,773],{},[1477,2804,1484],{"stretchy":1479},[775,2806,1487],{"encoding":777},[651,2808,2810],{"className":2809,"ariaHidden":782},[781],[651,2811,2813,2816,2819,2822,2825],{"className":2812},[786],[651,2814],{"className":2815,"style":1497},[790],[651,2817,1475],{"className":2818,"style":1502},[795,1501],[651,2820,679],{"className":2821},[1506],[651,2823,773],{"className":2824},[795,796],[651,2826,1484],{"className":2827},[1513],".\nQuand ",[651,2830,2832,2845],{"className":2831},[755],[651,2833,2835],{"className":2834},[759],[761,2836,2837],{"xmlns":763},[765,2838,2839,2843],{},[768,2840,2841],{},[771,2842,773],{},[775,2844,773],{"encoding":777},[651,2846,2848],{"className":2847,"ariaHidden":782},[781],[651,2849,2851,2854],{"className":2850},[786],[651,2852],{"className":2853,"style":791},[790],[651,2855,773],{"className":2856},[795,796]," atteint 1 million, le « +7 » et le « ×3 » sont sans importance\nface au grand ",[651,2859,2861,2874],{"className":2860},[755],[651,2862,2864],{"className":2863},[759],[761,2865,2866],{"xmlns":763},[765,2867,2868,2872],{},[768,2869,2870],{},[771,2871,773],{},[775,2873,773],{"encoding":777},[651,2875,2877],{"className":2876,"ariaHidden":782},[781],[651,2878,2880,2883],{"className":2879},[786],[651,2881],{"className":2882,"style":791},[790],[651,2884,773],{"className":2885},[795,796],[741,2887,2888],{},[599,2889,2890,2893,2894,2953,2954,3001,3002,3045],{},[603,2891,2892],{},"Définition intuitive"," : un algorithme est en ",[651,2895,2897,2924],{"className":2896},[755],[651,2898,2900],{"className":2899},[759],[761,2901,2902],{"xmlns":763},[765,2903,2904,2921],{},[768,2905,2906,2908,2910,2913,2915,2917,2919],{},[771,2907,1475],{"mathvariant":1474},[1477,2909,679],{"stretchy":1479},[771,2911,2912],{},"f",[1477,2914,679],{"stretchy":1479},[771,2916,773],{},[1477,2918,1484],{"stretchy":1479},[1477,2920,1484],{"stretchy":1479},[775,2922,2923],{"encoding":777},"\\mathcal{O}(f(n))",[651,2925,2927],{"className":2926,"ariaHidden":782},[781],[651,2928,2930,2933,2936,2939,2943,2946,2949],{"className":2929},[786],[651,2931],{"className":2932,"style":1497},[790],[651,2934,1475],{"className":2935,"style":1502},[795,1501],[651,2937,679],{"className":2938},[1506],[651,2940,2912],{"className":2941,"style":2942},[795,796],"margin-right:0.1076em;",[651,2944,679],{"className":2945},[1506],[651,2947,773],{"className":2948},[795,796],[651,2950,2952],{"className":2951},[1513],"))"," si, à\npartir d'une certaine taille, son nombre d'opérations reste ",[603,2955,2956,2957],{},"borné par un\nmultiple de ",[651,2958,2960,2980],{"className":2959},[755],[651,2961,2963],{"className":2962},[759],[761,2964,2965],{"xmlns":763},[765,2966,2967,2977],{},[768,2968,2969,2971,2973,2975],{},[771,2970,2912],{},[1477,2972,679],{"stretchy":1479},[771,2974,773],{},[1477,2976,1484],{"stretchy":1479},[775,2978,2979],{"encoding":777},"f(n)",[651,2981,2983],{"className":2982,"ariaHidden":782},[781],[651,2984,2986,2989,2992,2995,2998],{"className":2985},[786],[651,2987],{"className":2988,"style":1497},[790],[651,2990,2912],{"className":2991,"style":2942},[795,796],[651,2993,679],{"className":2994},[1506],[651,2996,773],{"className":2997},[795,796],[651,2999,1484],{"className":3000},[1513],". Autrement dit : « il croît au pire comme ",[651,3003,3005,3024],{"className":3004},[755],[651,3006,3008],{"className":3007},[759],[761,3009,3010],{"xmlns":763},[765,3011,3012,3022],{},[768,3013,3014,3016,3018,3020],{},[771,3015,2912],{},[1477,3017,679],{"stretchy":1479},[771,3019,773],{},[1477,3021,1484],{"stretchy":1479},[775,3023,2979],{"encoding":777},[651,3025,3027],{"className":3026,"ariaHidden":782},[781],[651,3028,3030,3033,3036,3039,3042],{"className":3029},[786],[651,3031],{"className":3032,"style":1497},[790],[651,3034,2912],{"className":3035,"style":2942},[795,796],[651,3037,679],{"className":3038},[1506],[651,3040,773],{"className":3041},[795,796],[651,3043,1484],{"className":3044},[1513]," ».",[599,3047,3048,3049,3112,3113,3116,3117,3160],{},"Vous rencontrerez aussi ",[651,3050,3052,3078],{"className":3051},[755],[651,3053,3055],{"className":3054},[759],[761,3056,3057],{"xmlns":763},[765,3058,3059,3075],{},[768,3060,3061,3063,3065,3068,3071,3073],{},[771,3062,1475],{"mathvariant":1474},[1477,3064,679],{"stretchy":1479},[771,3066,3067],{},"log",[1477,3069,3070],{},"⁡",[771,3072,773],{},[1477,3074,1484],{"stretchy":1479},[775,3076,3077],{"encoding":777},"\\mathcal{O}(\\log n)",[651,3079,3081],{"className":3080,"ariaHidden":782},[781],[651,3082,3084,3087,3090,3093,3102,3106,3109],{"className":3083},[786],[651,3085],{"className":3086,"style":1497},[790],[651,3088,1475],{"className":3089,"style":1502},[795,1501],[651,3091,679],{"className":3092},[1506],[651,3094,3097,3098],{"className":3095},[3096],"mop","lo",[651,3099,3101],{"style":3100},"margin-right:0.0139em;","g",[651,3103],{"className":3104,"style":3105},[2370],"margin-right:0.1667em;",[651,3107,773],{"className":3108},[795,796],[651,3110,1484],{"className":3111},[1513]," au cours 4 (dichotomie) — c'est\nun coût ",[603,3114,3115],{},"encore plus petit"," que ",[651,3118,3120,3139],{"className":3119},[755],[651,3121,3123],{"className":3122},[759],[761,3124,3125],{"xmlns":763},[765,3126,3127,3137],{},[768,3128,3129,3131,3133,3135],{},[771,3130,1475],{"mathvariant":1474},[1477,3132,679],{"stretchy":1479},[771,3134,773],{},[1477,3136,1484],{"stretchy":1479},[775,3138,1487],{"encoding":777},[651,3140,3142],{"className":3141,"ariaHidden":782},[781],[651,3143,3145,3148,3151,3154,3157],{"className":3144},[786],[651,3146],{"className":3147,"style":1497},[790],[651,3149,1475],{"className":3150,"style":1502},[795,1501],[651,3152,679],{"className":3153},[1506],[651,3155,773],{"className":3156},[795,796],[651,3158,1484],{"className":3159},[1513],", qui croît extrêmement\nlentement.",[594,3162,3164],{"id":3163},"comparer-les-ordres-de-grandeur","Comparer les ordres de grandeur",[3166,3167,3168,3389],"table",{},[3169,3170,3171],"thead",{},[3172,3173,3174,3205,3299,3329],"tr",{},[3175,3176,3177],"th",{},[651,3178,3180,3193],{"className":3179},[755],[651,3181,3183],{"className":3182},[759],[761,3184,3185],{"xmlns":763},[765,3186,3187,3191],{},[768,3188,3189],{},[771,3190,773],{},[775,3192,773],{"encoding":777},[651,3194,3196],{"className":3195,"ariaHidden":782},[781],[651,3197,3199,3202],{"className":3198},[786],[651,3200],{"className":3201,"style":791},[790],[651,3203,773],{"className":3204},[795,796],[3175,3206,3207],{},[651,3208,3210,3235],{"className":3209},[755],[651,3211,3213],{"className":3212},[759],[761,3214,3215],{"xmlns":763},[765,3216,3217,3232],{},[768,3218,3219,3230],{},[3220,3221,3222,3228],"msub",{},[768,3223,3224,3226],{},[771,3225,3067],{},[1477,3227,3070],{},[1869,3229,908],{},[771,3231,773],{},[775,3233,3234],{"encoding":777},"\\log_2 n",[651,3236,3238],{"className":3237,"ariaHidden":782},[781],[651,3239,3241,3245,3293,3296],{"className":3240},[786],[651,3242],{"className":3243,"style":3244},[790],"height:0.9386em;vertical-align:-0.2441em;",[651,3246,3248,3253],{"className":3247},[3096],[651,3249,3097,3251],{"className":3250},[3096],[651,3252,3101],{"style":3100},[651,3254,3256],{"className":3255},[2129],[651,3257,3260,3284],{"className":3258},[2133,3259],"vlist-t2",[651,3261,3263,3279],{"className":3262},[2137],[651,3264,3267],{"className":3265,"style":3266},[2141],"height:0.207em;",[651,3268,3270,3273],{"style":3269},"top:-2.4559em;margin-right:0.05em;",[651,3271],{"className":3272,"style":2150},[2149],[651,3274,3276],{"className":3275},[2154,2155,2156,2157],[651,3277,908],{"className":3278},[795,2157],[651,3280,3283],{"className":3281},[3282],"vlist-s","​",[651,3285,3287],{"className":3286},[2137],[651,3288,3291],{"className":3289,"style":3290},[2141],"height:0.2441em;",[651,3292],{},[651,3294],{"className":3295,"style":3105},[2370],[651,3297,773],{"className":3298},[795,796],[3175,3300,3301],{},[651,3302,3304,3317],{"className":3303},[755],[651,3305,3307],{"className":3306},[759],[761,3308,3309],{"xmlns":763},[765,3310,3311,3315],{},[768,3312,3313],{},[771,3314,773],{},[775,3316,773],{"encoding":777},[651,3318,3320],{"className":3319,"ariaHidden":782},[781],[651,3321,3323,3326],{"className":3322},[786],[651,3324],{"className":3325,"style":791},[790],[651,3327,773],{"className":3328},[795,796],[3175,3330,3331],{},[651,3332,3334,3351],{"className":3333},[755],[651,3335,3337],{"className":3336},[759],[761,3338,3339],{"xmlns":763},[765,3340,3341,3349],{},[768,3342,3343],{},[2093,3344,3345,3347],{},[771,3346,773],{},[1869,3348,908],{},[775,3350,2187],{"encoding":777},[651,3352,3354],{"className":3353,"ariaHidden":782},[781],[651,3355,3357,3360],{"className":3356},[786],[651,3358],{"className":3359,"style":2142},[790],[651,3361,3363,3366],{"className":3362},[795],[651,3364,773],{"className":3365},[795,796],[651,3367,3369],{"className":3368},[2129],[651,3370,3372],{"className":3371},[2133],[651,3373,3375],{"className":3374},[2137],[651,3376,3378],{"className":3377,"style":2142},[2141],[651,3379,3380,3383],{"style":2145},[651,3381],{"className":3382,"style":2150},[2149],[651,3384,3386],{"className":3385},[2154,2155,2156,2157],[651,3387,908],{"className":3388},[795,2157],[3390,3391,3392,3405,3417,3430],"tbody",{},[3172,3393,3394,3397,3400,3402],{},[3395,3396,1273],"td",{},[3395,3398,3399],{},"≈ 3",[3395,3401,1273],{},[3395,3403,3404],{},"100",[3172,3406,3407,3409,3412,3414],{},[3395,3408,3404],{},[3395,3410,3411],{},"≈ 7",[3395,3413,3404],{},[3395,3415,3416],{},"10 000",[3172,3418,3419,3422,3425,3427],{},[3395,3420,3421],{},"1 000",[3395,3423,3424],{},"≈ 10",[3395,3426,3421],{},[3395,3428,3429],{},"1 000 000",[3172,3431,3432,3434,3437,3439],{},[3395,3433,3429],{},[3395,3435,3436],{},"≈ 20",[3395,3438,3429],{},[3395,3440,3441],{},[651,3442,3444,3463],{"className":3443},[755],[651,3445,3447],{"className":3446},[759],[761,3448,3449],{"xmlns":763},[765,3450,3451,3460],{},[768,3452,3453],{},[2093,3454,3455,3457],{},[1869,3456,1273],{},[1869,3458,3459],{},"12",[775,3461,3462],{"encoding":777},"10^{12}",[651,3464,3466],{"className":3465,"ariaHidden":782},[781],[651,3467,3469,3472,3475],{"className":3468},[786],[651,3470],{"className":3471,"style":2142},[790],[651,3473,999],{"className":3474},[795],[651,3476,3478,3481],{"className":3477},[795],[651,3479,1073],{"className":3480},[795],[651,3482,3484],{"className":3483},[2129],[651,3485,3487],{"className":3486},[2133],[651,3488,3490],{"className":3489},[2137],[651,3491,3493],{"className":3492,"style":2142},[2141],[651,3494,3495,3498],{"style":2145},[651,3496],{"className":3497,"style":2150},[2149],[651,3499,3501],{"className":3500},[2154,2155,2156,2157],[651,3502,3504],{"className":3503},[795,2157],[651,3505,3459],{"className":3506},[795,2157],[599,3508,3509,3510,3513,3514,3516,3517,3520],{},"Pour un million d'éléments, un algorithme ",[603,3511,3512],{},"logarithmique"," finit en 20\nétapes ; un algorithme ",[603,3515,811],{}," en un million ; un algorithme\n",[603,3518,3519],{},"quadratique"," en mille milliards — irréalisable en pratique.",[1355,3522,3523,3529,3769],{},[599,3524,3525,3528],{},[603,3526,3527],{},"Hiérarchie à retenir"," :",[651,3530,3533],{"className":3531},[3532],"katex-display",[651,3534,3536,3610],{"className":3535},[755],[651,3537,3539],{"className":3538},[759],[761,3540,3542],{"xmlns":763,"display":3541},"block",[765,3543,3544,3607],{},[768,3545,3546,3548,3550,3552,3554,3558,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3605],{},[771,3547,1475],{"mathvariant":1474},[1477,3549,679],{"stretchy":1479},[1869,3551,999],{},[1477,3553,1484],{"stretchy":1479},[3555,3556,3557],"mtext",{},"  ",[1477,3559,3560],{},"\u003C",[3555,3562,3557],{},[771,3564,1475],{"mathvariant":1474},[1477,3566,679],{"stretchy":1479},[771,3568,3067],{},[1477,3570,3070],{},[771,3572,773],{},[1477,3574,1484],{"stretchy":1479},[3555,3576,3557],{},[1477,3578,3560],{},[3555,3580,3557],{},[771,3582,1475],{"mathvariant":1474},[1477,3584,679],{"stretchy":1479},[771,3586,773],{},[1477,3588,1484],{"stretchy":1479},[3555,3590,3557],{},[1477,3592,3560],{},[3555,3594,3557],{},[771,3596,1475],{"mathvariant":1474},[1477,3598,679],{"stretchy":1479},[2093,3600,3601,3603],{},[771,3602,773],{},[1869,3604,908],{},[1477,3606,1484],{"stretchy":1479},[775,3608,3609],{"encoding":777},"\\mathcal{O}(1) \\;\u003C\\; \\mathcal{O}(\\log n) \\;\u003C\\; \\mathcal{O}(n) \\;\u003C\\; \\mathcal{O}(n^2)",[651,3611,3613,3648,3689,3722],{"className":3612,"ariaHidden":782},[781],[651,3614,3616,3619,3622,3625,3628,3631,3635,3638,3642,3645],{"className":3615},[786],[651,3617],{"className":3618,"style":1497},[790],[651,3620,1475],{"className":3621,"style":1502},[795,1501],[651,3623,679],{"className":3624},[1506],[651,3626,999],{"className":3627},[795],[651,3629,1484],{"className":3630},[1513],[651,3632],{"className":3633,"style":3634},[2370],"margin-right:0.2778em;",[651,3636],{"className":3637,"style":3634},[2370],[651,3639,3560],{"className":3640},[3641],"mrel",[651,3643],{"className":3644,"style":3634},[2370],[651,3646],{"className":3647,"style":3634},[2370],[651,3649,3651,3654,3657,3660,3665,3668,3671,3674,3677,3680,3683,3686],{"className":3650},[786],[651,3652],{"className":3653,"style":1497},[790],[651,3655,1475],{"className":3656,"style":1502},[795,1501],[651,3658,679],{"className":3659},[1506],[651,3661,3097,3663],{"className":3662},[3096],[651,3664,3101],{"style":3100},[651,3666],{"className":3667,"style":3105},[2370],[651,3669,773],{"className":3670},[795,796],[651,3672,1484],{"className":3673},[1513],[651,3675],{"className":3676,"style":3634},[2370],[651,3678],{"className":3679,"style":3634},[2370],[651,3681,3560],{"className":3682},[3641],[651,3684],{"className":3685,"style":3634},[2370],[651,3687],{"className":3688,"style":3634},[2370],[651,3690,3692,3695,3698,3701,3704,3707,3710,3713,3716,3719],{"className":3691},[786],[651,3693],{"className":3694,"style":1497},[790],[651,3696,1475],{"className":3697,"style":1502},[795,1501],[651,3699,679],{"className":3700},[1506],[651,3702,773],{"className":3703},[795,796],[651,3705,1484],{"className":3706},[1513],[651,3708],{"className":3709,"style":3634},[2370],[651,3711],{"className":3712,"style":3634},[2370],[651,3714,3560],{"className":3715},[3641],[651,3717],{"className":3718,"style":3634},[2370],[651,3720],{"className":3721,"style":3634},[2370],[651,3723,3725,3729,3732,3735,3766],{"className":3724},[786],[651,3726],{"className":3727,"style":3728},[790],"height:1.1141em;vertical-align:-0.25em;",[651,3730,1475],{"className":3731,"style":1502},[795,1501],[651,3733,679],{"className":3734},[1506],[651,3736,3738,3741],{"className":3737},[795],[651,3739,773],{"className":3740},[795,796],[651,3742,3744],{"className":3743},[2129],[651,3745,3747],{"className":3746},[2133],[651,3748,3750],{"className":3749},[2137],[651,3751,3754],{"className":3752,"style":3753},[2141],"height:0.8641em;",[651,3755,3757,3760],{"style":3756},"top:-3.113em;margin-right:0.05em;",[651,3758],{"className":3759,"style":2150},[2149],[651,3761,3763],{"className":3762},[2154,2155,2156,2157],[651,3764,908],{"className":3765},[795,2157],[651,3767,1484],{"className":3768},[1513],[599,3770,3771,3772,1308],{},"Plus on est à gauche, mieux on ",[603,3773,3774],{},"passe à l'échelle",[817,3776,3777],{},[642,3778,3780],{"className":644,"code":3779,"language":646,"meta":647,"style":647},"# Comparer les trois croissances pour quelques valeurs de n\nimport math\nprint(f\"{'n':>10} | {'log2(n)':>10} | {'n':>10} | {'n^2':>15}\")\nprint(\"-\" * 55)\nfor n in [10, 100, 1000, 10000]:\n    print(f\"{n:>10} | {math.log2(n):>10.2f} | {n:>10} | {n * n:>15}\")\n",[625,3781,3782,3787,3795,3857,3874,3905],{"__ignoreMap":647},[651,3783,3784],{"class":653,"line":654},[651,3785,3786],{"class":657},"# Comparer les trois croissances pour quelques valeurs de n\n",[651,3788,3789,3792],{"class":653,"line":661},[651,3790,3791],{"class":664},"import",[651,3793,3794],{"class":668}," math\n",[651,3796,3797,3799,3801,3803,3806,3809,3812,3815,3818,3821,3823,3826,3828,3830,3832,3834,3836,3838,3840,3842,3844,3847,3850,3852,3854],{"class":653,"line":688},[651,3798,892],{"class":675},[651,3800,679],{"class":668},[651,3802,2912],{"class":664},[651,3804,3805],{"class":840},"\"",[651,3807,3808],{"class":675},"{",[651,3810,3811],{"class":840},"'n'",[651,3813,3814],{"class":664},":>10",[651,3816,3817],{"class":675},"}",[651,3819,3820],{"class":840}," | ",[651,3822,3808],{"class":675},[651,3824,3825],{"class":840},"'log2(n)'",[651,3827,3814],{"class":664},[651,3829,3817],{"class":675},[651,3831,3820],{"class":840},[651,3833,3808],{"class":675},[651,3835,3811],{"class":840},[651,3837,3814],{"class":664},[651,3839,3817],{"class":675},[651,3841,3820],{"class":840},[651,3843,3808],{"class":675},[651,3845,3846],{"class":840},"'n^2'",[651,3848,3849],{"class":664},":>15",[651,3851,3817],{"class":675},[651,3853,3805],{"class":840},[651,3855,3856],{"class":668},")\n",[651,3858,3859,3861,3863,3866,3869,3872],{"class":653,"line":697},[651,3860,892],{"class":675},[651,3862,679],{"class":668},[651,3864,3865],{"class":840},"\"-\"",[651,3867,3868],{"class":664}," *",[651,3870,3871],{"class":675}," 55",[651,3873,3856],{"class":668},[651,3875,3876,3878,3881,3883,3886,3888,3890,3892,3894,3897,3899,3902],{"class":653,"line":704},[651,3877,665],{"class":664},[651,3879,3880],{"class":668}," n ",[651,3882,672],{"class":664},[651,3884,3885],{"class":668}," [",[651,3887,1273],{"class":675},[651,3889,632],{"class":668},[651,3891,3404],{"class":675},[651,3893,632],{"class":668},[651,3895,3896],{"class":675},"1000",[651,3898,632],{"class":668},[651,3900,3901],{"class":675},"10000",[651,3903,3904],{"class":668},"]:\n",[651,3906,3907,3909,3911,3913,3915,3917,3919,3921,3923,3925,3927,3930,3933,3935,3937,3939,3941,3943,3945,3947,3949,3952,3955,3958,3960,3962,3964],{"class":653,"line":710},[651,3908,691],{"class":675},[651,3910,679],{"class":668},[651,3912,2912],{"class":664},[651,3914,3805],{"class":840},[651,3916,3808],{"class":675},[651,3918,773],{"class":668},[651,3920,3814],{"class":664},[651,3922,3817],{"class":675},[651,3924,3820],{"class":840},[651,3926,3808],{"class":675},[651,3928,3929],{"class":668},"math.log2(n)",[651,3931,3932],{"class":664},":>10.2f",[651,3934,3817],{"class":675},[651,3936,3820],{"class":840},[651,3938,3808],{"class":675},[651,3940,773],{"class":668},[651,3942,3814],{"class":664},[651,3944,3817],{"class":675},[651,3946,3820],{"class":840},[651,3948,3808],{"class":675},[651,3950,3951],{"class":668},"n ",[651,3953,3954],{"class":664},"*",[651,3956,3957],{"class":668}," n",[651,3959,3849],{"class":664},[651,3961,3817],{"class":675},[651,3963,3805],{"class":840},[651,3965,3856],{"class":668},[594,3967,3969],{"id":3968},"cas-pire-cas-moyen","Cas pire, cas moyen",[599,3971,3972,3973,3976],{},"Tous les algorithmes n'effectuent pas le même nombre d'opérations sur toutes\nles entrées de même taille. La ",[603,3974,3975],{},"recherche linéaire"," peut :",[1014,3978,3979,3982],{},[972,3980,3981],{},"trouver dès la 1ère case (cas favorable, 1 comparaison) ;",[972,3983,3984,3985,4013],{},"trouver à la dernière case ou ne rien trouver (cas pire, ",[651,3986,3988,4001],{"className":3987},[755],[651,3989,3991],{"className":3990},[759],[761,3992,3993],{"xmlns":763},[765,3994,3995,3999],{},[768,3996,3997],{},[771,3998,773],{},[775,4000,773],{"encoding":777},[651,4002,4004],{"className":4003,"ariaHidden":782},[781],[651,4005,4007,4010],{"className":4006},[786],[651,4008],{"className":4009,"style":791},[790],[651,4011,773],{"className":4012},[795,796]," comparaisons).",[599,4015,4016,4017,4020,4021,4024,4025,4068,4069,1308],{},"On parle souvent du ",[603,4018,4019],{},"cas pire"," car c'est la ",[603,4022,4023],{},"garantie maximale"," offerte\npar l'algorithme. Quand on dit « la recherche linéaire est en\n",[651,4026,4028,4047],{"className":4027},[755],[651,4029,4031],{"className":4030},[759],[761,4032,4033],{"xmlns":763},[765,4034,4035,4045],{},[768,4036,4037,4039,4041,4043],{},[771,4038,1475],{"mathvariant":1474},[1477,4040,679],{"stretchy":1479},[771,4042,773],{},[1477,4044,1484],{"stretchy":1479},[775,4046,1487],{"encoding":777},[651,4048,4050],{"className":4049,"ariaHidden":782},[781],[651,4051,4053,4056,4059,4062,4065],{"className":4052},[786],[651,4054],{"className":4055,"style":1497},[790],[651,4057,1475],{"className":4058,"style":1502},[795,1501],[651,4060,679],{"className":4061},[1506],[651,4063,773],{"className":4064},[795,796],[651,4066,1484],{"className":4067},[1513]," », c'est au pire — au mieux, elle est en ",[651,4070,4072,4091],{"className":4071},[755],[651,4073,4075],{"className":4074},[759],[761,4076,4077],{"xmlns":763},[765,4078,4079,4089],{},[768,4080,4081,4083,4085,4087],{},[771,4082,1475],{"mathvariant":1474},[1477,4084,679],{"stretchy":1479},[1869,4086,999],{},[1477,4088,1484],{"stretchy":1479},[775,4090,1875],{"encoding":777},[651,4092,4094],{"className":4093,"ariaHidden":782},[781],[651,4095,4097,4100,4103,4106,4109],{"className":4096},[786],[651,4098],{"className":4099,"style":1497},[790],[651,4101,1475],{"className":4102,"style":1502},[795,1501],[651,4104,679],{"className":4105},[1506],[651,4107,999],{"className":4108},[795],[651,4110,1484],{"className":4111},[1513],[997,4113,4115,4120],{"correct":999,"slug":4114},"complexite-bases-c2",[1002,4116,4117],{"v-slot:question":647},[599,4118,4119],{},"Au mieux, combien d'opérations effectue une recherche linéaire qui trouve sa cible ?",[1002,4121,4122],{"v-slot:choices":647},[1014,4123,4124,4126,4129],{},[972,4125,999],{},[972,4127,4128],{},"log n",[972,4130,773],{},[594,4132,1518],{"id":1517},[1014,4134,4135,4141,4295],{},[972,4136,4137,4140],{},[603,4138,4139],{},"Compter en secondes"," au lieu de compter des opérations : trompeur, car\ndépendant de la machine.",[972,4142,4143,4146,4147,4177,4178,632,4221,1289,4224,1308],{},[603,4144,4145],{},"Garder les constantes"," dans la notation ",[651,4148,4150,4164],{"className":4149},[755],[651,4151,4153],{"className":4152},[759],[761,4154,4155],{"xmlns":763},[765,4156,4157,4161],{},[768,4158,4159],{},[771,4160,1475],{"mathvariant":1474},[775,4162,4163],{"encoding":777},"\\mathcal{O}",[651,4165,4167],{"className":4166,"ariaHidden":782},[781],[651,4168,4170,4174],{"className":4169},[786],[651,4171],{"className":4172,"style":4173},[790],"height:0.6833em;",[651,4175,1475],{"className":4176,"style":1502},[795,1501]," : on écrit\n",[651,4179,4181,4200],{"className":4180},[755],[651,4182,4184],{"className":4183},[759],[761,4185,4186],{"xmlns":763},[765,4187,4188,4198],{},[768,4189,4190,4192,4194,4196],{},[771,4191,1475],{"mathvariant":1474},[1477,4193,679],{"stretchy":1479},[771,4195,773],{},[1477,4197,1484],{"stretchy":1479},[775,4199,1487],{"encoding":777},[651,4201,4203],{"className":4202,"ariaHidden":782},[781],[651,4204,4206,4209,4212,4215,4218],{"className":4205},[786],[651,4207],{"className":4208,"style":1497},[790],[651,4210,1475],{"className":4211,"style":1502},[795,1501],[651,4213,679],{"className":4214},[1506],[651,4216,773],{"className":4217},[795,796],[651,4219,1484],{"className":4220},[1513],[603,4222,4223],{},"jamais",[651,4225,4227,4253],{"className":4226},[755],[651,4228,4230],{"className":4229},[759],[761,4231,4232],{"xmlns":763},[765,4233,4234,4250],{},[768,4235,4236,4238,4240,4242,4244,4246,4248],{},[771,4237,1475],{"mathvariant":1474},[1477,4239,679],{"stretchy":1479},[1869,4241,898],{},[771,4243,773],{},[1477,4245,2291],{},[1869,4247,918],{},[1477,4249,1484],{"stretchy":1479},[775,4251,4252],{"encoding":777},"\\mathcal{O}(3n + 5)",[651,4254,4256,4283],{"className":4255,"ariaHidden":782},[781],[651,4257,4259,4262,4265,4268,4271,4274,4277,4280],{"className":4258},[786],[651,4260],{"className":4261,"style":1497},[790],[651,4263,1475],{"className":4264,"style":1502},[795,1501],[651,4266,679],{"className":4267},[1506],[651,4269,898],{"className":4270},[795],[651,4272,773],{"className":4273},[795,796],[651,4275],{"className":4276,"style":2371},[2370],[651,4278,2291],{"className":4279},[2375],[651,4281],{"className":4282,"style":2371},[2370],[651,4284,4286,4289,4292],{"className":4285},[786],[651,4287],{"className":4288,"style":1497},[790],[651,4290,918],{"className":4291},[795],[651,4293,1484],{"className":4294},[1513],[972,4296,4297,4300],{},[603,4298,4299],{},"Confondre cas pire et cas moyen"," : à l'oral, préciser quand c'est ambigu.",[594,4302,1559],{"id":1558},[599,4304,4305,4306,4379,4380,4435],{},"Vous allez vérifier ces ordres de grandeur dans les cours suivants : les tris\ndu cours 3 sont en ",[651,4307,4309,4332],{"className":4308},[755],[651,4310,4312],{"className":4311},[759],[761,4313,4314],{"xmlns":763},[765,4315,4316,4330],{},[768,4317,4318,4320,4322,4328],{},[771,4319,1475],{"mathvariant":1474},[1477,4321,679],{"stretchy":1479},[2093,4323,4324,4326],{},[771,4325,773],{},[1869,4327,908],{},[1477,4329,1484],{"stretchy":1479},[775,4331,2103],{"encoding":777},[651,4333,4335],{"className":4334,"ariaHidden":782},[781],[651,4336,4338,4341,4344,4347,4376],{"className":4337},[786],[651,4339],{"className":4340,"style":2113},[790],[651,4342,1475],{"className":4343,"style":1502},[795,1501],[651,4345,679],{"className":4346},[1506],[651,4348,4350,4353],{"className":4349},[795],[651,4351,773],{"className":4352},[795,796],[651,4354,4356],{"className":4355},[2129],[651,4357,4359],{"className":4358},[2133],[651,4360,4362],{"className":4361},[2137],[651,4363,4365],{"className":4364,"style":2142},[2141],[651,4366,4367,4370],{"style":2145},[651,4368],{"className":4369,"style":2150},[2149],[651,4371,4373],{"className":4372},[2154,2155,2156,2157],[651,4374,908],{"className":4375},[795,2157],[651,4377,1484],{"className":4378},[1513],", la dichotomie du cours 4 est en\n",[651,4381,4383,4406],{"className":4382},[755],[651,4384,4386],{"className":4385},[759],[761,4387,4388],{"xmlns":763},[765,4389,4390,4404],{},[768,4391,4392,4394,4396,4398,4400,4402],{},[771,4393,1475],{"mathvariant":1474},[1477,4395,679],{"stretchy":1479},[771,4397,3067],{},[1477,4399,3070],{},[771,4401,773],{},[1477,4403,1484],{"stretchy":1479},[775,4405,3077],{"encoding":777},[651,4407,4409],{"className":4408,"ariaHidden":782},[781],[651,4410,4412,4415,4418,4421,4426,4429,4432],{"className":4411},[786],[651,4413],{"className":4414,"style":1497},[790],[651,4416,1475],{"className":4417,"style":1502},[795,1501],[651,4419,679],{"className":4420},[1506],[651,4422,3097,4424],{"className":4423},[3096],[651,4425,3101],{"style":3100},[651,4427],{"className":4428,"style":3105},[2370],[651,4430,773],{"className":4431},[795,796],[651,4433,1484],{"className":4434},[1513],". La différence de performance entre les deux dernières\nest colossale — un algorithme dichotomique sur un milliard d'éléments tient en\n30 étapes seulement.",[1572,4437,4438],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":647,"searchDepth":661,"depth":661,"links":4440},[4441,4442,4443,4444,4452,4453,4454,4455,4456],{"id":596,"depth":661,"text":597},{"id":1616,"depth":661,"text":1617},{"id":1676,"depth":661,"text":1677},{"id":1845,"depth":661,"text":1846,"children":4445},[4446,4448,4450],{"id":1850,"depth":688,"text":4447},"Coût constant — O(1)\\mathcal{O}(1)O(1)",{"id":1937,"depth":688,"text":4449},"Coût linéaire — O(n)\\mathcal{O}(n)O(n)",{"id":2074,"depth":688,"text":4451},"Coût quadratique — O(n2)\\mathcal{O}(n^2)O(n2)",{"id":2474,"depth":661,"text":2475},{"id":3163,"depth":661,"text":3164},{"id":3968,"depth":661,"text":3969},{"id":1517,"depth":661,"text":1518},{"id":1558,"depth":661,"text":1559},"Combien coûte un algorithme ? Premier contact avec la notation grand-O, sans dramatiser les maths.",{},[4460,4462],{"slug":2453,"kind":1592,"question":2458,"choices":4461,"correct":999,"multi":1595,"explanation":647},[2465,2468,2471],{"slug":4114,"kind":1592,"question":4119,"choices":4463,"correct":999,"multi":1595,"explanation":647},[999,4128,773],{"title":421,"description":4457},"WlEeOnXTHztMfuEDmwjyHJ1smTjMJp3RMIYBKuQetYM",{"id":4467,"title":425,"bo":4468,"body":4470,"description":7415,"eval":1587,"extension":1588,"labo":1587,"meta":7416,"navigation":700,"path":426,"quizzes":7417,"readingTime":654,"seo":7423,"stem":427,"tp":1587,"__hash__":7424},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F3.tris.md",[4469],"PH05",{"type":591,"value":4471,"toc":7401},[4472,4474,4565,4567,4571,4581,4584,4600,4662,4823,4843,4851,4855,4886,4982,5069,5073,5124,5149,5153,5161,5164,5178,5364,5551,5555,5596,5718,5721,5742,5746,5778,5938,6231,6311,6740,7037,7046,7067,7069,7321,7323,7399],[594,4473,597],{"id":596},[599,4475,4476,4479,4480,4483,4484,4487,4488,4491,4492,1308],{},[603,4477,4478],{},"Trier"," un tableau, c'est en ranger les éléments dans l'ordre croissant\n(ou décroissant). C'est l'une des opérations les plus utiles en informatique\n— les annuaires sont triés par nom, les classements par score, les fichiers\npar date. Au-delà de l'usage direct, ",[603,4481,4482],{},"un tableau trié ouvre des\npossibilités"," : on peut y chercher beaucoup plus vite (vous le verrez au\ncours suivant avec la dichotomie). Ce cours présente deux tris naïfs mais\nfondamentaux, le ",[603,4485,4486],{},"tri par sélection"," et le ",[603,4489,4490],{},"tri par insertion",", et\ndémontre qu'ils coûtent tous deux ",[651,4493,4495,4518],{"className":4494},[755],[651,4496,4498],{"className":4497},[759],[761,4499,4500],{"xmlns":763},[765,4501,4502,4516],{},[768,4503,4504,4506,4508,4514],{},[771,4505,1475],{"mathvariant":1474},[1477,4507,679],{"stretchy":1479},[2093,4509,4510,4512],{},[771,4511,773],{},[1869,4513,908],{},[1477,4515,1484],{"stretchy":1479},[775,4517,2103],{"encoding":777},[651,4519,4521],{"className":4520,"ariaHidden":782},[781],[651,4522,4524,4527,4530,4533,4562],{"className":4523},[786],[651,4525],{"className":4526,"style":2113},[790],[651,4528,1475],{"className":4529,"style":1502},[795,1501],[651,4531,679],{"className":4532},[1506],[651,4534,4536,4539],{"className":4535},[795],[651,4537,773],{"className":4538},[795,796],[651,4540,4542],{"className":4541},[2129],[651,4543,4545],{"className":4544},[2133],[651,4546,4548],{"className":4547},[2137],[651,4549,4551],{"className":4550,"style":2142},[2141],[651,4552,4553,4556],{"style":2145},[651,4554],{"className":4555,"style":2150},[2149],[651,4557,4559],{"className":4558},[2154,2155,2156,2157],[651,4560,908],{"className":4561},[795,2157],[651,4563,1484],{"className":4564},[1513],[612,4566],{"code":4469},[594,4568,4570],{"id":4569},"le-tri-par-sélection","Le tri par sélection",[599,4572,4573,4576,4577,4580],{},[603,4574,4575],{},"Idée"," : à chaque étape, on ",[603,4578,4579],{},"sélectionne"," le plus petit élément non\nencore trié et on le place à sa position définitive.",[599,4582,4583],{},"Plus précisément, on découpe le tableau en deux zones :",[1014,4585,4586,4593],{},[972,4587,4588,4589,4592],{},"à gauche, une zone ",[603,4590,4591],{},"triée"," (au début vide, puis qui grandit) ;",[972,4594,4595,4596,4599],{},"à droite, une zone ",[603,4597,4598],{},"non triée"," (qui rétrécit).",[599,4601,4602,4603,4633,4634,1308],{},"À l'étape ",[651,4604,4606,4620],{"className":4605},[755],[651,4607,4609],{"className":4608},[759],[761,4610,4611],{"xmlns":763},[765,4612,4613,4618],{},[768,4614,4615],{},[771,4616,4617],{},"i",[775,4619,4617],{"encoding":777},[651,4621,4623],{"className":4622,"ariaHidden":782},[781],[651,4624,4626,4630],{"className":4625},[786],[651,4627],{"className":4628,"style":4629},[790],"height:0.6595em;",[651,4631,4617],{"className":4632},[795,796],", on cherche le minimum dans la zone non triée et on l'échange\navec l'élément en position ",[651,4635,4637,4650],{"className":4636},[755],[651,4638,4640],{"className":4639},[759],[761,4641,4642],{"xmlns":763},[765,4643,4644,4648],{},[768,4645,4646],{},[771,4647,4617],{},[775,4649,4617],{"encoding":777},[651,4651,4653],{"className":4652,"ariaHidden":782},[781],[651,4654,4656,4659],{"className":4655},[786],[651,4657],{"className":4658,"style":4629},[790],[651,4660,4617],{"className":4661},[795,796],[642,4663,4665],{"className":644,"code":4664,"language":646,"meta":647,"style":647},"def tri_selection(t):\n    n = len(t)\n    for i in range(n):\n        # Cherche l'indice du minimum dans t[i:]\n        i_min = i\n        for j in range(i + 1, n):\n            if t[j] \u003C t[i_min]:\n                i_min = j\n        # Échange t[i] et t[i_min]\n        t[i], t[i_min] = t[i_min], t[i]\n    return t\n\nprint(tri_selection([5, 2, 8, 1, 9, 3]))\n# [1, 2, 3, 5, 8, 9]\n",[625,4666,4667,4677,4688,4700,4705,4715,4733,4745,4755,4760,4771,4779,4784,4817],{"__ignoreMap":647},[651,4668,4669,4671,4674],{"class":653,"line":654},[651,4670,828],{"class":664},[651,4672,4673],{"class":831}," tri_selection",[651,4675,4676],{"class":668},"(t):\n",[651,4678,4679,4681,4683,4685],{"class":653,"line":661},[651,4680,2254],{"class":668},[651,4682,1067],{"class":664},[651,4684,1242],{"class":675},[651,4686,4687],{"class":668},"(t)\n",[651,4689,4690,4692,4694,4696,4698],{"class":653,"line":688},[651,4691,846],{"class":664},[651,4693,669],{"class":668},[651,4695,672],{"class":664},[651,4697,676],{"class":675},[651,4699,2273],{"class":668},[651,4701,4702],{"class":653,"line":697},[651,4703,4704],{"class":657},"        # Cherche l'indice du minimum dans t[i:]\n",[651,4706,4707,4710,4712],{"class":653,"line":704},[651,4708,4709],{"class":668},"        i_min ",[651,4711,1067],{"class":664},[651,4713,4714],{"class":668}," i\n",[651,4716,4717,4719,4721,4723,4725,4727,4729,4731],{"class":653,"line":710},[651,4718,2278],{"class":664},[651,4720,2281],{"class":668},[651,4722,672],{"class":664},[651,4724,676],{"class":675},[651,4726,2288],{"class":668},[651,4728,2291],{"class":664},[651,4730,2294],{"class":675},[651,4732,2297],{"class":668},[651,4734,4735,4737,4740,4742],{"class":653,"line":723},[651,4736,2302],{"class":664},[651,4738,4739],{"class":668}," t[j] ",[651,4741,3560],{"class":664},[651,4743,4744],{"class":668}," t[i_min]:\n",[651,4746,4747,4750,4752],{"class":653,"line":889},[651,4748,4749],{"class":668},"                i_min ",[651,4751,1067],{"class":664},[651,4753,4754],{"class":668}," j\n",[651,4756,4757],{"class":653,"line":932},[651,4758,4759],{"class":657},"        # Échange t[i] et t[i_min]\n",[651,4761,4763,4766,4768],{"class":653,"line":4762},10,[651,4764,4765],{"class":668},"        t[i], t[i_min] ",[651,4767,1067],{"class":664},[651,4769,4770],{"class":668}," t[i_min], t[i]\n",[651,4772,4774,4776],{"class":653,"line":4773},11,[651,4775,879],{"class":664},[651,4777,4778],{"class":668}," t\n",[651,4780,4782],{"class":653,"line":4781},12,[651,4783,701],{"emptyLinePlaceholder":700},[651,4785,4787,4789,4792,4794,4796,4798,4800,4802,4804,4806,4808,4810,4812,4814],{"class":653,"line":4786},13,[651,4788,892],{"class":675},[651,4790,4791],{"class":668},"(tri_selection([",[651,4793,918],{"class":675},[651,4795,632],{"class":668},[651,4797,908],{"class":675},[651,4799,632],{"class":668},[651,4801,1263],{"class":675},[651,4803,632],{"class":668},[651,4805,999],{"class":675},[651,4807,632],{"class":668},[651,4809,913],{"class":675},[651,4811,632],{"class":668},[651,4813,898],{"class":675},[651,4815,4816],{"class":668},"]))\n",[651,4818,4820],{"class":653,"line":4819},14,[651,4821,4822],{"class":657},"# [1, 2, 3, 5, 8, 9]\n",[1355,4824,4825],{},[599,4826,4827,4830,4831,4834,4835,4838,4839,4842],{},[603,4828,4829],{},"Idiome Python — l'échange en une ligne."," L'écriture\n",[625,4832,4833],{},"t[i], t[i_min] = t[i_min], t[i]"," est une ",[603,4836,4837],{},"affectation parallèle"," : Python\ncalcule d'abord le membre de droite (un tuple ",[625,4840,4841],{},"(t[i_min], t[i])","), puis\nl'attribue à gauche. Pas besoin de variable temporaire — c'est lisible et\nsans erreur d'ordre.",[1355,4844,4845],{},[599,4846,4847,4850],{},[603,4848,4849],{},"Analogie"," : trier une main de cartes en cherchant à chaque fois la plus\npetite carte restante pour la mettre à gauche.",[1848,4852,4854],{"id":4853},"invariant-du-tri-par-sélection","Invariant du tri par sélection",[599,4856,4857,4858,3528],{},"Notons l'invariant suivant, vrai à la fin de chaque tour de la boucle externe\npour l'indice ",[651,4859,4861,4874],{"className":4860},[755],[651,4862,4864],{"className":4863},[759],[761,4865,4866],{"xmlns":763},[765,4867,4868,4872],{},[768,4869,4870],{},[771,4871,4617],{},[775,4873,4617],{"encoding":777},[651,4875,4877],{"className":4876,"ariaHidden":782},[781],[651,4878,4880,4883],{"className":4879},[786],[651,4881],{"className":4882,"style":4629},[790],[651,4884,4617],{"className":4885},[795,796],[4887,4888,4889],"blockquote",{},[599,4890,4891,4892,4920,4921,636,4923,4925,4926,4978,4979,1308],{},"Après le tour ",[651,4893,4895,4908],{"className":4894},[755],[651,4896,4898],{"className":4897},[759],[761,4899,4900],{"xmlns":763},[765,4901,4902,4906],{},[768,4903,4904],{},[771,4905,4617],{},[775,4907,4617],{"encoding":777},[651,4909,4911],{"className":4910,"ariaHidden":782},[781],[651,4912,4914,4917],{"className":4913},[786],[651,4915],{"className":4916,"style":4629},[790],[651,4918,4617],{"className":4919},[795,796],", les cases ",[625,4922,631],{},[625,4924,734],{}," contiennent les ",[651,4927,4929,4947],{"className":4928},[755],[651,4930,4932],{"className":4931},[759],[761,4933,4934],{"xmlns":763},[765,4935,4936,4944],{},[768,4937,4938,4940,4942],{},[771,4939,4617],{},[1477,4941,2291],{},[1869,4943,999],{},[775,4945,4946],{"encoding":777},"i+1",[651,4948,4950,4969],{"className":4949,"ariaHidden":782},[781],[651,4951,4953,4957,4960,4963,4966],{"className":4952},[786],[651,4954],{"className":4955,"style":4956},[790],"height:0.7429em;vertical-align:-0.0833em;",[651,4958,4617],{"className":4959},[795,796],[651,4961],{"className":4962,"style":2371},[2370],[651,4964,2291],{"className":4965},[2375],[651,4967],{"className":4968,"style":2371},[2370],[651,4970,4972,4975],{"className":4971},[786],[651,4973],{"className":4974,"style":2694},[790],[651,4976,999],{"className":4977},[795]," plus\npetits éléments du tableau, ",[603,4980,4981],{},"rangés dans l'ordre croissant",[599,4983,4984,4985,5013,5014,5065,5066],{},"Quand ",[651,4986,4988,5001],{"className":4987},[755],[651,4989,4991],{"className":4990},[759],[761,4992,4993],{"xmlns":763},[765,4994,4995,4999],{},[768,4996,4997],{},[771,4998,4617],{},[775,5000,4617],{"encoding":777},[651,5002,5004],{"className":5003,"ariaHidden":782},[781],[651,5005,5007,5010],{"className":5006},[786],[651,5008],{"className":5009,"style":4629},[790],[651,5011,4617],{"className":5012},[795,796]," atteint ",[651,5015,5017,5035],{"className":5016},[755],[651,5018,5020],{"className":5019},[759],[761,5021,5022],{"xmlns":763},[765,5023,5024,5032],{},[768,5025,5026,5028,5030],{},[771,5027,773],{},[1477,5029,2715],{},[1869,5031,999],{},[775,5033,5034],{"encoding":777},"n-1",[651,5036,5038,5056],{"className":5037,"ariaHidden":782},[781],[651,5039,5041,5044,5047,5050,5053],{"className":5040},[786],[651,5042],{"className":5043,"style":2363},[790],[651,5045,773],{"className":5046},[795,796],[651,5048],{"className":5049,"style":2371},[2370],[651,5051,2715],{"className":5052},[2375],[651,5054],{"className":5055,"style":2371},[2370],[651,5057,5059,5062],{"className":5058},[786],[651,5060],{"className":5061,"style":2694},[790],[651,5063,999],{"className":5064},[795],", l'invariant dit que tout le tableau est trié.\n",[603,5067,5068],{},"C'est ce qu'on voulait.",[1848,5070,5072],{"id":5071},"terminaison","Terminaison",[599,5074,5075,5076,5079,5080,5082,5083,5086,5087,5115,5116,5119,5120,5123],{},"La boucle externe parcourt ",[625,5077,5078],{},"range(n)"," — c'est un ",[625,5081,665],{}," sur un intervalle\n",[603,5084,5085],{},"fini",". Elle s'arrête donc forcément après exactement ",[651,5088,5090,5103],{"className":5089},[755],[651,5091,5093],{"className":5092},[759],[761,5094,5095],{"xmlns":763},[765,5096,5097,5101],{},[768,5098,5099],{},[771,5100,773],{},[775,5102,773],{"encoding":777},[651,5104,5106],{"className":5105,"ariaHidden":782},[781],[651,5107,5109,5112],{"className":5108},[786],[651,5110],{"className":5111,"style":791},[790],[651,5113,773],{"className":5114},[795,796]," tours. La boucle\ninterne aussi (",[625,5117,5118],{},"range(i+1, n)","). L'algorithme ",[603,5121,5122],{},"termine"," toujours.",[997,5125,5127,5136],{"correct":999,"slug":5126},"tris-c1",[1002,5128,5129],{"v-slot:question":647},[599,5130,5131,5132,5135],{},"Dans le tri par sélection, après le tour i, qu'y a-t-il dans t",[651,5133,5134],{},"0..i"," ?",[1002,5137,5138],{"v-slot:choices":647},[1014,5139,5140,5143,5146],{},[972,5141,5142],{},"Les éléments examinés",[972,5144,5145],{},"Les i+1 plus petits éléments, triés",[972,5147,5148],{},"Les i+1 éléments du début du tableau original",[594,5150,5152],{"id":5151},"le-tri-par-insertion","Le tri par insertion",[599,5154,5155,4576,5157,5160],{},[603,5156,4575],{},[603,5158,5159],{},"insère"," l'élément courant à sa place\ncorrecte dans la portion déjà triée à gauche.",[599,5162,5163],{},"C'est exactement comme on trie une main de cartes en la prenant carte par\ncarte :",[1014,5165,5166,5169,5172,5175],{},[972,5167,5168],{},"la première carte forme une « main triée » de taille 1 ;",[972,5170,5171],{},"on prend la 2ᵉ carte et on l'insère à gauche ou à droite de la 1ʳᵉ ;",[972,5173,5174],{},"on prend la 3ᵉ et on l'insère parmi les 2 déjà triées ;",[972,5176,5177],{},"etc.",[642,5179,5181],{"className":644,"code":5180,"language":646,"meta":647,"style":647},"def tri_insertion(t):\n    n = len(t)\n    for i in range(1, n):\n        # On veut insérer t[i] dans t[0..i-1] (déjà trié)\n        valeur = t[i]\n        j = i - 1\n        # On décale vers la droite tant qu'on trouve plus grand\n        while j >= 0 and t[j] > valeur:\n            t[j + 1] = t[j]\n            j -= 1\n        t[j + 1] = valeur\n    return t\n\nprint(tri_insertion([5, 2, 8, 1, 9, 3]))\n# [1, 2, 3, 5, 8, 9]\n",[625,5182,5183,5192,5202,5218,5223,5233,5248,5253,5276,5293,5303,5318,5324,5328,5359],{"__ignoreMap":647},[651,5184,5185,5187,5190],{"class":653,"line":654},[651,5186,828],{"class":664},[651,5188,5189],{"class":831}," tri_insertion",[651,5191,4676],{"class":668},[651,5193,5194,5196,5198,5200],{"class":653,"line":661},[651,5195,2254],{"class":668},[651,5197,1067],{"class":664},[651,5199,1242],{"class":675},[651,5201,4687],{"class":668},[651,5203,5204,5206,5208,5210,5212,5214,5216],{"class":653,"line":688},[651,5205,846],{"class":664},[651,5207,669],{"class":668},[651,5209,672],{"class":664},[651,5211,676],{"class":675},[651,5213,679],{"class":668},[651,5215,999],{"class":675},[651,5217,2297],{"class":668},[651,5219,5220],{"class":653,"line":697},[651,5221,5222],{"class":657},"        # On veut insérer t[i] dans t[0..i-1] (déjà trié)\n",[651,5224,5225,5228,5230],{"class":653,"line":704},[651,5226,5227],{"class":668},"        valeur ",[651,5229,1067],{"class":664},[651,5231,5232],{"class":668}," t[i]\n",[651,5234,5235,5238,5240,5242,5245],{"class":653,"line":710},[651,5236,5237],{"class":668},"        j ",[651,5239,1067],{"class":664},[651,5241,669],{"class":668},[651,5243,5244],{"class":664},"-",[651,5246,5247],{"class":675}," 1\n",[651,5249,5250],{"class":653,"line":723},[651,5251,5252],{"class":657},"        # On décale vers la droite tant qu'on trouve plus grand\n",[651,5254,5255,5258,5260,5263,5266,5269,5271,5273],{"class":653,"line":889},[651,5256,5257],{"class":664},"        while",[651,5259,2281],{"class":668},[651,5261,5262],{"class":664},">=",[651,5264,5265],{"class":675}," 0",[651,5267,5268],{"class":664}," and",[651,5270,4739],{"class":668},[651,5272,1100],{"class":664},[651,5274,5275],{"class":668}," valeur:\n",[651,5277,5278,5281,5283,5285,5288,5290],{"class":653,"line":932},[651,5279,5280],{"class":668},"            t[j ",[651,5282,2291],{"class":664},[651,5284,2294],{"class":675},[651,5286,5287],{"class":668},"] ",[651,5289,1067],{"class":664},[651,5291,5292],{"class":668}," t[j]\n",[651,5294,5295,5298,5301],{"class":653,"line":4762},[651,5296,5297],{"class":668},"            j ",[651,5299,5300],{"class":664},"-=",[651,5302,5247],{"class":675},[651,5304,5305,5308,5310,5312,5314,5316],{"class":653,"line":4773},[651,5306,5307],{"class":668},"        t[j ",[651,5309,2291],{"class":664},[651,5311,2294],{"class":675},[651,5313,5287],{"class":668},[651,5315,1067],{"class":664},[651,5317,1113],{"class":668},[651,5319,5320,5322],{"class":653,"line":4781},[651,5321,879],{"class":664},[651,5323,4778],{"class":668},[651,5325,5326],{"class":653,"line":4786},[651,5327,701],{"emptyLinePlaceholder":700},[651,5329,5330,5332,5335,5337,5339,5341,5343,5345,5347,5349,5351,5353,5355,5357],{"class":653,"line":4819},[651,5331,892],{"class":675},[651,5333,5334],{"class":668},"(tri_insertion([",[651,5336,918],{"class":675},[651,5338,632],{"class":668},[651,5340,908],{"class":675},[651,5342,632],{"class":668},[651,5344,1263],{"class":675},[651,5346,632],{"class":668},[651,5348,999],{"class":675},[651,5350,632],{"class":668},[651,5352,913],{"class":675},[651,5354,632],{"class":668},[651,5356,898],{"class":675},[651,5358,4816],{"class":668},[651,5360,5362],{"class":653,"line":5361},15,[651,5363,4822],{"class":657},[817,5365,5366],{},[642,5367,5369],{"className":644,"code":5368,"language":646,"meta":647,"style":647},"def tri_insertion(t):\n    n = len(t)\n    for i in range(1, n):\n        valeur = t[i]\n        j = i - 1\n        while j >= 0 and t[j] > valeur:\n            t[j + 1] = t[j]\n            j -= 1\n        t[j + 1] = valeur\n    return t\n\n# Trace pas à pas sur un petit exemple\nexemple = [5, 2, 8, 1, 9, 3]\nprint(\"Avant :\", exemple)\nprint(\"Après :\", tri_insertion(exemple))\n",[625,5370,5371,5379,5389,5405,5413,5425,5443,5457,5465,5479,5485,5489,5494,5527,5539],{"__ignoreMap":647},[651,5372,5373,5375,5377],{"class":653,"line":654},[651,5374,828],{"class":664},[651,5376,5189],{"class":831},[651,5378,4676],{"class":668},[651,5380,5381,5383,5385,5387],{"class":653,"line":661},[651,5382,2254],{"class":668},[651,5384,1067],{"class":664},[651,5386,1242],{"class":675},[651,5388,4687],{"class":668},[651,5390,5391,5393,5395,5397,5399,5401,5403],{"class":653,"line":688},[651,5392,846],{"class":664},[651,5394,669],{"class":668},[651,5396,672],{"class":664},[651,5398,676],{"class":675},[651,5400,679],{"class":668},[651,5402,999],{"class":675},[651,5404,2297],{"class":668},[651,5406,5407,5409,5411],{"class":653,"line":697},[651,5408,5227],{"class":668},[651,5410,1067],{"class":664},[651,5412,5232],{"class":668},[651,5414,5415,5417,5419,5421,5423],{"class":653,"line":704},[651,5416,5237],{"class":668},[651,5418,1067],{"class":664},[651,5420,669],{"class":668},[651,5422,5244],{"class":664},[651,5424,5247],{"class":675},[651,5426,5427,5429,5431,5433,5435,5437,5439,5441],{"class":653,"line":710},[651,5428,5257],{"class":664},[651,5430,2281],{"class":668},[651,5432,5262],{"class":664},[651,5434,5265],{"class":675},[651,5436,5268],{"class":664},[651,5438,4739],{"class":668},[651,5440,1100],{"class":664},[651,5442,5275],{"class":668},[651,5444,5445,5447,5449,5451,5453,5455],{"class":653,"line":723},[651,5446,5280],{"class":668},[651,5448,2291],{"class":664},[651,5450,2294],{"class":675},[651,5452,5287],{"class":668},[651,5454,1067],{"class":664},[651,5456,5292],{"class":668},[651,5458,5459,5461,5463],{"class":653,"line":889},[651,5460,5297],{"class":668},[651,5462,5300],{"class":664},[651,5464,5247],{"class":675},[651,5466,5467,5469,5471,5473,5475,5477],{"class":653,"line":932},[651,5468,5307],{"class":668},[651,5470,2291],{"class":664},[651,5472,2294],{"class":675},[651,5474,5287],{"class":668},[651,5476,1067],{"class":664},[651,5478,1113],{"class":668},[651,5480,5481,5483],{"class":653,"line":4762},[651,5482,879],{"class":664},[651,5484,4778],{"class":668},[651,5486,5487],{"class":653,"line":4773},[651,5488,701],{"emptyLinePlaceholder":700},[651,5490,5491],{"class":653,"line":4781},[651,5492,5493],{"class":657},"# Trace pas à pas sur un petit exemple\n",[651,5495,5496,5499,5501,5503,5505,5507,5509,5511,5513,5515,5517,5519,5521,5523,5525],{"class":653,"line":4786},[651,5497,5498],{"class":668},"exemple ",[651,5500,1067],{"class":664},[651,5502,3885],{"class":668},[651,5504,918],{"class":675},[651,5506,632],{"class":668},[651,5508,908],{"class":675},[651,5510,632],{"class":668},[651,5512,1263],{"class":675},[651,5514,632],{"class":668},[651,5516,999],{"class":675},[651,5518,632],{"class":668},[651,5520,913],{"class":675},[651,5522,632],{"class":668},[651,5524,898],{"class":675},[651,5526,1076],{"class":668},[651,5528,5529,5531,5533,5536],{"class":653,"line":4819},[651,5530,892],{"class":675},[651,5532,679],{"class":668},[651,5534,5535],{"class":840},"\"Avant :\"",[651,5537,5538],{"class":668},", exemple)\n",[651,5540,5541,5543,5545,5548],{"class":653,"line":5361},[651,5542,892],{"class":675},[651,5544,679],{"class":668},[651,5546,5547],{"class":840},"\"Après :\"",[651,5549,5550],{"class":668},", tri_insertion(exemple))\n",[1848,5552,5554],{"id":5553},"invariant-du-tri-par-insertion","Invariant du tri par insertion",[4887,5556,5557],{},[599,5558,5559,5560,5588,5589,5592,5593,1308],{},"Au début du tour pour l'indice ",[651,5561,5563,5576],{"className":5562},[755],[651,5564,5566],{"className":5565},[759],[761,5567,5568],{"xmlns":763},[765,5569,5570,5574],{},[768,5571,5572],{},[771,5573,4617],{},[775,5575,4617],{"encoding":777},[651,5577,5579],{"className":5578,"ariaHidden":782},[781],[651,5580,5582,5585],{"className":5581},[786],[651,5583],{"className":5584,"style":4629},[790],[651,5586,4617],{"className":5587},[795,796],", la portion ",[625,5590,5591],{},"t[0..i-1]"," contient les\nmêmes éléments qu'au départ — mais ",[603,5594,5595],{},"triés dans l'ordre croissant",[599,5597,5598,5599,5650,5651,5654,5655,5657,5658,5686,5687,632,5715,1308],{},"Au début (",[651,5600,5602,5620],{"className":5601},[755],[651,5603,5605],{"className":5604},[759],[761,5606,5607],{"xmlns":763},[765,5608,5609,5617],{},[768,5610,5611,5613,5615],{},[771,5612,4617],{},[1477,5614,1067],{},[1869,5616,999],{},[775,5618,5619],{"encoding":777},"i = 1",[651,5621,5623,5641],{"className":5622,"ariaHidden":782},[781],[651,5624,5626,5629,5632,5635,5638],{"className":5625},[786],[651,5627],{"className":5628,"style":4629},[790],[651,5630,4617],{"className":5631},[795,796],[651,5633],{"className":5634,"style":3634},[2370],[651,5636,1067],{"className":5637},[3641],[651,5639],{"className":5640,"style":3634},[2370],[651,5642,5644,5647],{"className":5643},[786],[651,5645],{"className":5646,"style":2694},[790],[651,5648,999],{"className":5649},[795],"), ",[625,5652,5653],{},"t[0..0]"," ne contient qu'un élément, donc trivialement\ntrié. À chaque tour, on insère ",[625,5656,734],{}," à la bonne place et la portion triée\ns'agrandit d'un élément. Quand ",[651,5659,5661,5674],{"className":5660},[755],[651,5662,5664],{"className":5663},[759],[761,5665,5666],{"xmlns":763},[765,5667,5668,5672],{},[768,5669,5670],{},[771,5671,4617],{},[775,5673,4617],{"encoding":777},[651,5675,5677],{"className":5676,"ariaHidden":782},[781],[651,5678,5680,5683],{"className":5679},[786],[651,5681],{"className":5682,"style":4629},[790],[651,5684,4617],{"className":5685},[795,796]," vaut ",[651,5688,5690,5703],{"className":5689},[755],[651,5691,5693],{"className":5692},[759],[761,5694,5695],{"xmlns":763},[765,5696,5697,5701],{},[768,5698,5699],{},[771,5700,773],{},[775,5702,773],{"encoding":777},[651,5704,5706],{"className":5705,"ariaHidden":782},[781],[651,5707,5709,5712],{"className":5708},[786],[651,5710],{"className":5711,"style":791},[790],[651,5713,773],{"className":5714},[795,796],[603,5716,5717],{},"tout le tableau est trié",[1848,5719,5072],{"id":5720},"terminaison-1",[599,5722,5723,5724,5726,5727,5730,5731,5734,5735,5738,5739,5741],{},"Boucle externe : ",[625,5725,665],{}," sur ",[625,5728,5729],{},"range(1, n)"," — fini.\nBoucle interne : un ",[625,5732,5733],{},"while"," qui décrémente ",[625,5736,5737],{},"j"," à chaque tour, et qui s'arrête\nau plus tard quand ",[625,5740,5737],{}," devient négatif. Donc terminaison garantie.",[594,5743,5745],{"id":5744},"comparaison-de-coût","Comparaison de coût",[599,5747,5748,5749,5777],{},"Pour un tableau de taille ",[651,5750,5752,5765],{"className":5751},[755],[651,5753,5755],{"className":5754},[759],[761,5756,5757],{"xmlns":763},[765,5758,5759,5763],{},[768,5760,5761],{},[771,5762,773],{},[775,5764,773],{"encoding":777},[651,5766,5768],{"className":5767,"ariaHidden":782},[781],[651,5769,5771,5774],{"className":5770},[786],[651,5772],{"className":5773,"style":791},[790],[651,5775,773],{"className":5776},[795,796],", comptons les comparaisons :",[599,5779,5780,5783,5784,5812,5813,5863,5864,5937],{},[603,5781,5782],{},"Tri par sélection"," : pour chaque ",[651,5785,5787,5800],{"className":5786},[755],[651,5788,5790],{"className":5789},[759],[761,5791,5792],{"xmlns":763},[765,5793,5794,5798],{},[768,5795,5796],{},[771,5797,4617],{},[775,5799,4617],{"encoding":777},[651,5801,5803],{"className":5802,"ariaHidden":782},[781],[651,5804,5806,5809],{"className":5805},[786],[651,5807],{"className":5808,"style":4629},[790],[651,5810,4617],{"className":5811},[795,796]," de 0 à ",[651,5814,5816,5833],{"className":5815},[755],[651,5817,5819],{"className":5818},[759],[761,5820,5821],{"xmlns":763},[765,5822,5823,5831],{},[768,5824,5825,5827,5829],{},[771,5826,773],{},[1477,5828,2715],{},[1869,5830,999],{},[775,5832,5034],{"encoding":777},[651,5834,5836,5854],{"className":5835,"ariaHidden":782},[781],[651,5837,5839,5842,5845,5848,5851],{"className":5838},[786],[651,5840],{"className":5841,"style":2363},[790],[651,5843,773],{"className":5844},[795,796],[651,5846],{"className":5847,"style":2371},[2370],[651,5849,2715],{"className":5850},[2375],[651,5852],{"className":5853,"style":2371},[2370],[651,5855,5857,5860],{"className":5856},[786],[651,5858],{"className":5859,"style":2694},[790],[651,5861,999],{"className":5862},[795],", on parcourt les\n",[651,5865,5867,5889],{"className":5866},[755],[651,5868,5870],{"className":5869},[759],[761,5871,5872],{"xmlns":763},[765,5873,5874,5886],{},[768,5875,5876,5878,5880,5882,5884],{},[771,5877,773],{},[1477,5879,2715],{},[771,5881,4617],{},[1477,5883,2715],{},[1869,5885,999],{},[775,5887,5888],{"encoding":777},"n - i - 1",[651,5890,5892,5910,5928],{"className":5891,"ariaHidden":782},[781],[651,5893,5895,5898,5901,5904,5907],{"className":5894},[786],[651,5896],{"className":5897,"style":2363},[790],[651,5899,773],{"className":5900},[795,796],[651,5902],{"className":5903,"style":2371},[2370],[651,5905,2715],{"className":5906},[2375],[651,5908],{"className":5909,"style":2371},[2370],[651,5911,5913,5916,5919,5922,5925],{"className":5912},[786],[651,5914],{"className":5915,"style":4956},[790],[651,5917,4617],{"className":5918},[795,796],[651,5920],{"className":5921,"style":2371},[2370],[651,5923,2715],{"className":5924},[2375],[651,5926],{"className":5927,"style":2371},[2370],[651,5929,5931,5934],{"className":5930},[786],[651,5932],{"className":5933,"style":2694},[790],[651,5935,999],{"className":5936},[795]," éléments suivants. Total :",[651,5939,5941],{"className":5940},[3532],[651,5942,5944,6008],{"className":5943},[755],[651,5945,5947],{"className":5946},[759],[761,5948,5949],{"xmlns":763,"display":3541},[765,5950,5951,6005],{},[768,5952,5953,5955,5957,5959,5961,5963,5965,5967,5969,5971,5973,5975,5977,5980,5982,5984,5986],{},[1477,5954,679],{"stretchy":1479},[771,5956,773],{},[1477,5958,2715],{},[1869,5960,999],{},[1477,5962,1484],{"stretchy":1479},[1477,5964,2291],{},[1477,5966,679],{"stretchy":1479},[771,5968,773],{},[1477,5970,2715],{},[1869,5972,908],{},[1477,5974,1484],{"stretchy":1479},[1477,5976,2291],{},[1477,5978,5979],{},"⋯",[1477,5981,2291],{},[1869,5983,999],{},[1477,5985,1067],{},[5987,5988,5989,6003],"mfrac",{},[768,5990,5991,5993,5995,5997,5999,6001],{},[771,5992,773],{},[1477,5994,679],{"stretchy":1479},[771,5996,773],{},[1477,5998,2715],{},[1869,6000,999],{},[1477,6002,1484],{"stretchy":1479},[1869,6004,908],{},[775,6006,6007],{"encoding":777},"(n - 1) + (n - 2) + \\dots + 1 = \\frac{n(n-1)}{2}",[651,6009,6011,6032,6053,6074,6095,6114,6132],{"className":6010,"ariaHidden":782},[781],[651,6012,6014,6017,6020,6023,6026,6029],{"className":6013},[786],[651,6015],{"className":6016,"style":1497},[790],[651,6018,679],{"className":6019},[1506],[651,6021,773],{"className":6022},[795,796],[651,6024],{"className":6025,"style":2371},[2370],[651,6027,2715],{"className":6028},[2375],[651,6030],{"className":6031,"style":2371},[2370],[651,6033,6035,6038,6041,6044,6047,6050],{"className":6034},[786],[651,6036],{"className":6037,"style":1497},[790],[651,6039,999],{"className":6040},[795],[651,6042,1484],{"className":6043},[1513],[651,6045],{"className":6046,"style":2371},[2370],[651,6048,2291],{"className":6049},[2375],[651,6051],{"className":6052,"style":2371},[2370],[651,6054,6056,6059,6062,6065,6068,6071],{"className":6055},[786],[651,6057],{"className":6058,"style":1497},[790],[651,6060,679],{"className":6061},[1506],[651,6063,773],{"className":6064},[795,796],[651,6066],{"className":6067,"style":2371},[2370],[651,6069,2715],{"className":6070},[2375],[651,6072],{"className":6073,"style":2371},[2370],[651,6075,6077,6080,6083,6086,6089,6092],{"className":6076},[786],[651,6078],{"className":6079,"style":1497},[790],[651,6081,908],{"className":6082},[795],[651,6084,1484],{"className":6085},[1513],[651,6087],{"className":6088,"style":2371},[2370],[651,6090,2291],{"className":6091},[2375],[651,6093],{"className":6094,"style":2371},[2370],[651,6096,6098,6101,6105,6108,6111],{"className":6097},[786],[651,6099],{"className":6100,"style":2363},[790],[651,6102,5979],{"className":6103},[6104],"minner",[651,6106],{"className":6107,"style":2371},[2370],[651,6109,2291],{"className":6110},[2375],[651,6112],{"className":6113,"style":2371},[2370],[651,6115,6117,6120,6123,6126,6129],{"className":6116},[786],[651,6118],{"className":6119,"style":2694},[790],[651,6121,999],{"className":6122},[795],[651,6124],{"className":6125,"style":3634},[2370],[651,6127,1067],{"className":6128},[3641],[651,6130],{"className":6131,"style":3634},[2370],[651,6133,6135,6139],{"className":6134},[786],[651,6136],{"className":6137,"style":6138},[790],"height:2.113em;vertical-align:-0.686em;",[651,6140,6142,6146,6228],{"className":6141},[795],[651,6143],{"className":6144},[1506,6145],"nulldelimiter",[651,6147,6149],{"className":6148},[5987],[651,6150,6152,6219],{"className":6151},[2133,3259],[651,6153,6155,6216],{"className":6154},[2137],[651,6156,6159,6172,6183],{"className":6157,"style":6158},[2141],"height:1.427em;",[651,6160,6162,6166],{"style":6161},"top:-2.314em;",[651,6163],{"className":6164,"style":6165},[2149],"height:3em;",[651,6167,6169],{"className":6168},[795],[651,6170,908],{"className":6171},[795],[651,6173,6175,6178],{"style":6174},"top:-3.23em;",[651,6176],{"className":6177,"style":6165},[2149],[651,6179],{"className":6180,"style":6182},[6181],"frac-line","border-bottom-width:0.04em;",[651,6184,6186,6189],{"style":6185},"top:-3.677em;",[651,6187],{"className":6188,"style":6165},[2149],[651,6190,6192,6195,6198,6201,6204,6207,6210,6213],{"className":6191},[795],[651,6193,773],{"className":6194},[795,796],[651,6196,679],{"className":6197},[1506],[651,6199,773],{"className":6200},[795,796],[651,6202],{"className":6203,"style":2371},[2370],[651,6205,2715],{"className":6206},[2375],[651,6208],{"className":6209,"style":2371},[2370],[651,6211,999],{"className":6212},[795],[651,6214,1484],{"className":6215},[1513],[651,6217,3283],{"className":6218},[3282],[651,6220,6222],{"className":6221},[2137],[651,6223,6226],{"className":6224,"style":6225},[2141],"height:0.686em;",[651,6227],{},[651,6229],{"className":6230},[1513,6145],[599,6232,6233,6234,632,6307,6310],{},"C'est en ",[651,6235,6237,6260],{"className":6236},[755],[651,6238,6240],{"className":6239},[759],[761,6241,6242],{"xmlns":763},[765,6243,6244,6258],{},[768,6245,6246,6248,6250,6256],{},[771,6247,1475],{"mathvariant":1474},[1477,6249,679],{"stretchy":1479},[2093,6251,6252,6254],{},[771,6253,773],{},[1869,6255,908],{},[1477,6257,1484],{"stretchy":1479},[775,6259,2103],{"encoding":777},[651,6261,6263],{"className":6262,"ariaHidden":782},[781],[651,6264,6266,6269,6272,6275,6304],{"className":6265},[786],[651,6267],{"className":6268,"style":2113},[790],[651,6270,1475],{"className":6271,"style":1502},[795,1501],[651,6273,679],{"className":6274},[1506],[651,6276,6278,6281],{"className":6277},[795],[651,6279,773],{"className":6280},[795,796],[651,6282,6284],{"className":6283},[2129],[651,6285,6287],{"className":6286},[2133],[651,6288,6290],{"className":6289},[2137],[651,6291,6293],{"className":6292,"style":2142},[2141],[651,6294,6295,6298],{"style":2145},[651,6296],{"className":6297,"style":2150},[2149],[651,6299,6301],{"className":6300},[2154,2155,2156,2157],[651,6302,908],{"className":6303},[795,2157],[651,6305,1484],{"className":6306},[1513],[603,6308,6309],{},"quel que soit le contenu"," du tableau (déjà\ntrié ou non, peu importe).",[599,6312,6313,6316,6317,6567,6568,6641,6642,6645,6646,6696,6697,1308],{},[603,6314,6315],{},"Tri par insertion"," : dans le pire des cas (tableau trié en sens inverse),\nchaque insertion remonte jusqu'au début — soit ",[651,6318,6320,6374],{"className":6319},[755],[651,6321,6323],{"className":6322},[759],[761,6324,6325],{"xmlns":763},[765,6326,6327,6371],{},[768,6328,6329,6331,6333,6335,6337,6339,6341,6343,6345,6347,6349,6351,6353],{},[1869,6330,999],{},[1477,6332,2291],{},[1869,6334,908],{},[1477,6336,2291],{},[1477,6338,5979],{},[1477,6340,2291],{},[1477,6342,679],{"stretchy":1479},[771,6344,773],{},[1477,6346,2715],{},[1869,6348,999],{},[1477,6350,1484],{"stretchy":1479},[1477,6352,1067],{},[5987,6354,6355,6369],{},[768,6356,6357,6359,6361,6363,6365,6367],{},[771,6358,773],{},[1477,6360,679],{"stretchy":1479},[771,6362,773],{},[1477,6364,2715],{},[1869,6366,999],{},[1477,6368,1484],{"stretchy":1479},[1869,6370,908],{},[775,6372,6373],{"encoding":777},"1 + 2 + \\dots + (n - 1) =\n\\frac{n(n-1)}{2}",[651,6375,6377,6395,6413,6431,6452,6473],{"className":6376,"ariaHidden":782},[781],[651,6378,6380,6383,6386,6389,6392],{"className":6379},[786],[651,6381],{"className":6382,"style":2672},[790],[651,6384,999],{"className":6385},[795],[651,6387],{"className":6388,"style":2371},[2370],[651,6390,2291],{"className":6391},[2375],[651,6393],{"className":6394,"style":2371},[2370],[651,6396,6398,6401,6404,6407,6410],{"className":6397},[786],[651,6399],{"className":6400,"style":2672},[790],[651,6402,908],{"className":6403},[795],[651,6405],{"className":6406,"style":2371},[2370],[651,6408,2291],{"className":6409},[2375],[651,6411],{"className":6412,"style":2371},[2370],[651,6414,6416,6419,6422,6425,6428],{"className":6415},[786],[651,6417],{"className":6418,"style":2363},[790],[651,6420,5979],{"className":6421},[6104],[651,6423],{"className":6424,"style":2371},[2370],[651,6426,2291],{"className":6427},[2375],[651,6429],{"className":6430,"style":2371},[2370],[651,6432,6434,6437,6440,6443,6446,6449],{"className":6433},[786],[651,6435],{"className":6436,"style":1497},[790],[651,6438,679],{"className":6439},[1506],[651,6441,773],{"className":6442},[795,796],[651,6444],{"className":6445,"style":2371},[2370],[651,6447,2715],{"className":6448},[2375],[651,6450],{"className":6451,"style":2371},[2370],[651,6453,6455,6458,6461,6464,6467,6470],{"className":6454},[786],[651,6456],{"className":6457,"style":1497},[790],[651,6459,999],{"className":6460},[795],[651,6462,1484],{"className":6463},[1513],[651,6465],{"className":6466,"style":3634},[2370],[651,6468,1067],{"className":6469},[3641],[651,6471],{"className":6472,"style":3634},[2370],[651,6474,6476,6480],{"className":6475},[786],[651,6477],{"className":6478,"style":6479},[790],"height:1.355em;vertical-align:-0.345em;",[651,6481,6483,6486,6564],{"className":6482},[795],[651,6484],{"className":6485},[1506,6145],[651,6487,6489],{"className":6488},[5987],[651,6490,6492,6555],{"className":6491},[2133,3259],[651,6493,6495,6552],{"className":6494},[2137],[651,6496,6499,6514,6522],{"className":6497,"style":6498},[2141],"height:1.01em;",[651,6500,6502,6505],{"style":6501},"top:-2.655em;",[651,6503],{"className":6504,"style":6165},[2149],[651,6506,6508],{"className":6507},[2154,2155,2156,2157],[651,6509,6511],{"className":6510},[795,2157],[651,6512,908],{"className":6513},[795,2157],[651,6515,6516,6519],{"style":6174},[651,6517],{"className":6518,"style":6165},[2149],[651,6520],{"className":6521,"style":6182},[6181],[651,6523,6525,6528],{"style":6524},"top:-3.485em;",[651,6526],{"className":6527,"style":6165},[2149],[651,6529,6531],{"className":6530},[2154,2155,2156,2157],[651,6532,6534,6537,6540,6543,6546,6549],{"className":6533},[795,2157],[651,6535,773],{"className":6536},[795,796,2157],[651,6538,679],{"className":6539},[1506,2157],[651,6541,773],{"className":6542},[795,796,2157],[651,6544,2715],{"className":6545},[2375,2157],[651,6547,999],{"className":6548},[795,2157],[651,6550,1484],{"className":6551},[1513,2157],[651,6553,3283],{"className":6554},[3282],[651,6556,6558],{"className":6557},[2137],[651,6559,6562],{"className":6560,"style":6561},[2141],"height:0.345em;",[651,6563],{},[651,6565],{"className":6566},[1513,6145]," comparaisons. C'est aussi en ",[651,6569,6571,6594],{"className":6570},[755],[651,6572,6574],{"className":6573},[759],[761,6575,6576],{"xmlns":763},[765,6577,6578,6592],{},[768,6579,6580,6582,6584,6590],{},[771,6581,1475],{"mathvariant":1474},[1477,6583,679],{"stretchy":1479},[2093,6585,6586,6588],{},[771,6587,773],{},[1869,6589,908],{},[1477,6591,1484],{"stretchy":1479},[775,6593,2103],{"encoding":777},[651,6595,6597],{"className":6596,"ariaHidden":782},[781],[651,6598,6600,6603,6606,6609,6638],{"className":6599},[786],[651,6601],{"className":6602,"style":2113},[790],[651,6604,1475],{"className":6605,"style":1502},[795,1501],[651,6607,679],{"className":6608},[1506],[651,6610,6612,6615],{"className":6611},[795],[651,6613,773],{"className":6614},[795,796],[651,6616,6618],{"className":6617},[2129],[651,6619,6621],{"className":6620},[2133],[651,6622,6624],{"className":6623},[2137],[651,6625,6627],{"className":6626,"style":2142},[2141],[651,6628,6629,6632],{"style":2145},[651,6630],{"className":6631,"style":2150},[2149],[651,6633,6635],{"className":6634},[2154,2155,2156,2157],[651,6636,908],{"className":6637},[795,2157],[651,6639,1484],{"className":6640},[1513],". En\nrevanche, ",[603,6643,6644],{},"dans le meilleur des cas"," (tableau déjà trié), chaque tour ne\nfait qu'une seule comparaison qui échoue immédiatement — total ",[651,6647,6649,6666],{"className":6648},[755],[651,6650,6652],{"className":6651},[759],[761,6653,6654],{"xmlns":763},[765,6655,6656,6664],{},[768,6657,6658,6660,6662],{},[771,6659,773],{},[1477,6661,2715],{},[1869,6663,999],{},[775,6665,2720],{"encoding":777},[651,6667,6669,6687],{"className":6668,"ariaHidden":782},[781],[651,6670,6672,6675,6678,6681,6684],{"className":6671},[786],[651,6673],{"className":6674,"style":2363},[790],[651,6676,773],{"className":6677},[795,796],[651,6679],{"className":6680,"style":2371},[2370],[651,6682,2715],{"className":6683},[2375],[651,6685],{"className":6686,"style":2371},[2370],[651,6688,6690,6693],{"className":6689},[786],[651,6691],{"className":6692,"style":2694},[790],[651,6694,999],{"className":6695},[795]," et\ncoût ",[651,6698,6700,6719],{"className":6699},[755],[651,6701,6703],{"className":6702},[759],[761,6704,6705],{"xmlns":763},[765,6706,6707,6717],{},[768,6708,6709,6711,6713,6715],{},[771,6710,1475],{"mathvariant":1474},[1477,6712,679],{"stretchy":1479},[771,6714,773],{},[1477,6716,1484],{"stretchy":1479},[775,6718,1487],{"encoding":777},[651,6720,6722],{"className":6721,"ariaHidden":782},[781],[651,6723,6725,6728,6731,6734,6737],{"className":6724},[786],[651,6726],{"className":6727,"style":1497},[790],[651,6729,1475],{"className":6730,"style":1502},[795,1501],[651,6732,679],{"className":6733},[1506],[651,6735,773],{"className":6736},[795,796],[651,6738,1484],{"className":6739},[1513],[3166,6741,6742,6755],{},[3169,6743,6744],{},[3172,6745,6746,6749,6752],{},[3175,6747,6748],{},"Tri",[3175,6750,6751],{},"Pire cas",[3175,6753,6754],{},"Meilleur cas",[3390,6756,6757,6912],{},[3172,6758,6759,6762,6837],{},[3395,6760,6761],{},"Sélection",[3395,6763,6764],{},[651,6765,6767,6790],{"className":6766},[755],[651,6768,6770],{"className":6769},[759],[761,6771,6772],{"xmlns":763},[765,6773,6774,6788],{},[768,6775,6776,6778,6780,6786],{},[771,6777,1475],{"mathvariant":1474},[1477,6779,679],{"stretchy":1479},[2093,6781,6782,6784],{},[771,6783,773],{},[1869,6785,908],{},[1477,6787,1484],{"stretchy":1479},[775,6789,2103],{"encoding":777},[651,6791,6793],{"className":6792,"ariaHidden":782},[781],[651,6794,6796,6799,6802,6805,6834],{"className":6795},[786],[651,6797],{"className":6798,"style":2113},[790],[651,6800,1475],{"className":6801,"style":1502},[795,1501],[651,6803,679],{"className":6804},[1506],[651,6806,6808,6811],{"className":6807},[795],[651,6809,773],{"className":6810},[795,796],[651,6812,6814],{"className":6813},[2129],[651,6815,6817],{"className":6816},[2133],[651,6818,6820],{"className":6819},[2137],[651,6821,6823],{"className":6822,"style":2142},[2141],[651,6824,6825,6828],{"style":2145},[651,6826],{"className":6827,"style":2150},[2149],[651,6829,6831],{"className":6830},[2154,2155,2156,2157],[651,6832,908],{"className":6833},[795,2157],[651,6835,1484],{"className":6836},[1513],[3395,6838,6839],{},[651,6840,6842,6865],{"className":6841},[755],[651,6843,6845],{"className":6844},[759],[761,6846,6847],{"xmlns":763},[765,6848,6849,6863],{},[768,6850,6851,6853,6855,6861],{},[771,6852,1475],{"mathvariant":1474},[1477,6854,679],{"stretchy":1479},[2093,6856,6857,6859],{},[771,6858,773],{},[1869,6860,908],{},[1477,6862,1484],{"stretchy":1479},[775,6864,2103],{"encoding":777},[651,6866,6868],{"className":6867,"ariaHidden":782},[781],[651,6869,6871,6874,6877,6880,6909],{"className":6870},[786],[651,6872],{"className":6873,"style":2113},[790],[651,6875,1475],{"className":6876,"style":1502},[795,1501],[651,6878,679],{"className":6879},[1506],[651,6881,6883,6886],{"className":6882},[795],[651,6884,773],{"className":6885},[795,796],[651,6887,6889],{"className":6888},[2129],[651,6890,6892],{"className":6891},[2133],[651,6893,6895],{"className":6894},[2137],[651,6896,6898],{"className":6897,"style":2142},[2141],[651,6899,6900,6903],{"style":2145},[651,6901],{"className":6902,"style":2150},[2149],[651,6904,6906],{"className":6905},[2154,2155,2156,2157],[651,6907,908],{"className":6908},[795,2157],[651,6910,1484],{"className":6911},[1513],[3172,6913,6914,6917,6992],{},[3395,6915,6916],{},"Insertion",[3395,6918,6919],{},[651,6920,6922,6945],{"className":6921},[755],[651,6923,6925],{"className":6924},[759],[761,6926,6927],{"xmlns":763},[765,6928,6929,6943],{},[768,6930,6931,6933,6935,6941],{},[771,6932,1475],{"mathvariant":1474},[1477,6934,679],{"stretchy":1479},[2093,6936,6937,6939],{},[771,6938,773],{},[1869,6940,908],{},[1477,6942,1484],{"stretchy":1479},[775,6944,2103],{"encoding":777},[651,6946,6948],{"className":6947,"ariaHidden":782},[781],[651,6949,6951,6954,6957,6960,6989],{"className":6950},[786],[651,6952],{"className":6953,"style":2113},[790],[651,6955,1475],{"className":6956,"style":1502},[795,1501],[651,6958,679],{"className":6959},[1506],[651,6961,6963,6966],{"className":6962},[795],[651,6964,773],{"className":6965},[795,796],[651,6967,6969],{"className":6968},[2129],[651,6970,6972],{"className":6971},[2133],[651,6973,6975],{"className":6974},[2137],[651,6976,6978],{"className":6977,"style":2142},[2141],[651,6979,6980,6983],{"style":2145},[651,6981],{"className":6982,"style":2150},[2149],[651,6984,6986],{"className":6985},[2154,2155,2156,2157],[651,6987,908],{"className":6988},[795,2157],[651,6990,1484],{"className":6991},[1513],[3395,6993,6994],{},[651,6995,6997,7016],{"className":6996},[755],[651,6998,7000],{"className":6999},[759],[761,7001,7002],{"xmlns":763},[765,7003,7004,7014],{},[768,7005,7006,7008,7010,7012],{},[771,7007,1475],{"mathvariant":1474},[1477,7009,679],{"stretchy":1479},[771,7011,773],{},[1477,7013,1484],{"stretchy":1479},[775,7015,1487],{"encoding":777},[651,7017,7019],{"className":7018,"ariaHidden":782},[781],[651,7020,7022,7025,7028,7031,7034],{"className":7021},[786],[651,7023],{"className":7024,"style":1497},[790],[651,7026,1475],{"className":7027,"style":1502},[795,1501],[651,7029,679],{"className":7030},[1506],[651,7032,773],{"className":7033},[795,796],[651,7035,1484],{"className":7036},[1513],[741,7038,7039],{},[599,7040,7041,7042,7045],{},"Le tri par insertion est ",[603,7043,7044],{},"plus rapide sur des tableaux presque triés",". Le\ntri par sélection ignore le contenu — il fait toujours le même nombre de\ncomparaisons.",[997,7047,7049,7054],{"correct":999,"slug":7048},"tris-c2",[1002,7050,7051],{"v-slot:question":647},[599,7052,7053],{},"Le tri par insertion sur un tableau déjà trié coûte :",[1002,7055,7056],{"v-slot:choices":647},[1014,7057,7058,7061,7064],{},[972,7059,7060],{},"O(1)",[972,7062,7063],{},"O(n)",[972,7065,7066],{},"O(n²)",[594,7068,1518],{"id":1517},[1014,7070,7071,7085,7102],{},[972,7072,7073,7076,7077,7080,7081,7084],{},[603,7074,7075],{},"Confondre les deux"," : la sélection ",[603,7078,7079],{},"cherche"," un minimum puis échange,\nl'insertion ",[603,7082,7083],{},"décale"," des éléments puis pose.",[972,7086,7087,7090,7091,7093,7094,7097,7098,7101],{},[603,7088,7089],{},"Oublier la terminaison"," du ",[625,7092,5733],{}," dans le tri par insertion :\n",[625,7095,7096],{},"j >= 0"," est essentiel — sinon ",[625,7099,7100],{},"t[-1]"," lit la fin du tableau (bug subtil\nen Python).",[972,7103,7104,7181,7182,7235,7236,7320],{},[603,7105,7106,7107,7180],{},"Croire qu'un tri en ",[651,7108,7110,7133],{"className":7109},[755],[651,7111,7113],{"className":7112},[759],[761,7114,7115],{"xmlns":763},[765,7116,7117,7131],{},[768,7118,7119,7121,7123,7129],{},[771,7120,1475],{"mathvariant":1474},[1477,7122,679],{"stretchy":1479},[2093,7124,7125,7127],{},[771,7126,773],{},[1869,7128,908],{},[1477,7130,1484],{"stretchy":1479},[775,7132,2103],{"encoding":777},[651,7134,7136],{"className":7135,"ariaHidden":782},[781],[651,7137,7139,7142,7145,7148,7177],{"className":7138},[786],[651,7140],{"className":7141,"style":2113},[790],[651,7143,1475],{"className":7144,"style":1502},[795,1501],[651,7146,679],{"className":7147},[1506],[651,7149,7151,7154],{"className":7150},[795],[651,7152,773],{"className":7153},[795,796],[651,7155,7157],{"className":7156},[2129],[651,7158,7160],{"className":7159},[2133],[651,7161,7163],{"className":7162},[2137],[651,7164,7166],{"className":7165,"style":2142},[2141],[651,7167,7168,7171],{"style":2145},[651,7169],{"className":7170,"style":2150},[2149],[651,7172,7174],{"className":7173},[2154,2155,2156,2157],[651,7175,908],{"className":7176},[795,2157],[651,7178,1484],{"className":7179},[1513]," est inutilisable"," : pour\n",[651,7183,7185,7204],{"className":7184},[755],[651,7186,7188],{"className":7187},[759],[761,7189,7190],{"xmlns":763},[765,7191,7192,7201],{},[768,7193,7194,7196,7199],{},[771,7195,773],{},[1477,7197,7198],{},"≤",[1869,7200,3404],{},[775,7202,7203],{"encoding":777},"n \\leq 100",[651,7205,7207,7226],{"className":7206,"ariaHidden":782},[781],[651,7208,7210,7214,7217,7220,7223],{"className":7209},[786],[651,7211],{"className":7212,"style":7213},[790],"height:0.7719em;vertical-align:-0.136em;",[651,7215,773],{"className":7216},[795,796],[651,7218],{"className":7219,"style":3634},[2370],[651,7221,7198],{"className":7222},[3641],[651,7224],{"className":7225,"style":3634},[2370],[651,7227,7229,7232],{"className":7228},[786],[651,7230],{"className":7231,"style":2694},[790],[651,7233,3404],{"className":7234},[795],", c'est très bien. Pour ",[651,7237,7239,7261],{"className":7238},[755],[651,7240,7242],{"className":7241},[759],[761,7243,7244],{"xmlns":763},[765,7245,7246,7258],{},[768,7247,7248,7250,7252],{},[771,7249,773],{},[1477,7251,1067],{},[2093,7253,7254,7256],{},[1869,7255,1273],{},[1869,7257,1268],{},[775,7259,7260],{"encoding":777},"n = 10^6",[651,7262,7264,7282],{"className":7263,"ariaHidden":782},[781],[651,7265,7267,7270,7273,7276,7279],{"className":7266},[786],[651,7268],{"className":7269,"style":791},[790],[651,7271,773],{"className":7272},[795,796],[651,7274],{"className":7275,"style":3634},[2370],[651,7277,1067],{"className":7278},[3641],[651,7280],{"className":7281,"style":3634},[2370],[651,7283,7285,7288,7291],{"className":7284},[786],[651,7286],{"className":7287,"style":2142},[790],[651,7289,999],{"className":7290},[795],[651,7292,7294,7297],{"className":7293},[795],[651,7295,1073],{"className":7296},[795],[651,7298,7300],{"className":7299},[2129],[651,7301,7303],{"className":7302},[2133],[651,7304,7306],{"className":7305},[2137],[651,7307,7309],{"className":7308,"style":2142},[2141],[651,7310,7311,7314],{"style":2145},[651,7312],{"className":7313,"style":2150},[2149],[651,7315,7317],{"className":7316},[2154,2155,2156,2157],[651,7318,1268],{"className":7319},[795,2157],", c'est rédhibitoire.",[594,7322,1559],{"id":1558},[599,7324,7325,7326,7390,7391,7394,7395,7398],{},"Il existe des tris bien plus rapides — tri fusion, tri rapide, tri par tas —\ntous en ",[651,7327,7329,7355],{"className":7328},[755],[651,7330,7332],{"className":7331},[759],[761,7333,7334],{"xmlns":763},[765,7335,7336,7352],{},[768,7337,7338,7340,7342,7344,7346,7348,7350],{},[771,7339,1475],{"mathvariant":1474},[1477,7341,679],{"stretchy":1479},[771,7343,773],{},[771,7345,3067],{},[1477,7347,3070],{},[771,7349,773],{},[1477,7351,1484],{"stretchy":1479},[775,7353,7354],{"encoding":777},"\\mathcal{O}(n \\log n)",[651,7356,7358],{"className":7357,"ariaHidden":782},[781],[651,7359,7361,7364,7367,7370,7373,7376,7381,7384,7387],{"className":7360},[786],[651,7362],{"className":7363,"style":1497},[790],[651,7365,1475],{"className":7366,"style":1502},[795,1501],[651,7368,679],{"className":7369},[1506],[651,7371,773],{"className":7372},[795,796],[651,7374],{"className":7375,"style":3105},[2370],[651,7377,3097,7379],{"className":7378},[3096],[651,7380,3101],{"style":3100},[651,7382],{"className":7383,"style":3105},[2370],[651,7385,773],{"className":7386},[795,796],[651,7388,1484],{"className":7389},[1513],". Vous les rencontrerez en Terminale. Pour\nl'instant, retenez que ",[603,7392,7393],{},"trier coûte cher"," — d'où l'intérêt d'avoir une\nrecherche efficace dans un tableau ",[603,7396,7397],{},"déjà trié",", ce qui amène au cours\nsuivant.",[1572,7400,4438],{},{"title":647,"searchDepth":661,"depth":661,"links":7402},[7403,7404,7408,7412,7413,7414],{"id":596,"depth":661,"text":597},{"id":4569,"depth":661,"text":4570,"children":7405},[7406,7407],{"id":4853,"depth":688,"text":4854},{"id":5071,"depth":688,"text":5072},{"id":5151,"depth":661,"text":5152,"children":7409},[7410,7411],{"id":5553,"depth":688,"text":5554},{"id":5720,"depth":688,"text":5072},{"id":5744,"depth":661,"text":5745},{"id":1517,"depth":661,"text":1518},{"id":1558,"depth":661,"text":1559},"Deux algorithmes classiques pour ranger un tableau dans l'ordre, leur invariant, et pourquoi ils coûtent $\\mathcal{O}(n^2)$.",{},[7418,7421],{"slug":5126,"kind":1592,"question":7419,"choices":7420,"correct":999,"multi":1595,"explanation":647},"Dans le tri par sélection, après le tour i, qu'y a-t-il dans t0..i ?",[5142,5145,5148],{"slug":7048,"kind":1592,"question":7053,"choices":7422,"correct":999,"multi":1595,"explanation":647},[7060,7063,7066],{"title":425,"description":7415},"TGJIM_FKWWRls65R7D3h2Ujp7Gtom9FZ-vq9HWGKzf0",{"id":7426,"title":429,"bo":7427,"body":7429,"description":9353,"eval":1587,"extension":1588,"labo":1587,"meta":9354,"navigation":700,"path":430,"quizzes":9355,"readingTime":654,"seo":9360,"stem":431,"tp":1587,"__hash__":9361},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie.md",[7428],"PH04",{"type":591,"value":7430,"toc":9343},[7431,7433,7451,7453,7457,7464,7478,7592,7600,7604,7616,7630,7663,7674,7915,8157,8161,8175,8224,8247,8370,8398,8457,8492,8676,8941,8999,9096,9117,9119,9179,9188,9209,9211,9340],[594,7432,597],{"id":596},[599,7434,7435,7436,7439,7440,7442,7443,7446,7447,7450],{},"La recherche linéaire du cours 1 examine ",[603,7437,7438],{},"toutes"," les cases d'un tableau au\npire. Pour 1 million d'éléments, c'est un million d'opérations. Si le\ntableau est ",[603,7441,1565],{},", on peut faire spectaculairement mieux : c'est l'objet\nde la ",[603,7444,7445],{},"recherche dichotomique",". L'idée est simple — comparer la cible à\nl'élément du milieu, et selon le résultat, jeter la moitié inutile. À\nchaque étape on ",[603,7448,7449],{},"divise par deux"," l'espace de recherche.",[612,7452],{"code":7428},[594,7454,7456],{"id":7455},"lintuition-plus-chaud-plus-froid","L'intuition « plus chaud, plus froid »",[599,7458,7459,7460,7463],{},"Vous connaissez le jeu : « j'ai un nombre entre 1 et 100, devine-le, je te dis\nplus haut ou plus bas ». La stratégie optimale est de toujours proposer la\n",[603,7461,7462],{},"moitié"," de l'intervalle restant.",[1014,7465,7466,7469,7472,7475],{},[972,7467,7468],{},"Au départ : 1 à 100. Vous proposez 50.",[972,7470,7471],{},"Réponse « plus haut » : 51 à 100. Vous proposez 75.",[972,7473,7474],{},"Réponse « plus bas » : 51 à 74. Vous proposez 62.",[972,7476,7477],{},"…",[599,7479,7480,7481,7587,7588,7591],{},"En 7 questions au maximum, vous trouvez. Pourquoi 7 ? Parce que\n",[651,7482,7484,7512],{"className":7483},[755],[651,7485,7487],{"className":7486},[759],[761,7488,7489],{"xmlns":763},[765,7490,7491,7509],{},[768,7492,7493,7499,7501,7504,7507],{},[2093,7494,7495,7497],{},[1869,7496,908],{},[1869,7498,903],{},[1477,7500,1067],{},[1869,7502,7503],{},"128",[1477,7505,7506],{},"≥",[1869,7508,3404],{},[775,7510,7511],{"encoding":777},"2^7 = 128 \\geq 100",[651,7513,7515,7559,7578],{"className":7514,"ariaHidden":782},[781],[651,7516,7518,7521,7550,7553,7556],{"className":7517},[786],[651,7519],{"className":7520,"style":2142},[790],[651,7522,7524,7527],{"className":7523},[795],[651,7525,908],{"className":7526},[795],[651,7528,7530],{"className":7529},[2129],[651,7531,7533],{"className":7532},[2133],[651,7534,7536],{"className":7535},[2137],[651,7537,7539],{"className":7538,"style":2142},[2141],[651,7540,7541,7544],{"style":2145},[651,7542],{"className":7543,"style":2150},[2149],[651,7545,7547],{"className":7546},[2154,2155,2156,2157],[651,7548,903],{"className":7549},[795,2157],[651,7551],{"className":7552,"style":3634},[2370],[651,7554,1067],{"className":7555},[3641],[651,7557],{"className":7558,"style":3634},[2370],[651,7560,7562,7566,7569,7572,7575],{"className":7561},[786],[651,7563],{"className":7564,"style":7565},[790],"height:0.7804em;vertical-align:-0.136em;",[651,7567,7503],{"className":7568},[795],[651,7570],{"className":7571,"style":3634},[2370],[651,7573,7506],{"className":7574},[3641],[651,7576],{"className":7577,"style":3634},[2370],[651,7579,7581,7584],{"className":7580},[786],[651,7582],{"className":7583,"style":2694},[790],[651,7585,3404],{"className":7586},[795],". Sept divisions par deux suffisent à isoler ",[603,7589,7590],{},"un","\nnombre parmi 100. C'est exactement l'idée de la dichotomie.",[1355,7593,7594],{},[599,7595,7596,7599],{},[603,7597,7598],{},"Analogie de l'annuaire papier"," : pour trouver « Dupont », vous n'ouvrez\npas le livre page 1. Vous l'ouvrez au milieu, regardez la lettre, et vous\nallez à gauche ou à droite. Puis encore au milieu de la moitié restante. En\nquelques étapes, vous y êtes.",[594,7601,7603],{"id":7602},"lalgorithme","L'algorithme",[599,7605,7606,7609,7610,7612,7613,7615],{},[603,7607,7608],{},"Prérequis"," : le tableau ",[625,7611,627],{}," doit être ",[603,7614,1565],{}," dans l'ordre croissant.\nSinon l'algorithme ne fonctionne pas.",[599,7617,7618,7619,1285,7622,7625,7626,7629],{},"On maintient deux indices ",[625,7620,7621],{},"gauche",[625,7623,7624],{},"droite"," qui délimitent la zone où la\ncible ",[603,7627,7628],{},"pourrait encore se trouver",". Tant que cette zone n'est pas vide :",[969,7631,7632,7638,7648,7657],{},[972,7633,7634,7635,1338],{},"on calcule l'indice du milieu, ",[625,7636,7637],{},"m = (gauche + droite) \u002F\u002F 2",[972,7639,7640,7641,7644,7645,1338],{},"si ",[625,7642,7643],{},"t[m] == cible",", on a trouvé, on retourne ",[625,7646,7647],{},"m",[972,7649,7640,7650,7653,7654,1338],{},[625,7651,7652],{},"t[m] \u003C cible",", la cible est forcément à droite : on pose\n",[625,7655,7656],{},"gauche = m + 1",[972,7658,7659,7660,1308],{},"sinon, la cible est forcément à gauche : on pose ",[625,7661,7662],{},"droite = m - 1",[599,7664,7665,7666,7669,7670,7673],{},"Si la zone devient vide (",[625,7667,7668],{},"gauche > droite","), la cible ",[603,7671,7672],{},"n'est pas"," dans le\ntableau.",[642,7675,7677],{"className":644,"code":7676,"language":646,"meta":647,"style":647},"def dichotomie(t, cible):\n    \"\"\"Retourne l'indice de cible dans t (trié), ou -1 si absente.\"\"\"\n    gauche, droite = 0, len(t) - 1\n    while gauche \u003C= droite:\n        m = (gauche + droite) \u002F\u002F 2\n        if t[m] == cible:\n            return m\n        elif t[m] \u003C cible:\n            gauche = m + 1\n        else:\n            droite = m - 1\n    return -1\n\ntrie = [1, 4, 7, 12, 18, 25, 33, 47, 58, 66, 80]\nprint(dichotomie(trie, 25))   # 5\nprint(dichotomie(trie, 10))   # -1\n",[625,7678,7679,7689,7694,7714,7728,7749,7760,7767,7778,7792,7800,7813,7823,7827,7887,7901],{"__ignoreMap":647},[651,7680,7681,7683,7686],{"class":653,"line":654},[651,7682,828],{"class":664},[651,7684,7685],{"class":831}," dichotomie",[651,7687,7688],{"class":668},"(t, cible):\n",[651,7690,7691],{"class":653,"line":661},[651,7692,7693],{"class":840},"    \"\"\"Retourne l'indice de cible dans t (trié), ou -1 si absente.\"\"\"\n",[651,7695,7696,7699,7701,7703,7705,7707,7710,7712],{"class":653,"line":688},[651,7697,7698],{"class":668},"    gauche, droite ",[651,7700,1067],{"class":664},[651,7702,5265],{"class":675},[651,7704,632],{"class":668},[651,7706,682],{"class":675},[651,7708,7709],{"class":668},"(t) ",[651,7711,5244],{"class":664},[651,7713,5247],{"class":675},[651,7715,7716,7719,7722,7725],{"class":653,"line":697},[651,7717,7718],{"class":664},"    while",[651,7720,7721],{"class":668}," gauche ",[651,7723,7724],{"class":664},"\u003C=",[651,7726,7727],{"class":668}," droite:\n",[651,7729,7730,7733,7735,7738,7740,7743,7746],{"class":653,"line":704},[651,7731,7732],{"class":668},"        m ",[651,7734,1067],{"class":664},[651,7736,7737],{"class":668}," (gauche ",[651,7739,2291],{"class":664},[651,7741,7742],{"class":668}," droite) ",[651,7744,7745],{"class":664},"\u002F\u002F",[651,7747,7748],{"class":675}," 2\n",[651,7750,7751,7753,7756,7758],{"class":653,"line":710},[651,7752,858],{"class":664},[651,7754,7755],{"class":668}," t[m] ",[651,7757,863],{"class":664},[651,7759,866],{"class":668},[651,7761,7762,7764],{"class":653,"line":723},[651,7763,871],{"class":664},[651,7765,7766],{"class":668}," m\n",[651,7768,7769,7772,7774,7776],{"class":653,"line":889},[651,7770,7771],{"class":664},"        elif",[651,7773,7755],{"class":668},[651,7775,3560],{"class":664},[651,7777,866],{"class":668},[651,7779,7780,7783,7785,7788,7790],{"class":653,"line":932},[651,7781,7782],{"class":668},"            gauche ",[651,7784,1067],{"class":664},[651,7786,7787],{"class":668}," m ",[651,7789,2291],{"class":664},[651,7791,5247],{"class":675},[651,7793,7794,7797],{"class":653,"line":4762},[651,7795,7796],{"class":664},"        else",[651,7798,7799],{"class":668},":\n",[651,7801,7802,7805,7807,7809,7811],{"class":653,"line":4773},[651,7803,7804],{"class":668},"            droite ",[651,7806,1067],{"class":664},[651,7808,7787],{"class":668},[651,7810,5244],{"class":664},[651,7812,5247],{"class":675},[651,7814,7815,7817,7820],{"class":653,"line":4781},[651,7816,879],{"class":664},[651,7818,7819],{"class":664}," -",[651,7821,7822],{"class":675},"1\n",[651,7824,7825],{"class":653,"line":4786},[651,7826,701],{"emptyLinePlaceholder":700},[651,7828,7829,7832,7834,7836,7838,7840,7842,7844,7846,7848,7850,7852,7855,7857,7860,7862,7865,7867,7870,7872,7875,7877,7880,7882,7885],{"class":653,"line":4819},[651,7830,7831],{"class":668},"trie ",[651,7833,1067],{"class":664},[651,7835,3885],{"class":668},[651,7837,999],{"class":675},[651,7839,632],{"class":668},[651,7841,959],{"class":675},[651,7843,632],{"class":668},[651,7845,903],{"class":675},[651,7847,632],{"class":668},[651,7849,3459],{"class":675},[651,7851,632],{"class":668},[651,7853,7854],{"class":675},"18",[651,7856,632],{"class":668},[651,7858,7859],{"class":675},"25",[651,7861,632],{"class":668},[651,7863,7864],{"class":675},"33",[651,7866,632],{"class":668},[651,7868,7869],{"class":675},"47",[651,7871,632],{"class":668},[651,7873,7874],{"class":675},"58",[651,7876,632],{"class":668},[651,7878,7879],{"class":675},"66",[651,7881,632],{"class":668},[651,7883,7884],{"class":675},"80",[651,7886,1076],{"class":668},[651,7888,7889,7891,7894,7896,7898],{"class":653,"line":5361},[651,7890,892],{"class":675},[651,7892,7893],{"class":668},"(dichotomie(trie, ",[651,7895,7859],{"class":675},[651,7897,926],{"class":668},[651,7899,7900],{"class":657},"# 5\n",[651,7902,7904,7906,7908,7910,7912],{"class":653,"line":7903},16,[651,7905,892],{"class":675},[651,7907,7893],{"class":668},[651,7909,1273],{"class":675},[651,7911,926],{"class":668},[651,7913,7914],{"class":657},"# -1\n",[817,7916,7917],{},[642,7918,7920],{"className":644,"code":7919,"language":646,"meta":647,"style":647},"def dichotomie(t, cible):\n    gauche, droite = 0, len(t) - 1\n    etapes = 0\n    while gauche \u003C= droite:\n        etapes += 1\n        m = (gauche + droite) \u002F\u002F 2\n        if t[m] == cible:\n            return m, etapes\n        elif t[m] \u003C cible:\n            gauche = m + 1\n        else:\n            droite = m - 1\n    return -1, etapes\n\n# Sur un grand tableau trié, on compte les étapes\nimport math\ntrie = list(range(1, 1001))   # 1, 2, …, 1000\nprint(\"Recherche de 777 :\", dichotomie(trie, 777))\nprint(\"Recherche de 1 :\", dichotomie(trie, 1))\nprint(\"Étapes max théoriques :\", math.ceil(math.log2(1001)))\n",[625,7921,7922,7930,7948,7957,7967,7976,7992,8002,8009,8019,8031,8037,8049,8060,8064,8069,8075,8104,8123,8139],{"__ignoreMap":647},[651,7923,7924,7926,7928],{"class":653,"line":654},[651,7925,828],{"class":664},[651,7927,7685],{"class":831},[651,7929,7688],{"class":668},[651,7931,7932,7934,7936,7938,7940,7942,7944,7946],{"class":653,"line":661},[651,7933,7698],{"class":668},[651,7935,1067],{"class":664},[651,7937,5265],{"class":675},[651,7939,632],{"class":668},[651,7941,682],{"class":675},[651,7943,7709],{"class":668},[651,7945,5244],{"class":664},[651,7947,5247],{"class":675},[651,7949,7950,7953,7955],{"class":653,"line":688},[651,7951,7952],{"class":668},"    etapes ",[651,7954,1067],{"class":664},[651,7956,1209],{"class":675},[651,7958,7959,7961,7963,7965],{"class":653,"line":697},[651,7960,7718],{"class":664},[651,7962,7721],{"class":668},[651,7964,7724],{"class":664},[651,7966,7727],{"class":668},[651,7968,7969,7972,7974],{"class":653,"line":704},[651,7970,7971],{"class":668},"        etapes ",[651,7973,1227],{"class":664},[651,7975,5247],{"class":675},[651,7977,7978,7980,7982,7984,7986,7988,7990],{"class":653,"line":710},[651,7979,7732],{"class":668},[651,7981,1067],{"class":664},[651,7983,7737],{"class":668},[651,7985,2291],{"class":664},[651,7987,7742],{"class":668},[651,7989,7745],{"class":664},[651,7991,7748],{"class":675},[651,7993,7994,7996,7998,8000],{"class":653,"line":723},[651,7995,858],{"class":664},[651,7997,7755],{"class":668},[651,7999,863],{"class":664},[651,8001,866],{"class":668},[651,8003,8004,8006],{"class":653,"line":889},[651,8005,871],{"class":664},[651,8007,8008],{"class":668}," m, etapes\n",[651,8010,8011,8013,8015,8017],{"class":653,"line":932},[651,8012,7771],{"class":664},[651,8014,7755],{"class":668},[651,8016,3560],{"class":664},[651,8018,866],{"class":668},[651,8020,8021,8023,8025,8027,8029],{"class":653,"line":4762},[651,8022,7782],{"class":668},[651,8024,1067],{"class":664},[651,8026,7787],{"class":668},[651,8028,2291],{"class":664},[651,8030,5247],{"class":675},[651,8032,8033,8035],{"class":653,"line":4773},[651,8034,7796],{"class":664},[651,8036,7799],{"class":668},[651,8038,8039,8041,8043,8045,8047],{"class":653,"line":4781},[651,8040,7804],{"class":668},[651,8042,1067],{"class":664},[651,8044,7787],{"class":668},[651,8046,5244],{"class":664},[651,8048,5247],{"class":675},[651,8050,8051,8053,8055,8057],{"class":653,"line":4786},[651,8052,879],{"class":664},[651,8054,7819],{"class":664},[651,8056,999],{"class":675},[651,8058,8059],{"class":668},", etapes\n",[651,8061,8062],{"class":653,"line":4819},[651,8063,701],{"emptyLinePlaceholder":700},[651,8065,8066],{"class":653,"line":5361},[651,8067,8068],{"class":657},"# Sur un grand tableau trié, on compte les étapes\n",[651,8070,8071,8073],{"class":653,"line":7903},[651,8072,3791],{"class":664},[651,8074,3794],{"class":668},[651,8076,8078,8080,8082,8085,8087,8090,8092,8094,8096,8099,8101],{"class":653,"line":8077},17,[651,8079,7831],{"class":668},[651,8081,1067],{"class":664},[651,8083,8084],{"class":675}," list",[651,8086,679],{"class":668},[651,8088,8089],{"class":675},"range",[651,8091,679],{"class":668},[651,8093,999],{"class":675},[651,8095,632],{"class":668},[651,8097,8098],{"class":675},"1001",[651,8100,926],{"class":668},[651,8102,8103],{"class":657},"# 1, 2, …, 1000\n",[651,8105,8107,8109,8111,8114,8117,8120],{"class":653,"line":8106},18,[651,8108,892],{"class":675},[651,8110,679],{"class":668},[651,8112,8113],{"class":840},"\"Recherche de 777 :\"",[651,8115,8116],{"class":668},", dichotomie(trie, ",[651,8118,8119],{"class":675},"777",[651,8121,8122],{"class":668},"))\n",[651,8124,8126,8128,8130,8133,8135,8137],{"class":653,"line":8125},19,[651,8127,892],{"class":675},[651,8129,679],{"class":668},[651,8131,8132],{"class":840},"\"Recherche de 1 :\"",[651,8134,8116],{"class":668},[651,8136,999],{"class":675},[651,8138,8122],{"class":668},[651,8140,8142,8144,8146,8149,8152,8154],{"class":653,"line":8141},20,[651,8143,892],{"class":675},[651,8145,679],{"class":668},[651,8147,8148],{"class":840},"\"Étapes max théoriques :\"",[651,8150,8151],{"class":668},", math.ceil(math.log2(",[651,8153,8098],{"class":675},[651,8155,8156],{"class":668},")))\n",[594,8158,8160],{"id":8159},"le-variant-de-boucle","Le variant de boucle",[599,8162,8163,8164,8167,8168,8171,8172,1308],{},"Pour la dichotomie, le bon outil de raisonnement est le ",[603,8165,8166],{},"variant"," :\nune quantité qui ",[603,8169,8170],{},"décroît strictement"," à chaque tour et qui ne peut\n",[603,8173,8174],{},"pas descendre indéfiniment",[599,8176,8177,8178,1289,8217,991,8220,8223],{},"Posons ",[651,8179,8181,8198],{"className":8180},[755],[651,8182,8184],{"className":8183},[759],[761,8185,8186],{"xmlns":763},[765,8187,8188,8195],{},[768,8189,8190,8193],{},[771,8191,8192],{},"v",[1477,8194,1067],{},[775,8196,8197],{"encoding":777},"v = ",[651,8199,8201],{"className":8200,"ariaHidden":782},[781],[651,8202,8204,8207,8211,8214],{"className":8203},[786],[651,8205],{"className":8206,"style":791},[790],[651,8208,8192],{"className":8209,"style":8210},[795,796],"margin-right:0.0359em;",[651,8212],{"className":8213,"style":3634},[2370],[651,8215,1067],{"className":8216},[3641],[625,8218,8219],{},"droite - gauche",[603,8221,8222],{},"taille de la zone de\nrecherche"," moins 1. À chaque tour :",[1014,8225,8226,8236,8242],{},[972,8227,8228,8229,8231,8232,8235],{},"soit on trouve et on s'arrête (le ",[625,8230,5733],{}," se termine par ",[625,8233,8234],{},"return","),",[972,8237,8238,8239,8241],{},"soit on fait ",[625,8240,7656],{},", ce qui supprime au moins la moitié de\nl'intervalle ;",[972,8243,8238,8244,8246],{},[625,8245,7662],{},", idem.",[599,8248,8249,8250,1289,8278,8281,8282,8310,8311,8363,8364,8366,8367],{},"Dans tous les cas, ",[651,8251,8253,8266],{"className":8252},[755],[651,8254,8256],{"className":8255},[759],[761,8257,8258],{"xmlns":763},[765,8259,8260,8264],{},[768,8261,8262],{},[771,8263,8192],{},[775,8265,8192],{"encoding":777},[651,8267,8269],{"className":8268,"ariaHidden":782},[781],[651,8270,8272,8275],{"className":8271},[786],[651,8273],{"className":8274,"style":791},[790],[651,8276,8192],{"className":8277,"style":8210},[795,796],[603,8279,8280],{},"diminue strictement",". Comme ",[651,8283,8285,8298],{"className":8284},[755],[651,8286,8288],{"className":8287},[759],[761,8289,8290],{"xmlns":763},[765,8291,8292,8296],{},[768,8293,8294],{},[771,8295,8192],{},[775,8297,8192],{"encoding":777},[651,8299,8301],{"className":8300,"ariaHidden":782},[781],[651,8302,8304,8307],{"className":8303},[786],[651,8305],{"className":8306,"style":791},[790],[651,8308,8192],{"className":8309,"style":8210},[795,796]," est un entier,\nil finira par devenir négatif (",[651,8312,8314,8332],{"className":8313},[755],[651,8315,8317],{"className":8316},[759],[761,8318,8319],{"xmlns":763},[765,8320,8321,8329],{},[768,8322,8323,8325,8327],{},[771,8324,8192],{},[1477,8326,3560],{},[1869,8328,1073],{},[775,8330,8331],{"encoding":777},"v \u003C 0",[651,8333,8335,8354],{"className":8334,"ariaHidden":782},[781],[651,8336,8338,8342,8345,8348,8351],{"className":8337},[786],[651,8339],{"className":8340,"style":8341},[790],"height:0.5782em;vertical-align:-0.0391em;",[651,8343,8192],{"className":8344,"style":8210},[795,796],[651,8346],{"className":8347,"style":3634},[2370],[651,8349,3560],{"className":8350},[3641],[651,8352],{"className":8353,"style":3634},[2370],[651,8355,8357,8360],{"className":8356},[786],[651,8358],{"className":8359,"style":2694},[790],[651,8361,1073],{"className":8362},[795],", donc ",[625,8365,7668],{},"), ce qui\narrête la boucle. ",[603,8368,8369],{},"L'algorithme termine donc toujours.",[741,8371,8372,8377],{},[599,8373,8374,3528],{},[603,8375,8376],{},"Variant vs invariant",[1014,8378,8379,8389],{},[972,8380,620,8381,8384,8385,8388],{},[603,8382,8383],{},"invariant"," est une propriété ",[603,8386,8387],{},"constante"," vraie d'un tour à l'autre\n(utile à la correction).",[972,8390,620,8391,8393,8394,8397],{},[603,8392,8166],{}," est une grandeur ",[603,8395,8396],{},"qui décroît"," (utile à la terminaison).",[594,8399,8401,8402,5135],{"id":8400},"pourquoi-olognmathcalolog-nologn","Pourquoi ",[651,8403,8405,8428],{"className":8404},[755],[651,8406,8408],{"className":8407},[759],[761,8409,8410],{"xmlns":763},[765,8411,8412,8426],{},[768,8413,8414,8416,8418,8420,8422,8424],{},[771,8415,1475],{"mathvariant":1474},[1477,8417,679],{"stretchy":1479},[771,8419,3067],{},[1477,8421,3070],{},[771,8423,773],{},[1477,8425,1484],{"stretchy":1479},[775,8427,3077],{"encoding":777},[651,8429,8431],{"className":8430,"ariaHidden":782},[781],[651,8432,8434,8437,8440,8443,8448,8451,8454],{"className":8433},[786],[651,8435],{"className":8436,"style":1497},[790],[651,8438,1475],{"className":8439,"style":1502},[795,1501],[651,8441,679],{"className":8442},[1506],[651,8444,3097,8446],{"className":8445},[3096],[651,8447,3101],{"style":3100},[651,8449],{"className":8450,"style":3105},[2370],[651,8452,773],{"className":8453},[795,796],[651,8455,1484],{"className":8456},[1513],[599,8458,8459,8460,8463,8464,3528],{},"À chaque tour, la taille de la zone de recherche est ",[603,8461,8462],{},"divisée par deux",".\nEn partant d'une zone de taille ",[651,8465,8467,8480],{"className":8466},[755],[651,8468,8470],{"className":8469},[759],[761,8471,8472],{"xmlns":763},[765,8473,8474,8478],{},[768,8475,8476],{},[771,8477,773],{},[775,8479,773],{"encoding":777},[651,8481,8483],{"className":8482,"ariaHidden":782},[781],[651,8484,8486,8489],{"className":8485},[786],[651,8487],{"className":8488,"style":791},[790],[651,8490,773],{"className":8491},[795,796],[1014,8493,8494,8533,8573],{},[972,8495,8496,8497,1338],{},"après 1 tour : taille ",[651,8498,8500,8518],{"className":8499},[755],[651,8501,8503],{"className":8502},[759],[761,8504,8505],{"xmlns":763},[765,8506,8507,8515],{},[768,8508,8509,8511,8513],{},[771,8510,773],{},[771,8512,1239],{"mathvariant":2348},[1869,8514,908],{},[775,8516,8517],{"encoding":777},"n \u002F 2",[651,8519,8521],{"className":8520,"ariaHidden":782},[781],[651,8522,8524,8527,8530],{"className":8523},[786],[651,8525],{"className":8526,"style":1497},[790],[651,8528,773],{"className":8529},[795,796],[651,8531,2391],{"className":8532},[795],[972,8534,8535,8536,1338],{},"après 2 tours : taille ",[651,8537,8539,8557],{"className":8538},[755],[651,8540,8542],{"className":8541},[759],[761,8543,8544],{"xmlns":763},[765,8545,8546,8554],{},[768,8547,8548,8550,8552],{},[771,8549,773],{},[771,8551,1239],{"mathvariant":2348},[1869,8553,959],{},[775,8555,8556],{"encoding":777},"n \u002F 4",[651,8558,8560],{"className":8559,"ariaHidden":782},[781],[651,8561,8563,8566,8569],{"className":8562},[786],[651,8564],{"className":8565,"style":1497},[790],[651,8567,773],{"className":8568},[795,796],[651,8570,8572],{"className":8571},[795],"\u002F4",[972,8574,8575,8576,8604,8605,1308],{},"après ",[651,8577,8579,8592],{"className":8578},[755],[651,8580,8582],{"className":8581},[759],[761,8583,8584],{"xmlns":763},[765,8585,8586,8590],{},[768,8587,8588],{},[771,8589,1796],{},[775,8591,1796],{"encoding":777},[651,8593,8595],{"className":8594,"ariaHidden":782},[781],[651,8596,8598,8601],{"className":8597},[786],[651,8599],{"className":8600,"style":1808},[790],[651,8602,1796],{"className":8603,"style":1812},[795,796]," tours : taille ",[651,8606,8608,8630],{"className":8607},[755],[651,8609,8611],{"className":8610},[759],[761,8612,8613],{"xmlns":763},[765,8614,8615,8627],{},[768,8616,8617,8619,8621],{},[771,8618,773],{},[771,8620,1239],{"mathvariant":2348},[2093,8622,8623,8625],{},[1869,8624,908],{},[771,8626,1796],{},[775,8628,8629],{"encoding":777},"n \u002F 2^k",[651,8631,8633],{"className":8632,"ariaHidden":782},[781],[651,8634,8636,8640,8643,8646],{"className":8635},[786],[651,8637],{"className":8638,"style":8639},[790],"height:1.0991em;vertical-align:-0.25em;",[651,8641,773],{"className":8642},[795,796],[651,8644,1239],{"className":8645},[795],[651,8647,8649,8652],{"className":8648},[795],[651,8650,908],{"className":8651},[795],[651,8653,8655],{"className":8654},[2129],[651,8656,8658],{"className":8657},[2133],[651,8659,8661],{"className":8660},[2137],[651,8662,8665],{"className":8663,"style":8664},[2141],"height:0.8491em;",[651,8666,8667,8670],{"style":2145},[651,8668],{"className":8669,"style":2150},[2149],[651,8671,8673],{"className":8672},[2154,2155,2156,2157],[651,8674,1796],{"className":8675,"style":1812},[795,796,2157],[599,8677,8678,8679,8761,8762,8790,8791,8909,8910,8912,8913,3528],{},"On s'arrête quand cette taille atteint 0 ou 1, c'est-à-dire quand\n",[651,8680,8682,8704],{"className":8681},[755],[651,8683,8685],{"className":8684},[759],[761,8686,8687],{"xmlns":763},[765,8688,8689,8701],{},[768,8690,8691,8697,8699],{},[2093,8692,8693,8695],{},[1869,8694,908],{},[771,8696,1796],{},[1477,8698,7506],{},[771,8700,773],{},[775,8702,8703],{"encoding":777},"2^k \\geq n",[651,8705,8707,8752],{"className":8706,"ariaHidden":782},[781],[651,8708,8710,8714,8743,8746,8749],{"className":8709},[786],[651,8711],{"className":8712,"style":8713},[790],"height:0.9851em;vertical-align:-0.136em;",[651,8715,8717,8720],{"className":8716},[795],[651,8718,908],{"className":8719},[795],[651,8721,8723],{"className":8722},[2129],[651,8724,8726],{"className":8725},[2133],[651,8727,8729],{"className":8728},[2137],[651,8730,8732],{"className":8731,"style":8664},[2141],[651,8733,8734,8737],{"style":2145},[651,8735],{"className":8736,"style":2150},[2149],[651,8738,8740],{"className":8739},[2154,2155,2156,2157],[651,8741,1796],{"className":8742,"style":1812},[795,796,2157],[651,8744],{"className":8745,"style":3634},[2370],[651,8747,7506],{"className":8748},[3641],[651,8750],{"className":8751,"style":3634},[2370],[651,8753,8755,8758],{"className":8754},[786],[651,8756],{"className":8757,"style":791},[790],[651,8759,773],{"className":8760},[795,796],". Le plus petit ",[651,8763,8765,8778],{"className":8764},[755],[651,8766,8768],{"className":8767},[759],[761,8769,8770],{"xmlns":763},[765,8771,8772,8776],{},[768,8773,8774],{},[771,8775,1796],{},[775,8777,1796],{"encoding":777},[651,8779,8781],{"className":8780,"ariaHidden":782},[781],[651,8782,8784,8787],{"className":8783},[786],[651,8785],{"className":8786,"style":1808},[790],[651,8788,1796],{"className":8789,"style":1812},[795,796]," qui convient est ",[651,8792,8794,8828],{"className":8793},[755],[651,8795,8797],{"className":8796},[759],[761,8798,8799],{"xmlns":763},[765,8800,8801,8825],{},[768,8802,8803,8805,8807,8810,8820,8822],{},[771,8804,1796],{},[1477,8806,1067],{},[1477,8808,8809],{"stretchy":1479},"⌈",[3220,8811,8812,8818],{},[768,8813,8814,8816],{},[771,8815,3067],{},[1477,8817,3070],{},[1869,8819,908],{},[771,8821,773],{},[1477,8823,8824],{"stretchy":1479},"⌉",[775,8826,8827],{"encoding":777},"k = \\lceil \\log_2 n\n\\rceil",[651,8829,8831,8849],{"className":8830,"ariaHidden":782},[781],[651,8832,8834,8837,8840,8843,8846],{"className":8833},[786],[651,8835],{"className":8836,"style":1808},[790],[651,8838,1796],{"className":8839,"style":1812},[795,796],[651,8841],{"className":8842,"style":3634},[2370],[651,8844,1067],{"className":8845},[3641],[651,8847],{"className":8848,"style":3634},[2370],[651,8850,8852,8855,8858,8900,8903,8906],{"className":8851},[786],[651,8853],{"className":8854,"style":1497},[790],[651,8856,8809],{"className":8857},[1506],[651,8859,8861,8866],{"className":8860},[3096],[651,8862,3097,8864],{"className":8863},[3096],[651,8865,3101],{"style":3100},[651,8867,8869],{"className":8868},[2129],[651,8870,8872,8892],{"className":8871},[2133,3259],[651,8873,8875,8889],{"className":8874},[2137],[651,8876,8878],{"className":8877,"style":3266},[2141],[651,8879,8880,8883],{"style":3269},[651,8881],{"className":8882,"style":2150},[2149],[651,8884,8886],{"className":8885},[2154,2155,2156,2157],[651,8887,908],{"className":8888},[795,2157],[651,8890,3283],{"className":8891},[3282],[651,8893,8895],{"className":8894},[2137],[651,8896,8898],{"className":8897,"style":3290},[2141],[651,8899],{},[651,8901],{"className":8902,"style":3105},[2370],[651,8904,773],{"className":8905},[795,796],[651,8907,8824],{"className":8908},[1513],". La complexité est donc ",[603,8911,3512],{}," en ",[651,8914,8916,8929],{"className":8915},[755],[651,8917,8919],{"className":8918},[759],[761,8920,8921],{"xmlns":763},[765,8922,8923,8927],{},[768,8924,8925],{},[771,8926,773],{},[775,8928,773],{"encoding":777},[651,8930,8932],{"className":8931,"ariaHidden":782},[781],[651,8933,8935,8938],{"className":8934},[786],[651,8936],{"className":8937,"style":791},[790],[651,8939,773],{"className":8940},[795,796],[651,8942,8944],{"className":8943},[3532],[651,8945,8947,8970],{"className":8946},[755],[651,8948,8950],{"className":8949},[759],[761,8951,8952],{"xmlns":763,"display":3541},[765,8953,8954,8968],{},[768,8955,8956,8958,8960,8962,8964,8966],{},[771,8957,1475],{"mathvariant":1474},[1477,8959,679],{"stretchy":1479},[771,8961,3067],{},[1477,8963,3070],{},[771,8965,773],{},[1477,8967,1484],{"stretchy":1479},[775,8969,3077],{"encoding":777},[651,8971,8973],{"className":8972,"ariaHidden":782},[781],[651,8974,8976,8979,8982,8985,8990,8993,8996],{"className":8975},[786],[651,8977],{"className":8978,"style":1497},[790],[651,8980,1475],{"className":8981,"style":1502},[795,1501],[651,8983,679],{"className":8984},[1506],[651,8986,3097,8988],{"className":8987},[3096],[651,8989,3101],{"style":3100},[651,8991],{"className":8992,"style":3105},[2370],[651,8994,773],{"className":8995},[795,796],[651,8997,1484],{"className":8998},[1513],[1355,9000,9001],{},[599,9002,9003,9004,9088,9089,9092,9093,1308],{},"Pour vous donner une idée concrète : pour ",[651,9005,9007,9029],{"className":9006},[755],[651,9008,9010],{"className":9009},[759],[761,9011,9012],{"xmlns":763},[765,9013,9014,9026],{},[768,9015,9016,9018,9020],{},[771,9017,773],{},[1477,9019,1067],{},[2093,9021,9022,9024],{},[1869,9023,1273],{},[1869,9025,913],{},[775,9027,9028],{"encoding":777},"n = 10^9",[651,9030,9032,9050],{"className":9031,"ariaHidden":782},[781],[651,9033,9035,9038,9041,9044,9047],{"className":9034},[786],[651,9036],{"className":9037,"style":791},[790],[651,9039,773],{"className":9040},[795,796],[651,9042],{"className":9043,"style":3634},[2370],[651,9045,1067],{"className":9046},[3641],[651,9048],{"className":9049,"style":3634},[2370],[651,9051,9053,9056,9059],{"className":9052},[786],[651,9054],{"className":9055,"style":2142},[790],[651,9057,999],{"className":9058},[795],[651,9060,9062,9065],{"className":9061},[795],[651,9063,1073],{"className":9064},[795],[651,9066,9068],{"className":9067},[2129],[651,9069,9071],{"className":9070},[2133],[651,9072,9074],{"className":9073},[2137],[651,9075,9077],{"className":9076,"style":2142},[2141],[651,9078,9079,9082],{"style":2145},[651,9080],{"className":9081,"style":2150},[2149],[651,9083,9085],{"className":9084},[2154,2155,2156,2157],[651,9086,913],{"className":9087},[795,2157]," (un milliard !),\nla recherche dichotomique trouve en ",[603,9090,9091],{},"30 étapes"," au maximum. La recherche\nlinéaire en exigerait ",[603,9094,9095],{},"un milliard",[997,9097,9099,9104],{"correct":1073,"slug":9098},"dichotomie-c1",[1002,9100,9101],{"v-slot:question":647},[599,9102,9103],{},"Pour un tableau trié de 1 048 576 éléments, combien d'étapes au pire pour la dichotomie ?",[1002,9105,9106],{"v-slot:choices":647},[1014,9107,9108,9111,9114],{},[972,9109,9110],{},"20",[972,9112,9113],{},"524 288",[972,9115,9116],{},"1 048 576",[594,9118,1518],{"id":1517},[1014,9120,9121,9127,9142,9163],{},[972,9122,9123,9126],{},[603,9124,9125],{},"Oublier que le tableau doit être trié"," : la dichotomie ne marche pas sur\nun tableau quelconque.",[972,9128,9129,9138,9139,9141],{},[603,9130,9131,9134,9135],{},[625,9132,9133],{},"m = (gauche + droite) \u002F 2"," au lieu de ",[625,9136,9137],{},"\u002F\u002F 2"," : la division ",[625,9140,1239],{},"\nretourne un flottant en Python, qui ne peut pas servir d'indice.",[972,9143,9144,1813,9147,9134,9150,9152,9153,2610,9156,9159,9160,9162],{},[603,9145,9146],{},"Bornes mal mises à jour",[625,9148,9149],{},"gauche = m",[625,9151,7656],{},"\ncause des ",[603,9154,9155],{},"boucles infinies",[625,9157,9158],{},"gauche == droite",". La case ",[625,9161,7647],{},"\nvient d'être testée — il faut l'exclure.",[972,9164,9165,1813,9168,8363,9171,9174,9175,9178],{},[603,9166,9167],{},"Tableau vide",[625,9169,9170],{},"len(t) - 1 = -1",[625,9172,9173],{},"gauche = 0 > droite = -1",",\ndonc on n'entre pas dans la boucle, et on retourne ",[625,9176,9177],{},"-1",". Cas géré sans\ncas particulier.",[1157,9180,9181],{},[599,9182,9183,9184,9187],{},"Si le tableau ",[603,9185,9186],{},"n'est pas trié",", ne convoquez pas la dichotomie. Soit vous\ntriez d'abord (mais alors le coût total est dominé par le tri), soit vous\nrestez sur une recherche linéaire.",[997,9189,9191,9196],{"correct":999,"slug":9190},"dichotomie-c2",[1002,9192,9193],{"v-slot:question":647},[599,9194,9195],{},"Le prérequis indispensable pour appliquer la dichotomie est :",[1002,9197,9198],{"v-slot:choices":647},[1014,9199,9200,9203,9206],{},[972,9201,9202],{},"tableau de taille puissance de 2",[972,9204,9205],{},"tableau trié",[972,9207,9208],{},"tableau sans doublons",[594,9210,1559],{"id":1558},[599,9212,9213,9214,9217,9218,9221,9222,812,9277,1308],{},"La dichotomie est l'archétype de la ",[603,9215,9216],{},"stratégie diviser pour régner",", que\nvous reverrez en Terminale (tri fusion, tri rapide). À chaque étape, on\nréduit le problème à un sous-problème ",[603,9219,9220],{},"deux fois plus petit",", jusqu'à un\ncas de base. Cette stratégie produit naturellement des complexités en\n",[651,9223,9225,9248],{"className":9224},[755],[651,9226,9228],{"className":9227},[759],[761,9229,9230],{"xmlns":763},[765,9231,9232,9246],{},[768,9233,9234,9236,9238,9240,9242,9244],{},[771,9235,1475],{"mathvariant":1474},[1477,9237,679],{"stretchy":1479},[771,9239,3067],{},[1477,9241,3070],{},[771,9243,773],{},[1477,9245,1484],{"stretchy":1479},[775,9247,3077],{"encoding":777},[651,9249,9251],{"className":9250,"ariaHidden":782},[781],[651,9252,9254,9257,9260,9263,9268,9271,9274],{"className":9253},[786],[651,9255],{"className":9256,"style":1497},[790],[651,9258,1475],{"className":9259,"style":1502},[795,1501],[651,9261,679],{"className":9262},[1506],[651,9264,3097,9266],{"className":9265},[3096],[651,9267,3101],{"style":3100},[651,9269],{"className":9270,"style":3105},[2370],[651,9272,773],{"className":9273},[795,796],[651,9275,1484],{"className":9276},[1513],[651,9278,9280,9305],{"className":9279},[755],[651,9281,9283],{"className":9282},[759],[761,9284,9285],{"xmlns":763},[765,9286,9287,9303],{},[768,9288,9289,9291,9293,9295,9297,9299,9301],{},[771,9290,1475],{"mathvariant":1474},[1477,9292,679],{"stretchy":1479},[771,9294,773],{},[771,9296,3067],{},[1477,9298,3070],{},[771,9300,773],{},[1477,9302,1484],{"stretchy":1479},[775,9304,7354],{"encoding":777},[651,9306,9308],{"className":9307,"ariaHidden":782},[781],[651,9309,9311,9314,9317,9320,9323,9326,9331,9334,9337],{"className":9310},[786],[651,9312],{"className":9313,"style":1497},[790],[651,9315,1475],{"className":9316,"style":1502},[795,1501],[651,9318,679],{"className":9319},[1506],[651,9321,773],{"className":9322},[795,796],[651,9324],{"className":9325,"style":3105},[2370],[651,9327,3097,9329],{"className":9328},[3096],[651,9330,3101],{"style":3100},[651,9332],{"className":9333,"style":3105},[2370],[651,9335,773],{"className":9336},[795,796],[651,9338,1484],{"className":9339},[1513],[1572,9341,9342],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}",{"title":647,"searchDepth":661,"depth":661,"links":9344},[9345,9346,9347,9348,9349,9351,9352],{"id":596,"depth":661,"text":597},{"id":7455,"depth":661,"text":7456},{"id":7602,"depth":661,"text":7603},{"id":8159,"depth":661,"text":8160},{"id":8400,"depth":661,"text":9350},"Pourquoi O(log⁡n)\\mathcal{O}(\\log n)O(logn) ?",{"id":1517,"depth":661,"text":1518},{"id":1558,"depth":661,"text":1559},"Chercher dans un tableau trié en divisant l'espace de recherche par deux à chaque étape — coût $\\mathcal{O}(\\log n)$.",{},[9356,9358],{"slug":9098,"kind":1592,"question":9103,"choices":9357,"correct":1073,"multi":1595,"explanation":647},[9110,9113,9116],{"slug":9190,"kind":1592,"question":9195,"choices":9359,"correct":999,"multi":1595,"explanation":647},[9202,9205,9208],{"title":429,"description":9353},"UQ9RkZ7GRIIe4_DWjUkxBNpgxJNEeRNwzJIhWSZ5qAw",{"id":9363,"title":433,"bo":9364,"body":9366,"description":10522,"eval":1587,"extension":1588,"labo":1587,"meta":10523,"navigation":700,"path":434,"quizzes":10524,"readingTime":654,"seo":10529,"stem":435,"tp":1587,"__hash__":10530},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons.md",[9365],"PH02",{"type":591,"value":9367,"toc":10512},[9368,9370,9392,9394,9399,9421,9435,9439,9480,9490,9638,9831,9838,9842,9845,9866,9873,9888,9907,9911,9951,9960,10001,10324,10335,10356,10360,10363,10382,10396,10398,10489,10491,10509],[594,9369,597],{"id":596},[599,9371,9372,9373,9376,9377,9380,9381,9385,9386,9389,9390],{},"Quand on cherche à résoudre un problème d'optimisation — minimiser un coût,\nmaximiser un gain — la stratégie la plus naïve consiste à se demander, à\nchaque étape : « quel est le meilleur choix ",[603,9374,9375],{},"maintenant"," ? » Puis à\nprendre ce choix sans plus se poser de questions. C'est ce qu'on appelle\nune ",[603,9378,9379],{},"stratégie gloutonne"," (en anglais ",[9382,9383,9384],"em",{},"greedy","). Elle est rapide et\nintuitive. Elle marche parfois — c'est même la solution parfaite pour le\nrendu de monnaie classique. Mais elle peut aussi mener à des résultats\nsous-optimaux. Savoir reconnaître ",[603,9387,9388],{},"quand"," elle marche est une compétence\nen soi. ",[612,9391],{"code":9365},[594,9393,617],{"id":616},[599,9395,620,9396,3528],{},[603,9397,9398],{},"algorithme glouton",[969,9400,9401,9407,9414],{},[972,9402,9403,9404,1308],{},"Construit la solution ",[603,9405,9406],{},"pas à pas",[972,9408,9409,9410,9413],{},"À chaque étape, fait le choix qui ",[603,9411,9412],{},"semble le meilleur localement",", sans\nse soucier des conséquences sur la suite.",[972,9415,9416,9417,9420],{},"Ne revient ",[603,9418,9419],{},"jamais en arrière"," sur un choix fait.",[1355,9422,9423],{},[599,9424,9425,9427,9428,9430,9431,9434],{},[603,9426,4849],{}," : vous montez une colline les yeux bandés, en faisant toujours\nle pas qui monte le plus. Vous atteignez ",[603,9429,7590],{}," sommet — mais peut-être pas\nle ",[603,9432,9433],{},"plus haut"," sommet de la région.",[594,9436,9438],{"id":9437},"exemple-canonique-le-rendu-de-monnaie","Exemple canonique — le rendu de monnaie",[599,9440,9441,9444,9445,9475,9476,9479],{},[603,9442,9443],{},"Problème"," : rendre une somme ",[651,9446,9448,9462],{"className":9447},[755],[651,9449,9451],{"className":9450},[759],[761,9452,9453],{"xmlns":763},[765,9454,9455,9460],{},[768,9456,9457],{},[771,9458,9459],{},"S",[775,9461,9459],{"encoding":777},[651,9463,9465],{"className":9464,"ariaHidden":782},[781],[651,9466,9468,9471],{"className":9467},[786],[651,9469],{"className":9470,"style":4173},[790],[651,9472,9459],{"className":9473,"style":9474},[795,796],"margin-right:0.0576em;"," avec le ",[603,9477,9478],{},"minimum"," de pièces, parmi des\npièces de valeurs données (par exemple 1, 2, 5, 10, 20, 50 centimes,\n1 et 2 euros — le système euro).",[599,9481,9482,9485,9486,9489],{},[603,9483,9484],{},"Stratégie gloutonne"," : à chaque étape, prendre la ",[603,9487,9488],{},"plus grosse pièce\npossible"," qui ne dépasse pas ce qui reste à rendre.",[642,9491,9493],{"className":644,"code":9492,"language":646,"meta":647,"style":647},"def rendu_monnaie(somme, pieces):\n    \"\"\"Rend la somme avec la stratégie gloutonne, sur les pieces triées\n    par ordre décroissant. Retourne la liste des pièces utilisées.\"\"\"\n    rendu = []\n    for piece in pieces:\n        while somme >= piece:\n            rendu.append(piece)\n            somme -= piece\n    return rendu\n\neuros = [200, 100, 50, 20, 10, 5, 2, 1]   # en centimes\nprint(rendu_monnaie(287, euros))\n# [200, 50, 20, 10, 5, 2]   — 6 pièces, c'est optimal\n",[625,9494,9495,9505,9510,9515,9525,9537,9548,9553,9563,9570,9574,9620,9633],{"__ignoreMap":647},[651,9496,9497,9499,9502],{"class":653,"line":654},[651,9498,828],{"class":664},[651,9500,9501],{"class":831}," rendu_monnaie",[651,9503,9504],{"class":668},"(somme, pieces):\n",[651,9506,9507],{"class":653,"line":661},[651,9508,9509],{"class":840},"    \"\"\"Rend la somme avec la stratégie gloutonne, sur les pieces triées\n",[651,9511,9512],{"class":653,"line":688},[651,9513,9514],{"class":840},"    par ordre décroissant. Retourne la liste des pièces utilisées.\"\"\"\n",[651,9516,9517,9520,9522],{"class":653,"line":697},[651,9518,9519],{"class":668},"    rendu ",[651,9521,1067],{"class":664},[651,9523,9524],{"class":668}," []\n",[651,9526,9527,9529,9532,9534],{"class":653,"line":704},[651,9528,846],{"class":664},[651,9530,9531],{"class":668}," piece ",[651,9533,672],{"class":664},[651,9535,9536],{"class":668}," pieces:\n",[651,9538,9539,9541,9543,9545],{"class":653,"line":710},[651,9540,5257],{"class":664},[651,9542,1236],{"class":668},[651,9544,5262],{"class":664},[651,9546,9547],{"class":668}," piece:\n",[651,9549,9550],{"class":653,"line":723},[651,9551,9552],{"class":668},"            rendu.append(piece)\n",[651,9554,9555,9558,9560],{"class":653,"line":889},[651,9556,9557],{"class":668},"            somme ",[651,9559,5300],{"class":664},[651,9561,9562],{"class":668}," piece\n",[651,9564,9565,9567],{"class":653,"line":932},[651,9566,879],{"class":664},[651,9568,9569],{"class":668}," rendu\n",[651,9571,9572],{"class":653,"line":4762},[651,9573,701],{"emptyLinePlaceholder":700},[651,9575,9576,9579,9581,9583,9586,9588,9590,9592,9595,9597,9599,9601,9603,9605,9607,9609,9611,9613,9615,9617],{"class":653,"line":4773},[651,9577,9578],{"class":668},"euros ",[651,9580,1067],{"class":664},[651,9582,3885],{"class":668},[651,9584,9585],{"class":675},"200",[651,9587,632],{"class":668},[651,9589,3404],{"class":675},[651,9591,632],{"class":668},[651,9593,9594],{"class":675},"50",[651,9596,632],{"class":668},[651,9598,9110],{"class":675},[651,9600,632],{"class":668},[651,9602,1273],{"class":675},[651,9604,632],{"class":668},[651,9606,918],{"class":675},[651,9608,632],{"class":668},[651,9610,908],{"class":675},[651,9612,632],{"class":668},[651,9614,999],{"class":675},[651,9616,1931],{"class":668},[651,9618,9619],{"class":657},"# en centimes\n",[651,9621,9622,9624,9627,9630],{"class":653,"line":4781},[651,9623,892],{"class":675},[651,9625,9626],{"class":668},"(rendu_monnaie(",[651,9628,9629],{"class":675},"287",[651,9631,9632],{"class":668},", euros))\n",[651,9634,9635],{"class":653,"line":4786},[651,9636,9637],{"class":657},"# [200, 50, 20, 10, 5, 2]   — 6 pièces, c'est optimal\n",[817,9639,9640],{},[642,9641,9643],{"className":644,"code":9642,"language":646,"meta":647,"style":647},"def rendu_monnaie(somme, pieces):\n    rendu = []\n    for piece in pieces:\n        while somme >= piece:\n            rendu.append(piece)\n            somme -= piece\n    return rendu\n\n# Essai sur le système euro (centimes)\neuros = [200, 100, 50, 20, 10, 5, 2, 1]\nfor total in [287, 463, 99, 1234]:\n    pieces = rendu_monnaie(total, euros)\n    print(f\"{total} cts → {pieces} ({len(pieces)} pièces)\")\n",[625,9644,9645,9653,9661,9671,9681,9685,9693,9699,9703,9708,9748,9778,9788],{"__ignoreMap":647},[651,9646,9647,9649,9651],{"class":653,"line":654},[651,9648,828],{"class":664},[651,9650,9501],{"class":831},[651,9652,9504],{"class":668},[651,9654,9655,9657,9659],{"class":653,"line":661},[651,9656,9519],{"class":668},[651,9658,1067],{"class":664},[651,9660,9524],{"class":668},[651,9662,9663,9665,9667,9669],{"class":653,"line":688},[651,9664,846],{"class":664},[651,9666,9531],{"class":668},[651,9668,672],{"class":664},[651,9670,9536],{"class":668},[651,9672,9673,9675,9677,9679],{"class":653,"line":697},[651,9674,5257],{"class":664},[651,9676,1236],{"class":668},[651,9678,5262],{"class":664},[651,9680,9547],{"class":668},[651,9682,9683],{"class":653,"line":704},[651,9684,9552],{"class":668},[651,9686,9687,9689,9691],{"class":653,"line":710},[651,9688,9557],{"class":668},[651,9690,5300],{"class":664},[651,9692,9562],{"class":668},[651,9694,9695,9697],{"class":653,"line":723},[651,9696,879],{"class":664},[651,9698,9569],{"class":668},[651,9700,9701],{"class":653,"line":889},[651,9702,701],{"emptyLinePlaceholder":700},[651,9704,9705],{"class":653,"line":932},[651,9706,9707],{"class":657},"# Essai sur le système euro (centimes)\n",[651,9709,9710,9712,9714,9716,9718,9720,9722,9724,9726,9728,9730,9732,9734,9736,9738,9740,9742,9744,9746],{"class":653,"line":4762},[651,9711,9578],{"class":668},[651,9713,1067],{"class":664},[651,9715,3885],{"class":668},[651,9717,9585],{"class":675},[651,9719,632],{"class":668},[651,9721,3404],{"class":675},[651,9723,632],{"class":668},[651,9725,9594],{"class":675},[651,9727,632],{"class":668},[651,9729,9110],{"class":675},[651,9731,632],{"class":668},[651,9733,1273],{"class":675},[651,9735,632],{"class":668},[651,9737,918],{"class":675},[651,9739,632],{"class":668},[651,9741,908],{"class":675},[651,9743,632],{"class":668},[651,9745,999],{"class":675},[651,9747,1076],{"class":668},[651,9749,9750,9752,9755,9757,9759,9761,9763,9766,9768,9771,9773,9776],{"class":653,"line":4773},[651,9751,665],{"class":664},[651,9753,9754],{"class":668}," total ",[651,9756,672],{"class":664},[651,9758,3885],{"class":668},[651,9760,9629],{"class":675},[651,9762,632],{"class":668},[651,9764,9765],{"class":675},"463",[651,9767,632],{"class":668},[651,9769,9770],{"class":675},"99",[651,9772,632],{"class":668},[651,9774,9775],{"class":675},"1234",[651,9777,3904],{"class":668},[651,9779,9780,9783,9785],{"class":653,"line":4781},[651,9781,9782],{"class":668},"    pieces ",[651,9784,1067],{"class":664},[651,9786,9787],{"class":668}," rendu_monnaie(total, euros)\n",[651,9789,9790,9792,9794,9796,9798,9800,9803,9805,9808,9810,9813,9815,9818,9821,9824,9826,9829],{"class":653,"line":4786},[651,9791,691],{"class":675},[651,9793,679],{"class":668},[651,9795,2912],{"class":664},[651,9797,3805],{"class":840},[651,9799,3808],{"class":675},[651,9801,9802],{"class":668},"total",[651,9804,3817],{"class":675},[651,9806,9807],{"class":840}," cts → ",[651,9809,3808],{"class":675},[651,9811,9812],{"class":668},"pieces",[651,9814,3817],{"class":675},[651,9816,9817],{"class":840}," (",[651,9819,9820],{"class":675},"{len",[651,9822,9823],{"class":668},"(pieces)",[651,9825,3817],{"class":675},[651,9827,9828],{"class":840}," pièces)\"",[651,9830,3856],{"class":668},[599,9832,9833,9834,9837],{},"Avec le système euro, la stratégie gloutonne donne ",[603,9835,9836],{},"toujours"," le rendu\noptimal. C'est une propriété du système monétaire — pas une vérité\nuniverselle.",[594,9839,9841],{"id":9840},"le-glouton-ne-marche-pas-toujours","Le glouton ne marche pas toujours",[599,9843,9844],{},"Imaginons un système de pièces fictif : 1, 6, 10. On veut rendre 12.",[1014,9846,9847,9857],{},[972,9848,9849,9852,9853,9856],{},[603,9850,9851],{},"Glouton"," : prend 10, puis 1, puis 1 → ",[603,9854,9855],{},"3 pièces"," (10 + 1 + 1).",[972,9858,9859,9862,9863,1308],{},[603,9860,9861],{},"Optimal"," : 6 + 6 → ",[603,9864,9865],{},"2 pièces",[599,9867,9868,9869,9872],{},"La stratégie gloutonne, ici, ",[603,9870,9871],{},"rate"," la solution optimale. Le choix local\n« prendre 10 d'abord » empêche d'utiliser deux fois 6 ensuite.",[1157,9874,9875],{},[599,9876,9877,9880,9881,812,9884,9887],{},[603,9878,9879],{},"Un algorithme glouton n'est pas toujours optimal."," Pour certains\nproblèmes, oui ; pour d'autres, non. Il faut ",[603,9882,9883],{},"prouver",[603,9885,9886],{},"constater","\nqu'il fonctionne avant de l'employer.",[997,9889,9891,9896],{"correct":999,"slug":9890},"gloutons-c1",[1002,9892,9893],{"v-slot:question":647},[599,9894,9895],{},"Sur le système de pièces (1, 6, 10), pour rendre 12, le glouton donne :",[1002,9897,9898],{"v-slot:choices":647},[1014,9899,9900,9902,9904],{},[972,9901,9865],{},[972,9903,9855],{},[972,9905,9906],{},"12 pièces",[594,9908,9910],{"id":9909},"second-exemple-le-sac-à-dos-fractionnaire","Second exemple — le sac à dos fractionnaire",[599,9912,9913,9915,9916,9946,9947,9950],{},[603,9914,9443],{}," : vous avez un sac d'une capacité maximale ",[651,9917,9919,9933],{"className":9918},[755],[651,9920,9922],{"className":9921},[759],[761,9923,9924],{"xmlns":763},[765,9925,9926,9931],{},[768,9927,9928],{},[771,9929,9930],{},"W",[775,9932,9930],{"encoding":777},[651,9934,9936],{"className":9935,"ariaHidden":782},[781],[651,9937,9939,9942],{"className":9938},[786],[651,9940],{"className":9941,"style":4173},[790],[651,9943,9930],{"className":9944,"style":9945},[795,796],"margin-right:0.1389em;"," kg. Vous\ndisposez d'objets, chacun avec un poids et une valeur. On peut ",[603,9948,9949],{},"fractionner","\nles objets (en prendre une partie). Comment maximiser la valeur totale dans\nle sac ?",[599,9952,9953,9955,9956,9959],{},[603,9954,9484],{}," : trier les objets par ",[603,9957,9958],{},"ratio valeur \u002F poids","\ndécroissant, puis remplir le sac en commençant par les objets les plus\n« rentables au kilo ».",[599,9961,9962,9963,1813,9966,4834,9969,9972,9973,9976,9977,9980,9981,9984,9985,9988,9989,9992,9993,9996,9997,10000],{},"On effectue le tri via ",[625,9964,9965],{},"sorted(..., key=...)",[625,9967,9968],{},"key",[603,9970,9971],{},"fonction","\nqui dit, pour chaque objet, ",[603,9974,9975],{},"quelle valeur"," utiliser pour comparer. Ici\n",[625,9978,9979],{},"lambda o: o[2] \u002F o[1]"," est une mini-fonction qui prend un objet ",[625,9982,9983],{},"o"," (un\ntriplet ",[625,9986,9987],{},"(nom, poids, valeur)",") et renvoie son ",[603,9990,9991],{},"ratio valeur\u002Fpoids","\n(",[625,9994,9995],{},"o[2] \u002F o[1]","). On le verra plus en détail au chapitre ",[603,9998,9999],{},"PG"," ; ici, lisez\njuste « trier par ratio décroissant ».",[642,10002,10004],{"className":644,"code":10003,"language":646,"meta":647,"style":647},"def sac_a_dos(objets, capacite):\n    \"\"\"objets : liste de tuples (nom, poids, valeur).\n    Stratégie gloutonne sur le ratio valeur \u002F poids.\"\"\"\n    # Trier par ratio décroissant\n    tries = sorted(objets, key=lambda o: o[2] \u002F o[1], reverse=True)\n    sac = []\n    valeur_totale = 0\n    poids_restant = capacite\n    for nom, poids, valeur in tries:\n        if poids_restant >= poids:\n            # On prend l'objet entier\n            sac.append((nom, poids))\n            valeur_totale += valeur\n            poids_restant -= poids\n        else:\n            # On prend une fraction\n            fraction = poids_restant \u002F poids\n            sac.append((nom, poids * fraction))\n            valeur_totale += valeur * fraction\n            poids_restant = 0\n            break\n    return sac, valeur_totale\n\nobjets = [\n    (\"or\",     2, 60),\n    (\"argent\", 5, 50),\n    (\"cuivre\", 10, 30),\n]\nprint(sac_a_dos(objets, 7))\n# (..., 95.0)   — on prend tout l'or (2 kg, 60) + tout l'argent (5 kg, 50)\n",[625,10005,10006,10016,10021,10026,10031,10076,10085,10094,10104,10116,10128,10133,10138,10147,10157,10163,10168,10181,10191,10204,10212,10218,10226,10231,10242,10264,10282,10301,10306,10318],{"__ignoreMap":647},[651,10007,10008,10010,10013],{"class":653,"line":654},[651,10009,828],{"class":664},[651,10011,10012],{"class":831}," sac_a_dos",[651,10014,10015],{"class":668},"(objets, capacite):\n",[651,10017,10018],{"class":653,"line":661},[651,10019,10020],{"class":840},"    \"\"\"objets : liste de tuples (nom, poids, valeur).\n",[651,10022,10023],{"class":653,"line":688},[651,10024,10025],{"class":840},"    Stratégie gloutonne sur le ratio valeur \u002F poids.\"\"\"\n",[651,10027,10028],{"class":653,"line":697},[651,10029,10030],{"class":657},"    # Trier par ratio décroissant\n",[651,10032,10033,10036,10038,10041,10044,10047,10050,10053,10055,10057,10059,10062,10064,10066,10069,10071,10074],{"class":653,"line":704},[651,10034,10035],{"class":668},"    tries ",[651,10037,1067],{"class":664},[651,10039,10040],{"class":675}," sorted",[651,10042,10043],{"class":668},"(objets, ",[651,10045,9968],{"class":10046},"sP4rz",[651,10048,10049],{"class":664},"=lambda",[651,10051,10052],{"class":668}," o: o[",[651,10054,908],{"class":675},[651,10056,5287],{"class":668},[651,10058,1239],{"class":664},[651,10060,10061],{"class":668}," o[",[651,10063,999],{"class":675},[651,10065,921],{"class":668},[651,10067,10068],{"class":10046},"reverse",[651,10070,1067],{"class":664},[651,10072,10073],{"class":675},"True",[651,10075,3856],{"class":668},[651,10077,10078,10081,10083],{"class":653,"line":710},[651,10079,10080],{"class":668},"    sac ",[651,10082,1067],{"class":664},[651,10084,9524],{"class":668},[651,10086,10087,10090,10092],{"class":653,"line":723},[651,10088,10089],{"class":668},"    valeur_totale ",[651,10091,1067],{"class":664},[651,10093,1209],{"class":675},[651,10095,10096,10099,10101],{"class":653,"line":889},[651,10097,10098],{"class":668},"    poids_restant ",[651,10100,1067],{"class":664},[651,10102,10103],{"class":668}," capacite\n",[651,10105,10106,10108,10111,10113],{"class":653,"line":932},[651,10107,846],{"class":664},[651,10109,10110],{"class":668}," nom, poids, valeur ",[651,10112,672],{"class":664},[651,10114,10115],{"class":668}," tries:\n",[651,10117,10118,10120,10123,10125],{"class":653,"line":4762},[651,10119,858],{"class":664},[651,10121,10122],{"class":668}," poids_restant ",[651,10124,5262],{"class":664},[651,10126,10127],{"class":668}," poids:\n",[651,10129,10130],{"class":653,"line":4773},[651,10131,10132],{"class":657},"            # On prend l'objet entier\n",[651,10134,10135],{"class":653,"line":4781},[651,10136,10137],{"class":668},"            sac.append((nom, poids))\n",[651,10139,10140,10143,10145],{"class":653,"line":4786},[651,10141,10142],{"class":668},"            valeur_totale ",[651,10144,1227],{"class":664},[651,10146,1113],{"class":668},[651,10148,10149,10152,10154],{"class":653,"line":4819},[651,10150,10151],{"class":668},"            poids_restant ",[651,10153,5300],{"class":664},[651,10155,10156],{"class":668}," poids\n",[651,10158,10159,10161],{"class":653,"line":5361},[651,10160,7796],{"class":664},[651,10162,7799],{"class":668},[651,10164,10165],{"class":653,"line":7903},[651,10166,10167],{"class":657},"            # On prend une fraction\n",[651,10169,10170,10173,10175,10177,10179],{"class":653,"line":8077},[651,10171,10172],{"class":668},"            fraction ",[651,10174,1067],{"class":664},[651,10176,10122],{"class":668},[651,10178,1239],{"class":664},[651,10180,10156],{"class":668},[651,10182,10183,10186,10188],{"class":653,"line":8106},[651,10184,10185],{"class":668},"            sac.append((nom, poids ",[651,10187,3954],{"class":664},[651,10189,10190],{"class":668}," fraction))\n",[651,10192,10193,10195,10197,10199,10201],{"class":653,"line":8125},[651,10194,10142],{"class":668},[651,10196,1227],{"class":664},[651,10198,715],{"class":668},[651,10200,3954],{"class":664},[651,10202,10203],{"class":668}," fraction\n",[651,10205,10206,10208,10210],{"class":653,"line":8141},[651,10207,10151],{"class":668},[651,10209,1067],{"class":664},[651,10211,1209],{"class":675},[651,10213,10215],{"class":653,"line":10214},21,[651,10216,10217],{"class":664},"            break\n",[651,10219,10221,10223],{"class":653,"line":10220},22,[651,10222,879],{"class":664},[651,10224,10225],{"class":668}," sac, valeur_totale\n",[651,10227,10229],{"class":653,"line":10228},23,[651,10230,701],{"emptyLinePlaceholder":700},[651,10232,10234,10237,10239],{"class":653,"line":10233},24,[651,10235,10236],{"class":668},"objets ",[651,10238,1067],{"class":664},[651,10240,10241],{"class":668}," [\n",[651,10243,10245,10248,10251,10254,10256,10258,10261],{"class":653,"line":10244},25,[651,10246,10247],{"class":668},"    (",[651,10249,10250],{"class":840},"\"or\"",[651,10252,10253],{"class":668},",     ",[651,10255,908],{"class":675},[651,10257,632],{"class":668},[651,10259,10260],{"class":675},"60",[651,10262,10263],{"class":668},"),\n",[651,10265,10267,10269,10272,10274,10276,10278,10280],{"class":653,"line":10266},26,[651,10268,10247],{"class":668},[651,10270,10271],{"class":840},"\"argent\"",[651,10273,632],{"class":668},[651,10275,918],{"class":675},[651,10277,632],{"class":668},[651,10279,9594],{"class":675},[651,10281,10263],{"class":668},[651,10283,10285,10287,10290,10292,10294,10296,10299],{"class":653,"line":10284},27,[651,10286,10247],{"class":668},[651,10288,10289],{"class":840},"\"cuivre\"",[651,10291,632],{"class":668},[651,10293,1273],{"class":675},[651,10295,632],{"class":668},[651,10297,10298],{"class":675},"30",[651,10300,10263],{"class":668},[651,10302,10304],{"class":653,"line":10303},28,[651,10305,1076],{"class":668},[651,10307,10309,10311,10314,10316],{"class":653,"line":10308},29,[651,10310,892],{"class":675},[651,10312,10313],{"class":668},"(sac_a_dos(objets, ",[651,10315,903],{"class":675},[651,10317,8122],{"class":668},[651,10319,10321],{"class":653,"line":10320},30,[651,10322,10323],{"class":657},"# (..., 95.0)   — on prend tout l'or (2 kg, 60) + tout l'argent (5 kg, 50)\n",[599,10325,10326,10327,10330,10331,10334],{},"Dans la version ",[603,10328,10329],{},"fractionnaire"," du sac à dos, le glouton est ",[603,10332,10333],{},"optimal",".\nDans la version où il faut prendre les objets entiers (sac à dos 0\u002F1), il ne\nl'est plus toujours — ce dernier problème est étudié plus tard avec des\ntechniques plus puissantes (programmation dynamique en Terminale).",[997,10336,10338,10343],{"correct":999,"slug":10337},"gloutons-c2",[1002,10339,10340],{"v-slot:question":647},[599,10341,10342],{},"Quelle propriété l'algorithme glouton n'a JAMAIS ?",[1002,10344,10345],{"v-slot:choices":647},[1014,10346,10347,10350,10353],{},[972,10348,10349],{},"Rapide",[972,10351,10352],{},"Toujours optimal",[972,10354,10355],{},"Simple",[594,10357,10359],{"id":10358},"quand-essayer-un-glouton","Quand essayer un glouton ?",[599,10361,10362],{},"Caractéristiques typiques d'un problème où un glouton mérite d'être testé :",[1014,10364,10365,10372,10379],{},[972,10366,10367,10368,10371],{},"une ",[603,10369,10370],{},"fonction de gain ou de coût"," clairement définie à chaque étape ;",[972,10373,10374,10375,10378],{},"des ",[603,10376,10377],{},"choix indépendants"," ou faiblement dépendants entre eux ;",[972,10380,10381],{},"un critère local « évident » (le plus gros, le plus rentable, le plus\nproche, etc.).",[599,10383,10384,10385,632,10388,10391,10392,10395],{},"Quand le glouton ne marche pas, on se tourne vers d'autres stratégies :\n",[603,10386,10387],{},"programmation dynamique",[603,10389,10390],{},"backtracking"," (retour sur trace),\n",[603,10393,10394],{},"branch-and-bound",". Ces techniques arrivent en Terminale.",[594,10397,1518],{"id":1517},[1014,10399,10400,10409,10415],{},[972,10401,10402,10405,10406,1308],{},[603,10403,10404],{},"Croire qu'un glouton est toujours optimal",". Toujours vérifier sur des\nexemples, ou démontrer la propriété de ",[603,10407,10408],{},"choix glouton",[972,10410,10411,10414],{},[603,10412,10413],{},"Oublier de trier"," au préalable : pour le sac à dos fractionnaire, c'est\nle tri qui rend le glouton optimal.",[972,10416,10417,10420,10421,10424,10425,10488],{},[603,10418,10419],{},"Confondre rapidité et optimalité"," : le glouton est ",[603,10422,10423],{},"rapide","\n(typiquement ",[651,10426,10428,10453],{"className":10427},[755],[651,10429,10431],{"className":10430},[759],[761,10432,10433],{"xmlns":763},[765,10434,10435,10451],{},[768,10436,10437,10439,10441,10443,10445,10447,10449],{},[771,10438,1475],{"mathvariant":1474},[1477,10440,679],{"stretchy":1479},[771,10442,773],{},[771,10444,3067],{},[1477,10446,3070],{},[771,10448,773],{},[1477,10450,1484],{"stretchy":1479},[775,10452,7354],{"encoding":777},[651,10454,10456],{"className":10455,"ariaHidden":782},[781],[651,10457,10459,10462,10465,10468,10471,10474,10479,10482,10485],{"className":10458},[786],[651,10460],{"className":10461,"style":1497},[790],[651,10463,1475],{"className":10464,"style":1502},[795,1501],[651,10466,679],{"className":10467},[1506],[651,10469,773],{"className":10470},[795,796],[651,10472],{"className":10473,"style":3105},[2370],[651,10475,3097,10477],{"className":10476},[3096],[651,10478,3101],{"style":3100},[651,10480],{"className":10481,"style":3105},[2370],[651,10483,773],{"className":10484},[795,796],[651,10486,1484],{"className":10487},[1513]," avec un tri préalable), mais\nrapidité ≠ qualité de la solution.",[594,10490,1559],{"id":1558},[599,10492,10493,10494,10497,10498,10501,10502,10504,10505,10508],{},"Le rendu de monnaie sur ",[603,10495,10496],{},"n'importe quel"," système de pièces, en cherchant\n",[603,10499,10500],{},"vraiment"," l'optimal, exige une stratégie plus puissante : la\n",[603,10503,10387],{},". C'est l'un des grands sujets du programme de\nTerminale. Pour l'instant, retenez le glouton comme un ",[603,10506,10507],{},"premier réflexe"," —\nsouvent bon, parfois pas, à vérifier au cas par cas.",[1572,10510,10511],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sP4rz, html code.shiki .sP4rz{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":647,"searchDepth":661,"depth":661,"links":10513},[10514,10515,10516,10517,10518,10519,10520,10521],{"id":596,"depth":661,"text":597},{"id":616,"depth":661,"text":617},{"id":9437,"depth":661,"text":9438},{"id":9840,"depth":661,"text":9841},{"id":9909,"depth":661,"text":9910},{"id":10358,"depth":661,"text":10359},{"id":1517,"depth":661,"text":1518},{"id":1558,"depth":661,"text":1559},"Construire une solution pas à pas par des choix locaux qui semblent les meilleurs sur le moment — exemple du rendu de monnaie et du sac à dos.",{},[10525,10527],{"slug":9890,"kind":1592,"question":9895,"choices":10526,"correct":999,"multi":1595,"explanation":647},[9865,9855,9906],{"slug":10337,"kind":1592,"question":10342,"choices":10528,"correct":999,"multi":1595,"explanation":647},[10349,10352,10355],{"title":433,"description":10522},"EOwWJywoTAUAMadshc0GfUXD2IRe4QmyuLAemR29eG8",{"id":10532,"title":437,"bo":10533,"body":10535,"description":13851,"eval":1587,"extension":1588,"labo":1587,"meta":13852,"navigation":700,"path":438,"quizzes":13853,"readingTime":654,"seo":13858,"stem":439,"tp":1587,"__hash__":13859},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F6.knn.md",[10534],"PH01",{"type":591,"value":10536,"toc":13839},[10537,10539,10566,10568,10570,10583,10588,10674,10710,10714,10724,10789,10910,11237,11681,11684,11797,12203,12207,12258,12622,12956,12988,13020,13154,13306,13327,13331,13349,13377,13381,13388,13608,13675,13693,13695,13827,13829,13836],[594,10538,597],{"id":596},[599,10540,10541,10542,10545,10546,10549,10550,10553,10554,10557,10558,10561,10562,10565],{},"Les cours précédents portaient sur des algorithmes ",[603,10543,10544],{},"déterministes"," (qui\nproduisent toujours la même sortie pour une même entrée) : on sait\nexactement ce qu'ils calculent, et on peut prouver leur correction.\nCe dernier cours change de registre — il introduit un ",[603,10547,10548],{},"algorithme\nd'apprentissage",", le ",[603,10551,10552],{},"k plus proches voisins"," (ou ",[9382,10555,10556],{},"k-Nearest Neighbors",",\nk-NN). On lui fournit des exemples déjà étiquetés, et il classe un nouvel\nexemple ",[603,10559,10560],{},"par ressemblance"," aux exemples connus. C'est un avant-goût de\nl'",[603,10563,10564],{},"apprentissage automatique"," que vous approfondirez en Terminale et au-delà.",[612,10567],{"code":10534},[594,10569,617],{"id":616},[599,10571,10572,10574,10575,10578,10579,10582],{},[603,10573,9443],{}," : on vous donne un ensemble de points dans un plan, chacun\nétiqueté avec une ",[603,10576,10577],{},"classe"," (par exemple « chat » ou « chien », ou\n« iris setosa » \u002F « iris versicolor »). On vous présente un ",[603,10580,10581],{},"nouveau point","\nsans étiquette. Quelle classe lui attribuer ?",[599,10584,10585,3528],{},[603,10586,10587],{},"Idée du k-NN",[969,10589,10590,10601,10635,10671],{},[972,10591,10592,10593,10596,10597,10600],{},"Calculer la ",[603,10594,10595],{},"distance"," entre le nouveau point et ",[603,10598,10599],{},"chaque"," point\nétiqueté.",[972,10602,10603,10604,1308],{},"Sélectionner les ",[603,10605,10606,10634],{},[651,10607,10609,10622],{"className":10608},[755],[651,10610,10612],{"className":10611},[759],[761,10613,10614],{"xmlns":763},[765,10615,10616,10620],{},[768,10617,10618],{},[771,10619,1796],{},[775,10621,1796],{"encoding":777},[651,10623,10625],{"className":10624,"ariaHidden":782},[781],[651,10626,10628,10631],{"className":10627},[786],[651,10629],{"className":10630,"style":1808},[790],[651,10632,1796],{"className":10633,"style":1812},[795,796]," plus proches",[972,10636,10637,10638,10641,10642,10670],{},"Regarder leur ",[603,10639,10640],{},"classe majoritaire"," parmi ces ",[651,10643,10645,10658],{"className":10644},[755],[651,10646,10648],{"className":10647},[759],[761,10649,10650],{"xmlns":763},[765,10651,10652,10656],{},[768,10653,10654],{},[771,10655,1796],{},[775,10657,1796],{"encoding":777},[651,10659,10661],{"className":10660,"ariaHidden":782},[781],[651,10662,10664,10667],{"className":10663},[786],[651,10665],{"className":10666,"style":1808},[790],[651,10668,1796],{"className":10669,"style":1812},[795,796]," voisins.",[972,10672,10673],{},"Attribuer cette classe au nouveau point.",[1355,10675,10676],{},[599,10677,10678,10680,10681,10709],{},[603,10679,4849],{}," : si vos ",[651,10682,10684,10697],{"className":10683},[755],[651,10685,10687],{"className":10686},[759],[761,10688,10689],{"xmlns":763},[765,10690,10691,10695],{},[768,10692,10693],{},[771,10694,1796],{},[775,10696,1796],{"encoding":777},[651,10698,10700],{"className":10699,"ariaHidden":782},[781],[651,10701,10703,10706],{"className":10702},[786],[651,10704],{"className":10705,"style":1808},[790],[651,10707,1796],{"className":10708,"style":1812},[795,796]," voisins de palier sont tous fans d'opéra, il est\nprobable que vous le soyez aussi. Le k-NN parie sur cette « contagion\nlocale » des étiquettes.",[594,10711,10713],{"id":10712},"la-distance-euclidienne","La distance euclidienne",[599,10715,10716,10717,10719,10720,10723],{},"Pour mesurer à quel point deux points sont proches, on utilise une\n",[603,10718,10595],{},". La plus classique est la ",[603,10721,10722],{},"distance euclidienne"," — celle de\nla règle, en ligne droite.",[599,10725,10726,10729,10730,1285,10759,10788],{},[603,10727,10728],{},"En 1D",", c'est tout simplement l'écart entre deux nombres : pour deux\npoints ",[651,10731,10733,10747],{"className":10732},[755],[651,10734,10736],{"className":10735},[759],[761,10737,10738],{"xmlns":763},[765,10739,10740,10745],{},[768,10741,10742],{},[771,10743,10744],{},"a",[775,10746,10744],{"encoding":777},[651,10748,10750],{"className":10749,"ariaHidden":782},[781],[651,10751,10753,10756],{"className":10752},[786],[651,10754],{"className":10755,"style":791},[790],[651,10757,10744],{"className":10758},[795,796],[651,10760,10762,10776],{"className":10761},[755],[651,10763,10765],{"className":10764},[759],[761,10766,10767],{"xmlns":763},[765,10768,10769,10774],{},[768,10770,10771],{},[771,10772,10773],{},"b",[775,10775,10773],{"encoding":777},[651,10777,10779],{"className":10778,"ariaHidden":782},[781],[651,10780,10782,10785],{"className":10781},[786],[651,10783],{"className":10784,"style":1808},[790],[651,10786,10773],{"className":10787},[795,796]," sur une droite,",[651,10790,10792],{"className":10791},[3532],[651,10793,10795,10836],{"className":10794},[755],[651,10796,10798],{"className":10797},[759],[761,10799,10800],{"xmlns":763,"display":3541},[765,10801,10802,10833],{},[768,10803,10804,10807,10809,10811,10814,10816,10818,10820,10823,10825,10827,10829,10831],{},[771,10805,10806],{},"d",[1477,10808,679],{"stretchy":1479},[771,10810,10744],{},[1477,10812,10813],{"separator":782},",",[771,10815,10773],{},[1477,10817,1484],{"stretchy":1479},[1477,10819,1067],{},[771,10821,10822],{"mathvariant":2348},"∣",[771,10824,10744],{},[1477,10826,2715],{},[771,10828,10773],{},[771,10830,10822],{"mathvariant":2348},[771,10832,1308],{"mathvariant":2348},[775,10834,10835],{"encoding":777},"d(a, b) = |a - b|.",[651,10837,10839,10876,10897],{"className":10838,"ariaHidden":782},[781],[651,10840,10842,10845,10848,10851,10854,10858,10861,10864,10867,10870,10873],{"className":10841},[786],[651,10843],{"className":10844,"style":1497},[790],[651,10846,10806],{"className":10847},[795,796],[651,10849,679],{"className":10850},[1506],[651,10852,10744],{"className":10853},[795,796],[651,10855,10813],{"className":10856},[10857],"mpunct",[651,10859],{"className":10860,"style":3105},[2370],[651,10862,10773],{"className":10863},[795,796],[651,10865,1484],{"className":10866},[1513],[651,10868],{"className":10869,"style":3634},[2370],[651,10871,1067],{"className":10872},[3641],[651,10874],{"className":10875,"style":3634},[2370],[651,10877,10879,10882,10885,10888,10891,10894],{"className":10878},[786],[651,10880],{"className":10881,"style":1497},[790],[651,10883,10822],{"className":10884},[795],[651,10886,10744],{"className":10887},[795,796],[651,10889],{"className":10890,"style":2371},[2370],[651,10892,2715],{"className":10893},[2375],[651,10895],{"className":10896,"style":2371},[2370],[651,10898,10900,10903,10906],{"className":10899},[786],[651,10901],{"className":10902,"style":1497},[790],[651,10904,10773],{"className":10905},[795,796],[651,10907,10909],{"className":10908},[795],"∣.",[599,10911,10912,10915,10916,1285,11079,3528],{},[603,10913,10914],{},"En 2D",", on applique le théorème de Pythagore au triangle rectangle formé\npar les deux points. Pour deux points ",[651,10917,10919,10956],{"className":10918},[755],[651,10920,10922],{"className":10921},[759],[761,10923,10924],{"xmlns":763},[765,10925,10926,10953],{},[768,10927,10928,10931,10933,10935,10942,10944,10951],{},[771,10929,10930],{},"A",[1477,10932,1067],{},[1477,10934,679],{"stretchy":1479},[3220,10936,10937,10940],{},[771,10938,10939],{},"x",[771,10941,10930],{},[1477,10943,10813],{"separator":782},[3220,10945,10946,10949],{},[771,10947,10948],{},"y",[771,10950,10930],{},[1477,10952,1484],{"stretchy":1479},[775,10954,10955],{"encoding":777},"A = (x_A, y_A)",[651,10957,10959,10977],{"className":10958,"ariaHidden":782},[781],[651,10960,10962,10965,10968,10971,10974],{"className":10961},[786],[651,10963],{"className":10964,"style":4173},[790],[651,10966,10930],{"className":10967},[795,796],[651,10969],{"className":10970,"style":3634},[2370],[651,10972,1067],{"className":10973},[3641],[651,10975],{"className":10976,"style":3634},[2370],[651,10978,10980,10983,10986,11029,11032,11035,11076],{"className":10979},[786],[651,10981],{"className":10982,"style":1497},[790],[651,10984,679],{"className":10985},[1506],[651,10987,10989,10992],{"className":10988},[795],[651,10990,10939],{"className":10991},[795,796],[651,10993,10995],{"className":10994},[2129],[651,10996,10998,11020],{"className":10997},[2133,3259],[651,10999,11001,11017],{"className":11000},[2137],[651,11002,11005],{"className":11003,"style":11004},[2141],"height:0.3283em;",[651,11006,11008,11011],{"style":11007},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[651,11009],{"className":11010,"style":2150},[2149],[651,11012,11014],{"className":11013},[2154,2155,2156,2157],[651,11015,10930],{"className":11016},[795,796,2157],[651,11018,3283],{"className":11019},[3282],[651,11021,11023],{"className":11022},[2137],[651,11024,11027],{"className":11025,"style":11026},[2141],"height:0.15em;",[651,11028],{},[651,11030,10813],{"className":11031},[10857],[651,11033],{"className":11034,"style":3105},[2370],[651,11036,11038,11041],{"className":11037},[795],[651,11039,10948],{"className":11040,"style":8210},[795,796],[651,11042,11044],{"className":11043},[2129],[651,11045,11047,11068],{"className":11046},[2133,3259],[651,11048,11050,11065],{"className":11049},[2137],[651,11051,11053],{"className":11052,"style":11004},[2141],[651,11054,11056,11059],{"style":11055},"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;",[651,11057],{"className":11058,"style":2150},[2149],[651,11060,11062],{"className":11061},[2154,2155,2156,2157],[651,11063,10930],{"className":11064},[795,796,2157],[651,11066,3283],{"className":11067},[3282],[651,11069,11071],{"className":11070},[2137],[651,11072,11074],{"className":11073,"style":11026},[2141],[651,11075],{},[651,11077,1484],{"className":11078},[1513],[651,11080,11082,11117],{"className":11081},[755],[651,11083,11085],{"className":11084},[759],[761,11086,11087],{"xmlns":763},[765,11088,11089,11114],{},[768,11090,11091,11094,11096,11098,11104,11106,11112],{},[771,11092,11093],{},"B",[1477,11095,1067],{},[1477,11097,679],{"stretchy":1479},[3220,11099,11100,11102],{},[771,11101,10939],{},[771,11103,11093],{},[1477,11105,10813],{"separator":782},[3220,11107,11108,11110],{},[771,11109,10948],{},[771,11111,11093],{},[1477,11113,1484],{"stretchy":1479},[775,11115,11116],{"encoding":777},"B = (x_B, y_B)",[651,11118,11120,11139],{"className":11119,"ariaHidden":782},[781],[651,11121,11123,11126,11130,11133,11136],{"className":11122},[786],[651,11124],{"className":11125,"style":4173},[790],[651,11127,11093],{"className":11128,"style":11129},[795,796],"margin-right:0.0502em;",[651,11131],{"className":11132,"style":3634},[2370],[651,11134,1067],{"className":11135},[3641],[651,11137],{"className":11138,"style":3634},[2370],[651,11140,11142,11145,11148,11188,11191,11194,11234],{"className":11141},[786],[651,11143],{"className":11144,"style":1497},[790],[651,11146,679],{"className":11147},[1506],[651,11149,11151,11154],{"className":11150},[795],[651,11152,10939],{"className":11153},[795,796],[651,11155,11157],{"className":11156},[2129],[651,11158,11160,11180],{"className":11159},[2133,3259],[651,11161,11163,11177],{"className":11162},[2137],[651,11164,11166],{"className":11165,"style":11004},[2141],[651,11167,11168,11171],{"style":11007},[651,11169],{"className":11170,"style":2150},[2149],[651,11172,11174],{"className":11173},[2154,2155,2156,2157],[651,11175,11093],{"className":11176,"style":11129},[795,796,2157],[651,11178,3283],{"className":11179},[3282],[651,11181,11183],{"className":11182},[2137],[651,11184,11186],{"className":11185,"style":11026},[2141],[651,11187],{},[651,11189,10813],{"className":11190},[10857],[651,11192],{"className":11193,"style":3105},[2370],[651,11195,11197,11200],{"className":11196},[795],[651,11198,10948],{"className":11199,"style":8210},[795,796],[651,11201,11203],{"className":11202},[2129],[651,11204,11206,11226],{"className":11205},[2133,3259],[651,11207,11209,11223],{"className":11208},[2137],[651,11210,11212],{"className":11211,"style":11004},[2141],[651,11213,11214,11217],{"style":11055},[651,11215],{"className":11216,"style":2150},[2149],[651,11218,11220],{"className":11219},[2154,2155,2156,2157],[651,11221,11093],{"className":11222,"style":11129},[795,796,2157],[651,11224,3283],{"className":11225},[3282],[651,11227,11229],{"className":11228},[2137],[651,11230,11232],{"className":11231,"style":11026},[2141],[651,11233],{},[651,11235,1484],{"className":11236},[1513],[651,11238,11240],{"className":11239},[3532],[651,11241,11243,11320],{"className":11242},[755],[651,11244,11246],{"className":11245},[759],[761,11247,11248],{"xmlns":763,"display":3541},[765,11249,11250,11317],{},[768,11251,11252,11254,11256,11258,11260,11262,11264,11266],{},[771,11253,10806],{},[1477,11255,679],{"stretchy":1479},[771,11257,10930],{},[1477,11259,10813],{"separator":782},[771,11261,11093],{},[1477,11263,1484],{"stretchy":1479},[1477,11265,1067],{},[11267,11268,11269],"msqrt",{},[768,11270,11271,11273,11279,11281,11287,11293,11295,11297,11303,11305,11311],{},[1477,11272,679],{"stretchy":1479},[3220,11274,11275,11277],{},[771,11276,10939],{},[771,11278,10930],{},[1477,11280,2715],{},[3220,11282,11283,11285],{},[771,11284,10939],{},[771,11286,11093],{},[2093,11288,11289,11291],{},[1477,11290,1484],{"stretchy":1479},[1869,11292,908],{},[1477,11294,2291],{},[1477,11296,679],{"stretchy":1479},[3220,11298,11299,11301],{},[771,11300,10948],{},[771,11302,10930],{},[1477,11304,2715],{},[3220,11306,11307,11309],{},[771,11308,10948],{},[771,11310,11093],{},[2093,11312,11313,11315],{},[1477,11314,1484],{"stretchy":1479},[1869,11316,908],{},[775,11318,11319],{"encoding":777},"d(A, B) = \\sqrt{(x_A - x_B)^2 + (y_A - y_B)^2}",[651,11321,11323,11359],{"className":11322,"ariaHidden":782},[781],[651,11324,11326,11329,11332,11335,11338,11341,11344,11347,11350,11353,11356],{"className":11325},[786],[651,11327],{"className":11328,"style":1497},[790],[651,11330,10806],{"className":11331},[795,796],[651,11333,679],{"className":11334},[1506],[651,11336,10930],{"className":11337},[795,796],[651,11339,10813],{"className":11340},[10857],[651,11342],{"className":11343,"style":3105},[2370],[651,11345,11093],{"className":11346,"style":11129},[795,796],[651,11348,1484],{"className":11349},[1513],[651,11351],{"className":11352,"style":3634},[2370],[651,11354,1067],{"className":11355},[3641],[651,11357],{"className":11358,"style":3634},[2370],[651,11360,11362,11366],{"className":11361},[786],[651,11363],{"className":11364,"style":11365},[790],"height:1.24em;vertical-align:-0.2561em;",[651,11367,11370],{"className":11368},[795,11369],"sqrt",[651,11371,11373,11672],{"className":11372},[2133,3259],[651,11374,11376,11669],{"className":11375},[2137],[651,11377,11380,11646],{"className":11378,"style":11379},[2141],"height:0.9839em;",[651,11381,11385,11389],{"className":11382,"style":11384},[11383],"svg-align","top:-3.2em;",[651,11386],{"className":11387,"style":11388},[2149],"height:3.2em;",[651,11390,11393,11396,11436,11439,11442,11445,11485,11516,11519,11522,11525,11528,11568,11571,11574,11577,11617],{"className":11391,"style":11392},[795],"padding-left:1em;",[651,11394,679],{"className":11395},[1506],[651,11397,11399,11402],{"className":11398},[795],[651,11400,10939],{"className":11401},[795,796],[651,11403,11405],{"className":11404},[2129],[651,11406,11408,11428],{"className":11407},[2133,3259],[651,11409,11411,11425],{"className":11410},[2137],[651,11412,11414],{"className":11413,"style":11004},[2141],[651,11415,11416,11419],{"style":11007},[651,11417],{"className":11418,"style":2150},[2149],[651,11420,11422],{"className":11421},[2154,2155,2156,2157],[651,11423,10930],{"className":11424},[795,796,2157],[651,11426,3283],{"className":11427},[3282],[651,11429,11431],{"className":11430},[2137],[651,11432,11434],{"className":11433,"style":11026},[2141],[651,11435],{},[651,11437],{"className":11438,"style":2371},[2370],[651,11440,2715],{"className":11441},[2375],[651,11443],{"className":11444,"style":2371},[2370],[651,11446,11448,11451],{"className":11447},[795],[651,11449,10939],{"className":11450},[795,796],[651,11452,11454],{"className":11453},[2129],[651,11455,11457,11477],{"className":11456},[2133,3259],[651,11458,11460,11474],{"className":11459},[2137],[651,11461,11463],{"className":11462,"style":11004},[2141],[651,11464,11465,11468],{"style":11007},[651,11466],{"className":11467,"style":2150},[2149],[651,11469,11471],{"className":11470},[2154,2155,2156,2157],[651,11472,11093],{"className":11473,"style":11129},[795,796,2157],[651,11475,3283],{"className":11476},[3282],[651,11478,11480],{"className":11479},[2137],[651,11481,11483],{"className":11482,"style":11026},[2141],[651,11484],{},[651,11486,11488,11491],{"className":11487},[1513],[651,11489,1484],{"className":11490},[1513],[651,11492,11494],{"className":11493},[2129],[651,11495,11497],{"className":11496},[2133],[651,11498,11500],{"className":11499},[2137],[651,11501,11504],{"className":11502,"style":11503},[2141],"height:0.7401em;",[651,11505,11507,11510],{"style":11506},"top:-2.989em;margin-right:0.05em;",[651,11508],{"className":11509,"style":2150},[2149],[651,11511,11513],{"className":11512},[2154,2155,2156,2157],[651,11514,908],{"className":11515},[795,2157],[651,11517],{"className":11518,"style":2371},[2370],[651,11520,2291],{"className":11521},[2375],[651,11523],{"className":11524,"style":2371},[2370],[651,11526,679],{"className":11527},[1506],[651,11529,11531,11534],{"className":11530},[795],[651,11532,10948],{"className":11533,"style":8210},[795,796],[651,11535,11537],{"className":11536},[2129],[651,11538,11540,11560],{"className":11539},[2133,3259],[651,11541,11543,11557],{"className":11542},[2137],[651,11544,11546],{"className":11545,"style":11004},[2141],[651,11547,11548,11551],{"style":11055},[651,11549],{"className":11550,"style":2150},[2149],[651,11552,11554],{"className":11553},[2154,2155,2156,2157],[651,11555,10930],{"className":11556},[795,796,2157],[651,11558,3283],{"className":11559},[3282],[651,11561,11563],{"className":11562},[2137],[651,11564,11566],{"className":11565,"style":11026},[2141],[651,11567],{},[651,11569],{"className":11570,"style":2371},[2370],[651,11572,2715],{"className":11573},[2375],[651,11575],{"className":11576,"style":2371},[2370],[651,11578,11580,11583],{"className":11579},[795],[651,11581,10948],{"className":11582,"style":8210},[795,796],[651,11584,11586],{"className":11585},[2129],[651,11587,11589,11609],{"className":11588},[2133,3259],[651,11590,11592,11606],{"className":11591},[2137],[651,11593,11595],{"className":11594,"style":11004},[2141],[651,11596,11597,11600],{"style":11055},[651,11598],{"className":11599,"style":2150},[2149],[651,11601,11603],{"className":11602},[2154,2155,2156,2157],[651,11604,11093],{"className":11605,"style":11129},[795,796,2157],[651,11607,3283],{"className":11608},[3282],[651,11610,11612],{"className":11611},[2137],[651,11613,11615],{"className":11614,"style":11026},[2141],[651,11616],{},[651,11618,11620,11623],{"className":11619},[1513],[651,11621,1484],{"className":11622},[1513],[651,11624,11626],{"className":11625},[2129],[651,11627,11629],{"className":11628},[2133],[651,11630,11632],{"className":11631},[2137],[651,11633,11635],{"className":11634,"style":11503},[2141],[651,11636,11637,11640],{"style":11506},[651,11638],{"className":11639,"style":2150},[2149],[651,11641,11643],{"className":11642},[2154,2155,2156,2157],[651,11644,908],{"className":11645},[795,2157],[651,11647,11649,11652],{"style":11648},"top:-2.9439em;",[651,11650],{"className":11651,"style":11388},[2149],[651,11653,11657],{"className":11654,"style":11656},[11655],"hide-tail","min-width:1.02em;height:1.28em;",[11658,11659,11665],"svg",{"xmlns":11660,"width":11661,"height":11662,"viewBox":11663,"preserveAspectRatio":11664},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","400em","1.28em","0 0 400000 1296","xMinYMin slice",[11666,11667],"path",{"d":11668},"M263,681c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl0 -0\nc4.7,-7.3,11,-11,19,-11\nH40000v40H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM1001 80h400000v40h-400000z",[651,11670,3283],{"className":11671},[3282],[651,11673,11675],{"className":11674},[2137],[651,11676,11679],{"className":11677,"style":11678},[2141],"height:0.2561em;",[651,11680],{},[599,11682,11683],{},"En Python :",[642,11685,11687],{"className":644,"code":11686,"language":646,"meta":647,"style":647},"import math\n\ndef distance(a, b):\n    \"\"\"Distance euclidienne entre deux points 2D.\"\"\"\n    return math.sqrt((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2)\n\nprint(distance((0, 0), (3, 4)))   # 5.0\n",[625,11688,11689,11695,11699,11709,11714,11765,11769],{"__ignoreMap":647},[651,11690,11691,11693],{"class":653,"line":654},[651,11692,3791],{"class":664},[651,11694,3794],{"class":668},[651,11696,11697],{"class":653,"line":661},[651,11698,701],{"emptyLinePlaceholder":700},[651,11700,11701,11703,11706],{"class":653,"line":688},[651,11702,828],{"class":664},[651,11704,11705],{"class":831}," distance",[651,11707,11708],{"class":668},"(a, b):\n",[651,11710,11711],{"class":653,"line":697},[651,11712,11713],{"class":840},"    \"\"\"Distance euclidienne entre deux points 2D.\"\"\"\n",[651,11715,11716,11718,11721,11723,11725,11727,11730,11732,11735,11738,11741,11744,11747,11749,11751,11753,11755,11757,11759,11761,11763],{"class":653,"line":704},[651,11717,879],{"class":664},[651,11719,11720],{"class":668}," math.sqrt((a[",[651,11722,1073],{"class":675},[651,11724,5287],{"class":668},[651,11726,5244],{"class":664},[651,11728,11729],{"class":668}," b[",[651,11731,1073],{"class":675},[651,11733,11734],{"class":668},"]) ",[651,11736,11737],{"class":664},"**",[651,11739,11740],{"class":675}," 2",[651,11742,11743],{"class":664}," +",[651,11745,11746],{"class":668}," (a[",[651,11748,999],{"class":675},[651,11750,5287],{"class":668},[651,11752,5244],{"class":664},[651,11754,11729],{"class":668},[651,11756,999],{"class":675},[651,11758,11734],{"class":668},[651,11760,11737],{"class":664},[651,11762,11740],{"class":675},[651,11764,3856],{"class":668},[651,11766,11767],{"class":653,"line":710},[651,11768,701],{"emptyLinePlaceholder":700},[651,11770,11771,11773,11776,11778,11780,11782,11785,11787,11789,11791,11794],{"class":653,"line":723},[651,11772,892],{"class":675},[651,11774,11775],{"class":668},"(distance((",[651,11777,1073],{"class":675},[651,11779,632],{"class":668},[651,11781,1073],{"class":675},[651,11783,11784],{"class":668},"), (",[651,11786,898],{"class":675},[651,11788,632],{"class":668},[651,11790,959],{"class":675},[651,11792,11793],{"class":668},")))   ",[651,11795,11796],{"class":657},"# 5.0\n",[741,11798,11799,11802],{},[599,11800,11801],{},"La distance euclidienne se généralise à un nombre quelconque de dimensions :",[651,11803,11805],{"className":11804},[3532],[651,11806,11808,11881],{"className":11807},[755],[651,11809,11811],{"className":11810},[759],[761,11812,11813],{"xmlns":763,"display":3541},[765,11814,11815,11878],{},[768,11816,11817,11819,11821,11823,11825,11827,11829,11831],{},[771,11818,10806],{},[1477,11820,679],{"stretchy":1479},[771,11822,10930],{},[1477,11824,10813],{"separator":782},[771,11826,11093],{},[1477,11828,1484],{"stretchy":1479},[1477,11830,1067],{},[11267,11832,11833],{},[768,11834,11835,11851,11853,11862,11864,11872],{},[11836,11837,11838,11841,11849],"munderover",{},[1477,11839,11840],{},"∑",[768,11842,11843,11845,11847],{},[771,11844,4617],{},[1477,11846,1067],{},[1869,11848,999],{},[771,11850,773],{},[1477,11852,679],{"stretchy":1479},[11854,11855,11856,11858,11860],"msubsup",{},[771,11857,10939],{},[771,11859,4617],{},[771,11861,10930],{},[1477,11863,2715],{},[11854,11865,11866,11868,11870],{},[771,11867,10939],{},[771,11869,4617],{},[771,11871,11093],{},[2093,11873,11874,11876],{},[1477,11875,1484],{"stretchy":1479},[1869,11877,908],{},[775,11879,11880],{"encoding":777},"d(A, B) = \\sqrt{\\sum_{i=1}^{n}(x_i^A - x_i^B)^2}",[651,11882,11884,11920],{"className":11883,"ariaHidden":782},[781],[651,11885,11887,11890,11893,11896,11899,11902,11905,11908,11911,11914,11917],{"className":11886},[786],[651,11888],{"className":11889,"style":1497},[790],[651,11891,10806],{"className":11892},[795,796],[651,11894,679],{"className":11895},[1506],[651,11897,10930],{"className":11898},[795,796],[651,11900,10813],{"className":11901},[10857],[651,11903],{"className":11904,"style":3105},[2370],[651,11906,11093],{"className":11907,"style":11129},[795,796],[651,11909,1484],{"className":11910},[1513],[651,11912],{"className":11913,"style":3634},[2370],[651,11915,1067],{"className":11916},[3641],[651,11918],{"className":11919,"style":3634},[2370],[651,11921,11923,11927],{"className":11922},[786],[651,11924],{"className":11925,"style":11926},[790],"height:3.1568em;vertical-align:-1.2777em;",[651,11928,11930],{"className":11929},[795,11369],[651,11931,11933,12195],{"className":11932},[2133,3259],[651,11934,11936,12192],{"className":11935},[2137],[651,11937,11940,12175],{"className":11938,"style":11939},[2141],"height:1.8791em;",[651,11941,11944,11948],{"className":11942,"style":11943},[11383],"top:-5.1168em;",[651,11945],{"className":11946,"style":11947},[2149],"height:5.1168em;",[651,11949,11952,12028,12031,12086,12089,12092,12095,12146],{"className":11950,"style":11951},[795],"padding-left:1.056em;",[651,11953,11956],{"className":11954},[3096,11955],"op-limits",[651,11957,11959,12019],{"className":11958},[2133,3259],[651,11960,11962,12016],{"className":11961},[2137],[651,11963,11966,11988,12001],{"className":11964,"style":11965},[2141],"height:1.6514em;",[651,11967,11969,11973],{"style":11968},"top:-1.8723em;margin-left:0em;",[651,11970],{"className":11971,"style":11972},[2149],"height:3.05em;",[651,11974,11976],{"className":11975},[2154,2155,2156,2157],[651,11977,11979,11982,11985],{"className":11978},[795,2157],[651,11980,4617],{"className":11981},[795,796,2157],[651,11983,1067],{"className":11984},[3641,2157],[651,11986,999],{"className":11987},[795,2157],[651,11989,11991,11994],{"style":11990},"top:-3.05em;",[651,11992],{"className":11993,"style":11972},[2149],[651,11995,11996],{},[651,11997,11840],{"className":11998},[3096,11999,12000],"op-symbol","large-op",[651,12002,12004,12007],{"style":12003},"top:-4.3em;margin-left:0em;",[651,12005],{"className":12006,"style":11972},[2149],[651,12008,12010],{"className":12009},[2154,2155,2156,2157],[651,12011,12013],{"className":12012},[795,2157],[651,12014,773],{"className":12015},[795,796,2157],[651,12017,3283],{"className":12018},[3282],[651,12020,12022],{"className":12021},[2137],[651,12023,12026],{"className":12024,"style":12025},[2141],"height:1.2777em;",[651,12027],{},[651,12029,679],{"className":12030},[1506],[651,12032,12034,12037],{"className":12033},[795],[651,12035,10939],{"className":12036},[795,796],[651,12038,12040],{"className":12039},[2129],[651,12041,12043,12077],{"className":12042},[2133,3259],[651,12044,12046,12074],{"className":12045},[2137],[651,12047,12050,12062],{"className":12048,"style":12049},[2141],"height:0.8231em;",[651,12051,12053,12056],{"style":12052},"top:-2.4231em;margin-left:0em;margin-right:0.05em;",[651,12054],{"className":12055,"style":2150},[2149],[651,12057,12059],{"className":12058},[2154,2155,2156,2157],[651,12060,4617],{"className":12061},[795,796,2157],[651,12063,12065,12068],{"style":12064},"top:-3.0448em;margin-right:0.05em;",[651,12066],{"className":12067,"style":2150},[2149],[651,12069,12071],{"className":12070},[2154,2155,2156,2157],[651,12072,10930],{"className":12073},[795,796,2157],[651,12075,3283],{"className":12076},[3282],[651,12078,12080],{"className":12079},[2137],[651,12081,12084],{"className":12082,"style":12083},[2141],"height:0.2769em;",[651,12085],{},[651,12087],{"className":12088,"style":2371},[2370],[651,12090,2715],{"className":12091},[2375],[651,12093],{"className":12094,"style":2371},[2370],[651,12096,12098,12101],{"className":12097},[795],[651,12099,10939],{"className":12100},[795,796],[651,12102,12104],{"className":12103},[2129],[651,12105,12107,12138],{"className":12106},[2133,3259],[651,12108,12110,12135],{"className":12109},[2137],[651,12111,12113,12124],{"className":12112,"style":12049},[2141],[651,12114,12115,12118],{"style":12052},[651,12116],{"className":12117,"style":2150},[2149],[651,12119,12121],{"className":12120},[2154,2155,2156,2157],[651,12122,4617],{"className":12123},[795,796,2157],[651,12125,12126,12129],{"style":12064},[651,12127],{"className":12128,"style":2150},[2149],[651,12130,12132],{"className":12131},[2154,2155,2156,2157],[651,12133,11093],{"className":12134,"style":11129},[795,796,2157],[651,12136,3283],{"className":12137},[3282],[651,12139,12141],{"className":12140},[2137],[651,12142,12144],{"className":12143,"style":12083},[2141],[651,12145],{},[651,12147,12149,12152],{"className":12148},[1513],[651,12150,1484],{"className":12151},[1513],[651,12153,12155],{"className":12154},[2129],[651,12156,12158],{"className":12157},[2133],[651,12159,12161],{"className":12160},[2137],[651,12162,12164],{"className":12163,"style":11503},[2141],[651,12165,12166,12169],{"style":11506},[651,12167],{"className":12168,"style":2150},[2149],[651,12170,12172],{"className":12171},[2154,2155,2156,2157],[651,12173,908],{"className":12174},[795,2157],[651,12176,12178,12181],{"style":12177},"top:-3.8391em;",[651,12179],{"className":12180,"style":11947},[2149],[651,12182,12185],{"className":12183,"style":12184},[11655],"min-width:0.742em;height:3.1968em;",[11658,12186,12189],{"xmlns":11660,"width":11661,"height":12187,"viewBox":12188,"preserveAspectRatio":11664},"3.1968em","0 0 400000 3196",[11666,12190],{"d":12191},"M702 80H40000040\nH742v3062l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v40H742z",[651,12193,3283],{"className":12194},[3282],[651,12196,12198],{"className":12197},[2137],[651,12199,12201],{"className":12200,"style":12025},[2141],[651,12202],{},[594,12204,12206],{"id":12205},"lalgorithme-k-nn-complet","L'algorithme k-NN complet",[741,12208,12209,12222,12251],{},[599,12210,12211,12214,12215,12218,12219,12221],{},[603,12212,12213],{},"Boîte à outils Python."," Le code ci-dessous s'appuie sur quelques briques\nvues en ",[603,12216,12217],{},"PC"," (list-comprehension) et ",[603,12220,9999],{}," (lambda, opérateurs sur\nitérables) :",[1014,12223,12224,12234,12242],{},[972,12225,12226,12229,12230,12233],{},[625,12227,12228],{},"zip(a, b)"," parcourt ",[603,12231,12232],{},"en parallèle"," deux listes (utile pour comparer\ncomposante par composante les coordonnées de deux points).",[972,12235,12236,12239,12240,1308],{},[625,12237,12238],{},"Counter(voisins).most_common(1)"," compte rapidement les occurrences et\nrenvoie la ",[603,12241,10640],{},[972,12243,12244,4834,12247,12250],{},[625,12245,12246],{},"[expr for x in liste]",[603,12248,12249],{},"list-comprehension"," : on construit une\nnouvelle liste en une ligne.",[599,12252,12253,12254,12257],{},"Pas la peine de tout maîtriser pour comprendre l'algorithme — concentrez-vous\nsur les ",[603,12255,12256],{},"quatre étapes"," numérotées.",[642,12259,12261],{"className":644,"code":12260,"language":646,"meta":647,"style":647},"import math\nfrom collections import Counter\n\ndef distance(a, b):\n    return math.sqrt(sum((ai - bi) ** 2 for ai, bi in zip(a, b)))\n\ndef knn(donnees, nouveau, k):\n    \"\"\"donnees : liste de tuples (point, classe).\n    nouveau : un point à classer.\n    k : nombre de voisins à considérer.\n    Retourne la classe prédite pour nouveau.\"\"\"\n    # 1. Distances entre nouveau et chaque point étiqueté\n    distances = [(distance(point, nouveau), classe) for point, classe in donnees]\n    # 2. Tri par distance croissante\n    distances.sort()\n    # 3. Récupération des classes des k plus proches\n    voisins = [classe for _, classe in distances[:k]]\n    # 4. Vote majoritaire\n    return Counter(voisins).most_common(1)[0][0]\n\n# Exemple : classifier un fruit par son poids et son diamètre\nfruits = [\n    ((150, 7), \"pomme\"),\n    ((170, 7.5), \"pomme\"),\n    ((140, 6.8), \"pomme\"),\n    ((120, 5.5), \"mandarine\"),\n    ((110, 5), \"mandarine\"),\n    ((130, 5.8), \"mandarine\"),\n]\ninconnu = (135, 6.2)\nprint(knn(fruits, inconnu, k=3))\n# 'mandarine' ou 'pomme' selon les plus proches\n",[625,12262,12263,12269,12282,12286,12294,12330,12334,12344,12349,12354,12359,12364,12369,12389,12394,12399,12404,12424,12429,12450,12454,12459,12468,12487,12505,12523,12542,12559,12577,12581,12600,12616],{"__ignoreMap":647},[651,12264,12265,12267],{"class":653,"line":654},[651,12266,3791],{"class":664},[651,12268,3794],{"class":668},[651,12270,12271,12274,12277,12279],{"class":653,"line":661},[651,12272,12273],{"class":664},"from",[651,12275,12276],{"class":668}," collections ",[651,12278,3791],{"class":664},[651,12280,12281],{"class":668}," Counter\n",[651,12283,12284],{"class":653,"line":688},[651,12285,701],{"emptyLinePlaceholder":700},[651,12287,12288,12290,12292],{"class":653,"line":697},[651,12289,828],{"class":664},[651,12291,11705],{"class":831},[651,12293,11708],{"class":668},[651,12295,12296,12298,12301,12304,12307,12309,12312,12314,12316,12319,12322,12324,12327],{"class":653,"line":704},[651,12297,879],{"class":664},[651,12299,12300],{"class":668}," math.sqrt(",[651,12302,12303],{"class":675},"sum",[651,12305,12306],{"class":668},"((ai ",[651,12308,5244],{"class":664},[651,12310,12311],{"class":668}," bi) ",[651,12313,11737],{"class":664},[651,12315,11740],{"class":675},[651,12317,12318],{"class":664}," for",[651,12320,12321],{"class":668}," ai, bi ",[651,12323,672],{"class":664},[651,12325,12326],{"class":675}," zip",[651,12328,12329],{"class":668},"(a, b)))\n",[651,12331,12332],{"class":653,"line":710},[651,12333,701],{"emptyLinePlaceholder":700},[651,12335,12336,12338,12341],{"class":653,"line":723},[651,12337,828],{"class":664},[651,12339,12340],{"class":831}," knn",[651,12342,12343],{"class":668},"(donnees, nouveau, k):\n",[651,12345,12346],{"class":653,"line":889},[651,12347,12348],{"class":840},"    \"\"\"donnees : liste de tuples (point, classe).\n",[651,12350,12351],{"class":653,"line":932},[651,12352,12353],{"class":840},"    nouveau : un point à classer.\n",[651,12355,12356],{"class":653,"line":4762},[651,12357,12358],{"class":840},"    k : nombre de voisins à considérer.\n",[651,12360,12361],{"class":653,"line":4773},[651,12362,12363],{"class":840},"    Retourne la classe prédite pour nouveau.\"\"\"\n",[651,12365,12366],{"class":653,"line":4781},[651,12367,12368],{"class":657},"    # 1. Distances entre nouveau et chaque point étiqueté\n",[651,12370,12371,12374,12376,12379,12381,12384,12386],{"class":653,"line":4786},[651,12372,12373],{"class":668},"    distances ",[651,12375,1067],{"class":664},[651,12377,12378],{"class":668}," [(distance(point, nouveau), classe) ",[651,12380,665],{"class":664},[651,12382,12383],{"class":668}," point, classe ",[651,12385,672],{"class":664},[651,12387,12388],{"class":668}," donnees]\n",[651,12390,12391],{"class":653,"line":4819},[651,12392,12393],{"class":657},"    # 2. Tri par distance croissante\n",[651,12395,12396],{"class":653,"line":5361},[651,12397,12398],{"class":668},"    distances.sort()\n",[651,12400,12401],{"class":653,"line":7903},[651,12402,12403],{"class":657},"    # 3. Récupération des classes des k plus proches\n",[651,12405,12406,12409,12411,12414,12416,12419,12421],{"class":653,"line":8077},[651,12407,12408],{"class":668},"    voisins ",[651,12410,1067],{"class":664},[651,12412,12413],{"class":668}," [classe ",[651,12415,665],{"class":664},[651,12417,12418],{"class":668}," _, classe ",[651,12420,672],{"class":664},[651,12422,12423],{"class":668}," distances[:k]]\n",[651,12425,12426],{"class":653,"line":8106},[651,12427,12428],{"class":657},"    # 4. Vote majoritaire\n",[651,12430,12431,12433,12436,12438,12441,12443,12446,12448],{"class":653,"line":8125},[651,12432,879],{"class":664},[651,12434,12435],{"class":668}," Counter(voisins).most_common(",[651,12437,999],{"class":675},[651,12439,12440],{"class":668},")[",[651,12442,1073],{"class":675},[651,12444,12445],{"class":668},"][",[651,12447,1073],{"class":675},[651,12449,1076],{"class":668},[651,12451,12452],{"class":653,"line":8141},[651,12453,701],{"emptyLinePlaceholder":700},[651,12455,12456],{"class":653,"line":10214},[651,12457,12458],{"class":657},"# Exemple : classifier un fruit par son poids et son diamètre\n",[651,12460,12461,12464,12466],{"class":653,"line":10220},[651,12462,12463],{"class":668},"fruits ",[651,12465,1067],{"class":664},[651,12467,10241],{"class":668},[651,12469,12470,12473,12476,12478,12480,12482,12485],{"class":653,"line":10228},[651,12471,12472],{"class":668},"    ((",[651,12474,12475],{"class":675},"150",[651,12477,632],{"class":668},[651,12479,903],{"class":675},[651,12481,5650],{"class":668},[651,12483,12484],{"class":840},"\"pomme\"",[651,12486,10263],{"class":668},[651,12488,12489,12491,12494,12496,12499,12501,12503],{"class":653,"line":10233},[651,12490,12472],{"class":668},[651,12492,12493],{"class":675},"170",[651,12495,632],{"class":668},[651,12497,12498],{"class":675},"7.5",[651,12500,5650],{"class":668},[651,12502,12484],{"class":840},[651,12504,10263],{"class":668},[651,12506,12507,12509,12512,12514,12517,12519,12521],{"class":653,"line":10244},[651,12508,12472],{"class":668},[651,12510,12511],{"class":675},"140",[651,12513,632],{"class":668},[651,12515,12516],{"class":675},"6.8",[651,12518,5650],{"class":668},[651,12520,12484],{"class":840},[651,12522,10263],{"class":668},[651,12524,12525,12527,12530,12532,12535,12537,12540],{"class":653,"line":10266},[651,12526,12472],{"class":668},[651,12528,12529],{"class":675},"120",[651,12531,632],{"class":668},[651,12533,12534],{"class":675},"5.5",[651,12536,5650],{"class":668},[651,12538,12539],{"class":840},"\"mandarine\"",[651,12541,10263],{"class":668},[651,12543,12544,12546,12549,12551,12553,12555,12557],{"class":653,"line":10284},[651,12545,12472],{"class":668},[651,12547,12548],{"class":675},"110",[651,12550,632],{"class":668},[651,12552,918],{"class":675},[651,12554,5650],{"class":668},[651,12556,12539],{"class":840},[651,12558,10263],{"class":668},[651,12560,12561,12563,12566,12568,12571,12573,12575],{"class":653,"line":10303},[651,12562,12472],{"class":668},[651,12564,12565],{"class":675},"130",[651,12567,632],{"class":668},[651,12569,12570],{"class":675},"5.8",[651,12572,5650],{"class":668},[651,12574,12539],{"class":840},[651,12576,10263],{"class":668},[651,12578,12579],{"class":653,"line":10308},[651,12580,1076],{"class":668},[651,12582,12583,12586,12588,12590,12593,12595,12598],{"class":653,"line":10320},[651,12584,12585],{"class":668},"inconnu ",[651,12587,1067],{"class":664},[651,12589,9817],{"class":668},[651,12591,12592],{"class":675},"135",[651,12594,632],{"class":668},[651,12596,12597],{"class":675},"6.2",[651,12599,3856],{"class":668},[651,12601,12603,12605,12608,12610,12612,12614],{"class":653,"line":12602},31,[651,12604,892],{"class":675},[651,12606,12607],{"class":668},"(knn(fruits, inconnu, ",[651,12609,1796],{"class":10046},[651,12611,1067],{"class":664},[651,12613,898],{"class":675},[651,12615,8122],{"class":668},[651,12617,12619],{"class":653,"line":12618},32,[651,12620,12621],{"class":657},"# 'mandarine' ou 'pomme' selon les plus proches\n",[817,12623,12624],{},[642,12625,12627],{"className":644,"code":12626,"language":646,"meta":647,"style":647},"import math\nfrom collections import Counter\n\ndef distance(a, b):\n    return math.sqrt(sum((ai - bi) ** 2 for ai, bi in zip(a, b)))\n\ndef knn(donnees, nouveau, k):\n    distances = [(distance(p, nouveau), c) for p, c in donnees]\n    distances.sort()\n    voisins = [c for _, c in distances[:k]]\n    return Counter(voisins).most_common(1)[0][0]\n\n# Données : (poids en g, diamètre en cm) → classe\nfruits = [\n    ((150, 7), \"pomme\"),\n    ((170, 7.5), \"pomme\"),\n    ((140, 6.8), \"pomme\"),\n    ((120, 5.5), \"mandarine\"),\n    ((110, 5), \"mandarine\"),\n    ((130, 5.8), \"mandarine\"),\n]\n\nfor inconnu in [(135, 6.2), (160, 7.1), (115, 5.2)]:\n    print(f\"{inconnu} → {knn(fruits, inconnu, k=3)}\")\n",[625,12628,12629,12635,12645,12649,12657,12685,12689,12697,12715,12719,12737,12755,12759,12764,12772,12788,12804,12820,12836,12852,12868,12872,12876,12917],{"__ignoreMap":647},[651,12630,12631,12633],{"class":653,"line":654},[651,12632,3791],{"class":664},[651,12634,3794],{"class":668},[651,12636,12637,12639,12641,12643],{"class":653,"line":661},[651,12638,12273],{"class":664},[651,12640,12276],{"class":668},[651,12642,3791],{"class":664},[651,12644,12281],{"class":668},[651,12646,12647],{"class":653,"line":688},[651,12648,701],{"emptyLinePlaceholder":700},[651,12650,12651,12653,12655],{"class":653,"line":697},[651,12652,828],{"class":664},[651,12654,11705],{"class":831},[651,12656,11708],{"class":668},[651,12658,12659,12661,12663,12665,12667,12669,12671,12673,12675,12677,12679,12681,12683],{"class":653,"line":704},[651,12660,879],{"class":664},[651,12662,12300],{"class":668},[651,12664,12303],{"class":675},[651,12666,12306],{"class":668},[651,12668,5244],{"class":664},[651,12670,12311],{"class":668},[651,12672,11737],{"class":664},[651,12674,11740],{"class":675},[651,12676,12318],{"class":664},[651,12678,12321],{"class":668},[651,12680,672],{"class":664},[651,12682,12326],{"class":675},[651,12684,12329],{"class":668},[651,12686,12687],{"class":653,"line":710},[651,12688,701],{"emptyLinePlaceholder":700},[651,12690,12691,12693,12695],{"class":653,"line":723},[651,12692,828],{"class":664},[651,12694,12340],{"class":831},[651,12696,12343],{"class":668},[651,12698,12699,12701,12703,12706,12708,12711,12713],{"class":653,"line":889},[651,12700,12373],{"class":668},[651,12702,1067],{"class":664},[651,12704,12705],{"class":668}," [(distance(p, nouveau), c) ",[651,12707,665],{"class":664},[651,12709,12710],{"class":668}," p, c ",[651,12712,672],{"class":664},[651,12714,12388],{"class":668},[651,12716,12717],{"class":653,"line":932},[651,12718,12398],{"class":668},[651,12720,12721,12723,12725,12728,12730,12733,12735],{"class":653,"line":4762},[651,12722,12408],{"class":668},[651,12724,1067],{"class":664},[651,12726,12727],{"class":668}," [c ",[651,12729,665],{"class":664},[651,12731,12732],{"class":668}," _, c ",[651,12734,672],{"class":664},[651,12736,12423],{"class":668},[651,12738,12739,12741,12743,12745,12747,12749,12751,12753],{"class":653,"line":4773},[651,12740,879],{"class":664},[651,12742,12435],{"class":668},[651,12744,999],{"class":675},[651,12746,12440],{"class":668},[651,12748,1073],{"class":675},[651,12750,12445],{"class":668},[651,12752,1073],{"class":675},[651,12754,1076],{"class":668},[651,12756,12757],{"class":653,"line":4781},[651,12758,701],{"emptyLinePlaceholder":700},[651,12760,12761],{"class":653,"line":4786},[651,12762,12763],{"class":657},"# Données : (poids en g, diamètre en cm) → classe\n",[651,12765,12766,12768,12770],{"class":653,"line":4819},[651,12767,12463],{"class":668},[651,12769,1067],{"class":664},[651,12771,10241],{"class":668},[651,12773,12774,12776,12778,12780,12782,12784,12786],{"class":653,"line":5361},[651,12775,12472],{"class":668},[651,12777,12475],{"class":675},[651,12779,632],{"class":668},[651,12781,903],{"class":675},[651,12783,5650],{"class":668},[651,12785,12484],{"class":840},[651,12787,10263],{"class":668},[651,12789,12790,12792,12794,12796,12798,12800,12802],{"class":653,"line":7903},[651,12791,12472],{"class":668},[651,12793,12493],{"class":675},[651,12795,632],{"class":668},[651,12797,12498],{"class":675},[651,12799,5650],{"class":668},[651,12801,12484],{"class":840},[651,12803,10263],{"class":668},[651,12805,12806,12808,12810,12812,12814,12816,12818],{"class":653,"line":8077},[651,12807,12472],{"class":668},[651,12809,12511],{"class":675},[651,12811,632],{"class":668},[651,12813,12516],{"class":675},[651,12815,5650],{"class":668},[651,12817,12484],{"class":840},[651,12819,10263],{"class":668},[651,12821,12822,12824,12826,12828,12830,12832,12834],{"class":653,"line":8106},[651,12823,12472],{"class":668},[651,12825,12529],{"class":675},[651,12827,632],{"class":668},[651,12829,12534],{"class":675},[651,12831,5650],{"class":668},[651,12833,12539],{"class":840},[651,12835,10263],{"class":668},[651,12837,12838,12840,12842,12844,12846,12848,12850],{"class":653,"line":8125},[651,12839,12472],{"class":668},[651,12841,12548],{"class":675},[651,12843,632],{"class":668},[651,12845,918],{"class":675},[651,12847,5650],{"class":668},[651,12849,12539],{"class":840},[651,12851,10263],{"class":668},[651,12853,12854,12856,12858,12860,12862,12864,12866],{"class":653,"line":8141},[651,12855,12472],{"class":668},[651,12857,12565],{"class":675},[651,12859,632],{"class":668},[651,12861,12570],{"class":675},[651,12863,5650],{"class":668},[651,12865,12539],{"class":840},[651,12867,10263],{"class":668},[651,12869,12870],{"class":653,"line":10214},[651,12871,1076],{"class":668},[651,12873,12874],{"class":653,"line":10220},[651,12875,701],{"emptyLinePlaceholder":700},[651,12877,12878,12880,12883,12885,12888,12890,12892,12894,12896,12899,12901,12904,12906,12909,12911,12914],{"class":653,"line":10228},[651,12879,665],{"class":664},[651,12881,12882],{"class":668}," inconnu ",[651,12884,672],{"class":664},[651,12886,12887],{"class":668}," [(",[651,12889,12592],{"class":675},[651,12891,632],{"class":668},[651,12893,12597],{"class":675},[651,12895,11784],{"class":668},[651,12897,12898],{"class":675},"160",[651,12900,632],{"class":668},[651,12902,12903],{"class":675},"7.1",[651,12905,11784],{"class":668},[651,12907,12908],{"class":675},"115",[651,12910,632],{"class":668},[651,12912,12913],{"class":675},"5.2",[651,12915,12916],{"class":668},")]:\n",[651,12918,12919,12921,12923,12925,12927,12929,12932,12934,12937,12939,12942,12944,12946,12948,12950,12952,12954],{"class":653,"line":10233},[651,12920,691],{"class":675},[651,12922,679],{"class":668},[651,12924,2912],{"class":664},[651,12926,3805],{"class":840},[651,12928,3808],{"class":675},[651,12930,12931],{"class":668},"inconnu",[651,12933,3817],{"class":675},[651,12935,12936],{"class":840}," → ",[651,12938,3808],{"class":675},[651,12940,12941],{"class":668},"knn(fruits, inconnu, ",[651,12943,1796],{"class":10046},[651,12945,1067],{"class":664},[651,12947,898],{"class":675},[651,12949,1484],{"class":668},[651,12951,3817],{"class":675},[651,12953,3805],{"class":840},[651,12955,3856],{"class":668},[594,12957,12959,12960],{"id":12958},"choisir-kkk","Choisir ",[651,12961,12963,12976],{"className":12962},[755],[651,12964,12966],{"className":12965},[759],[761,12967,12968],{"xmlns":763},[765,12969,12970,12974],{},[768,12971,12972],{},[771,12973,1796],{},[775,12975,1796],{"encoding":777},[651,12977,12979],{"className":12978,"ariaHidden":782},[781],[651,12980,12982,12985],{"className":12981},[786],[651,12983],{"className":12984,"style":1808},[790],[651,12986,1796],{"className":12987,"style":1812},[795,796],[599,12989,12990,12991,13019],{},"Le choix de ",[651,12992,12994,13007],{"className":12993},[755],[651,12995,12997],{"className":12996},[759],[761,12998,12999],{"xmlns":763},[765,13000,13001,13005],{},[768,13002,13003],{},[771,13004,1796],{},[775,13006,1796],{"encoding":777},[651,13008,13010],{"className":13009,"ariaHidden":782},[781],[651,13011,13013,13016],{"className":13012},[786],[651,13014],{"className":13015,"style":1808},[790],[651,13017,1796],{"className":13018,"style":1812},[795,796]," influence fortement le résultat.",[1014,13021,13022,13078],{},[972,13023,13024,13077],{},[603,13025,13026],{},[651,13027,13029,13047],{"className":13028},[755],[651,13030,13032],{"className":13031},[759],[761,13033,13034],{"xmlns":763},[765,13035,13036,13044],{},[768,13037,13038,13040,13042],{},[771,13039,1796],{},[1477,13041,1067],{},[1869,13043,999],{},[775,13045,13046],{"encoding":777},"k = 1",[651,13048,13050,13068],{"className":13049,"ariaHidden":782},[781],[651,13051,13053,13056,13059,13062,13065],{"className":13052},[786],[651,13054],{"className":13055,"style":1808},[790],[651,13057,1796],{"className":13058,"style":1812},[795,796],[651,13060],{"className":13061,"style":3634},[2370],[651,13063,1067],{"className":13064},[3641],[651,13066],{"className":13067,"style":3634},[2370],[651,13069,13071,13074],{"className":13070},[786],[651,13072],{"className":13073,"style":2694},[790],[651,13075,999],{"className":13076},[795]," : on prend la classe du voisin le plus proche, point. Très\nsensible au bruit (un seul exemple aberrant peut faire basculer la\nclassification).",[972,13079,13080,13111,13112,13149,13150,13153],{},[603,13081,13082,13110],{},[651,13083,13085,13098],{"className":13084},[755],[651,13086,13088],{"className":13087},[759],[761,13089,13090],{"xmlns":763},[765,13091,13092,13096],{},[768,13093,13094],{},[771,13095,1796],{},[775,13097,1796],{"encoding":777},[651,13099,13101],{"className":13100,"ariaHidden":782},[781],[651,13102,13104,13107],{"className":13103},[786],[651,13105],{"className":13106,"style":1808},[790],[651,13108,1796],{"className":13109,"style":1812},[795,796]," grand"," : on lisse, on moyenne, mais on perd la finesse locale. Si\n",[651,13113,13115,13131],{"className":13114},[755],[651,13116,13118],{"className":13117},[759],[761,13119,13120],{"xmlns":763},[765,13121,13122,13128],{},[768,13123,13124,13126],{},[771,13125,1796],{},[1477,13127,1067],{},[775,13129,13130],{"encoding":777},"k = ",[651,13132,13134],{"className":13133,"ariaHidden":782},[781],[651,13135,13137,13140,13143,13146],{"className":13136},[786],[651,13138],{"className":13139,"style":1808},[790],[651,13141,1796],{"className":13142,"style":1812},[795,796],[651,13144],{"className":13145,"style":3634},[2370],[651,13147,1067],{"className":13148},[3641]," nombre total d'exemples, on retombe sur la classe ",[603,13151,13152],{},"globalement\nmajoritaire"," quel que soit le nouveau point.",[1355,13155,13156],{},[599,13157,13158,13159,1289,13187,13190,13191,13276,13277,13305],{},"En pratique, on choisit souvent ",[651,13160,13162,13175],{"className":13161},[755],[651,13163,13165],{"className":13164},[759],[761,13166,13167],{"xmlns":763},[765,13168,13169,13173],{},[768,13170,13171],{},[771,13172,1796],{},[775,13174,1796],{"encoding":777},[651,13176,13178],{"className":13177,"ariaHidden":782},[781],[651,13179,13181,13184],{"className":13180},[786],[651,13182],{"className":13183,"style":1808},[790],[651,13185,1796],{"className":13186,"style":1812},[795,796],[603,13188,13189],{},"impair"," (pour éviter les égalités\ndans le vote majoritaire) et autour de ",[651,13192,13194,13210],{"className":13193},[755],[651,13195,13197],{"className":13196},[759],[761,13198,13199],{"xmlns":763},[765,13200,13201,13207],{},[768,13202,13203],{},[11267,13204,13205],{},[771,13206,773],{},[775,13208,13209],{"encoding":777},"\\sqrt{n}",[651,13211,13213],{"className":13212,"ariaHidden":782},[781],[651,13214,13216,13220],{"className":13215},[786],[651,13217],{"className":13218,"style":13219},[790],"height:1.04em;vertical-align:-0.2397em;",[651,13221,13223],{"className":13222},[795,11369],[651,13224,13226,13267],{"className":13225},[2133,3259],[651,13227,13229,13264],{"className":13228},[2137],[651,13230,13233,13247],{"className":13231,"style":13232},[2141],"height:0.8003em;",[651,13234,13237,13240],{"className":13235,"style":13236},[11383],"top:-3em;",[651,13238],{"className":13239,"style":6165},[2149],[651,13241,13244],{"className":13242,"style":13243},[795],"padding-left:0.833em;",[651,13245,773],{"className":13246},[795,796],[651,13248,13250,13253],{"style":13249},"top:-2.7603em;",[651,13251],{"className":13252,"style":6165},[2149],[651,13254,13257],{"className":13255,"style":13256},[11655],"min-width:0.853em;height:1.08em;",[11658,13258,13261],{"xmlns":11660,"width":11661,"height":13259,"viewBox":13260,"preserveAspectRatio":11664},"1.08em","0 0 400000 1080",[11666,13262],{"d":13263},"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z",[651,13265,3283],{"className":13266},[3282],[651,13268,13270],{"className":13269},[2137],[651,13271,13274],{"className":13272,"style":13273},[2141],"height:0.2397em;",[651,13275],{}," où ",[651,13278,13280,13293],{"className":13279},[755],[651,13281,13283],{"className":13282},[759],[761,13284,13285],{"xmlns":763},[765,13286,13287,13291],{},[768,13288,13289],{},[771,13290,773],{},[775,13292,773],{"encoding":777},[651,13294,13296],{"className":13295,"ariaHidden":782},[781],[651,13297,13299,13302],{"className":13298},[786],[651,13300],{"className":13301,"style":791},[790],[651,13303,773],{"className":13304},[795,796]," est le nombre\nd'exemples étiquetés.",[997,13307,13309,13314],{"correct":999,"slug":13308},"knn-c1",[1002,13310,13311],{"v-slot:question":647},[599,13312,13313],{},"Pourquoi choisit-on souvent k impair ?",[1002,13315,13316],{"v-slot:choices":647},[1014,13317,13318,13321,13324],{},[972,13319,13320],{},"Pour aller plus vite",[972,13322,13323],{},"Pour éviter les égalités dans le vote",[972,13325,13326],{},"Pour augmenter la précision",[594,13328,13330],{"id":13329},"cest-un-algorithme-dapprentissage","C'est un algorithme d'apprentissage",[599,13332,13333,13334,13337,13338,13341,13342,13345,13346,1308],{},"Le k-NN apprend ",[603,13335,13336],{},"à partir d'exemples étiquetés"," — il n'a pas besoin qu'on\nlui donne de règle explicite (« si poids > 140 alors pomme »). Il déduit ces\nrègles ",[603,13339,13340],{},"implicitement"," de la disposition des points. C'est ce qu'on\nappelle l'",[603,13343,13344],{},"apprentissage supervisé"," : on apprend à partir d'exemples\n",[603,13347,13348],{},"dont on connaît la classe",[13350,13351,13354,13374],"card",{"icon":13352,"title":13353},"i-lucide-brain","Trois grandes familles d'apprentissage automatique",[1014,13355,13356,13362,13368],{},[972,13357,13358,13361],{},[603,13359,13360],{},"Supervisé"," : exemples étiquetés (classe connue). Le k-NN en est un cas.",[972,13363,13364,13367],{},[603,13365,13366],{},"Non supervisé"," : exemples sans étiquette, on cherche des structures\n(groupes, regroupements).",[972,13369,13370,13373],{},[603,13371,13372],{},"Par renforcement"," : on apprend en interagissant avec un environnement,\npar essais et erreurs.",[599,13375,13376],{},"Le k-NN est l'un des plus simples — pas de phase d'entraînement à proprement\nparler, on garde juste tous les exemples en mémoire et on calcule au moment\nde la prédiction.",[594,13378,13380],{"id":13379},"coût-de-lalgorithme","Coût de l'algorithme",[599,13382,13383,13384,13387],{},"Pour classer ",[603,13385,13386],{},"un seul"," nouveau point :",[1014,13389,13390,13465,13561],{},[972,13391,13392,13393,13421,13422,1338],{},"on calcule ",[651,13394,13396,13409],{"className":13395},[755],[651,13397,13399],{"className":13398},[759],[761,13400,13401],{"xmlns":763},[765,13402,13403,13407],{},[768,13404,13405],{},[771,13406,773],{},[775,13408,773],{"encoding":777},[651,13410,13412],{"className":13411,"ariaHidden":782},[781],[651,13413,13415,13418],{"className":13414},[786],[651,13416],{"className":13417,"style":791},[790],[651,13419,773],{"className":13420},[795,796]," distances : ",[651,13423,13425,13444],{"className":13424},[755],[651,13426,13428],{"className":13427},[759],[761,13429,13430],{"xmlns":763},[765,13431,13432,13442],{},[768,13433,13434,13436,13438,13440],{},[771,13435,1475],{"mathvariant":1474},[1477,13437,679],{"stretchy":1479},[771,13439,773],{},[1477,13441,1484],{"stretchy":1479},[775,13443,1487],{"encoding":777},[651,13445,13447],{"className":13446,"ariaHidden":782},[781],[651,13448,13450,13453,13456,13459,13462],{"className":13449},[786],[651,13451],{"className":13452,"style":1497},[790],[651,13454,1475],{"className":13455,"style":1502},[795,1501],[651,13457,679],{"className":13458},[1506],[651,13460,773],{"className":13461},[795,796],[651,13463,1484],{"className":13464},[1513],[972,13466,13467,13468,13531,13532,13560],{},"on les trie : ",[651,13469,13471,13496],{"className":13470},[755],[651,13472,13474],{"className":13473},[759],[761,13475,13476],{"xmlns":763},[765,13477,13478,13494],{},[768,13479,13480,13482,13484,13486,13488,13490,13492],{},[771,13481,1475],{"mathvariant":1474},[1477,13483,679],{"stretchy":1479},[771,13485,773],{},[771,13487,3067],{},[1477,13489,3070],{},[771,13491,773],{},[1477,13493,1484],{"stretchy":1479},[775,13495,7354],{"encoding":777},[651,13497,13499],{"className":13498,"ariaHidden":782},[781],[651,13500,13502,13505,13508,13511,13514,13517,13522,13525,13528],{"className":13501},[786],[651,13503],{"className":13504,"style":1497},[790],[651,13506,1475],{"className":13507,"style":1502},[795,1501],[651,13509,679],{"className":13510},[1506],[651,13512,773],{"className":13513},[795,796],[651,13515],{"className":13516,"style":3105},[2370],[651,13518,3097,13520],{"className":13519},[3096],[651,13521,3101],{"style":3100},[651,13523],{"className":13524,"style":3105},[2370],[651,13526,773],{"className":13527},[795,796],[651,13529,1484],{"className":13530},[1513]," — ou on peut faire moins si on ne\nveut que les ",[651,13533,13535,13548],{"className":13534},[755],[651,13536,13538],{"className":13537},[759],[761,13539,13540],{"xmlns":763},[765,13541,13542,13546],{},[768,13543,13544],{},[771,13545,1796],{},[775,13547,1796],{"encoding":777},[651,13549,13551],{"className":13550,"ariaHidden":782},[781],[651,13552,13554,13557],{"className":13553},[786],[651,13555],{"className":13556,"style":1808},[790],[651,13558,1796],{"className":13559,"style":1812},[795,796]," plus petites ;",[972,13562,13563,13564,1308],{},"on fait un vote : ",[651,13565,13567,13587],{"className":13566},[755],[651,13568,13570],{"className":13569},[759],[761,13571,13572],{"xmlns":763},[765,13573,13574,13584],{},[768,13575,13576,13578,13580,13582],{},[771,13577,1475],{"mathvariant":1474},[1477,13579,679],{"stretchy":1479},[771,13581,1796],{},[1477,13583,1484],{"stretchy":1479},[775,13585,13586],{"encoding":777},"\\mathcal{O}(k)",[651,13588,13590],{"className":13589,"ariaHidden":782},[781],[651,13591,13593,13596,13599,13602,13605],{"className":13592},[786],[651,13594],{"className":13595,"style":1497},[790],[651,13597,1475],{"className":13598,"style":1502},[795,1501],[651,13600,679],{"className":13601},[1506],[651,13603,1796],{"className":13604,"style":1812},[795,796],[651,13606,1484],{"className":13607},[1513],[599,13609,13610,13611,13674],{},"Au total : ",[651,13612,13614,13639],{"className":13613},[755],[651,13615,13617],{"className":13616},[759],[761,13618,13619],{"xmlns":763},[765,13620,13621,13637],{},[768,13622,13623,13625,13627,13629,13631,13633,13635],{},[771,13624,1475],{"mathvariant":1474},[1477,13626,679],{"stretchy":1479},[771,13628,773],{},[771,13630,3067],{},[1477,13632,3070],{},[771,13634,773],{},[1477,13636,1484],{"stretchy":1479},[775,13638,7354],{"encoding":777},[651,13640,13642],{"className":13641,"ariaHidden":782},[781],[651,13643,13645,13648,13651,13654,13657,13660,13665,13668,13671],{"className":13644},[786],[651,13646],{"className":13647,"style":1497},[790],[651,13649,1475],{"className":13650,"style":1502},[795,1501],[651,13652,679],{"className":13653},[1506],[651,13655,773],{"className":13656},[795,796],[651,13658],{"className":13659,"style":3105},[2370],[651,13661,3097,13663],{"className":13662},[3096],[651,13664,3101],{"style":3100},[651,13666],{"className":13667,"style":3105},[2370],[651,13669,773],{"className":13670},[795,796],[651,13672,1484],{"className":13673},[1513]," par prédiction. Acceptable pour quelques\nmilliers d'exemples, lourd au-delà — d'où des structures de données plus\nmalines (arbres k-d, hashage de localité) qu'on rencontre en pratique réelle.",[997,13676,13678,13683],{"correct":1073,"slug":13677},"knn-c2",[1002,13679,13680],{"v-slot:question":647},[599,13681,13682],{},"Le k-NN appartient à quelle famille d'apprentissage ?",[1002,13684,13685],{"v-slot:choices":647},[1014,13686,13687,13689,13691],{},[972,13688,13360],{},[972,13690,13366],{},[972,13692,13372],{},[594,13694,1518],{"id":1517},[1014,13696,13697,13707,13821],{},[972,13698,13699,13702,13703,13706],{},[603,13700,13701],{},"Unités hétérogènes"," : si une coordonnée est en grammes (100 à 200) et\nl'autre en centimètres (5 à 8), le poids dominera la distance et la taille\nsera ignorée. On ",[603,13704,13705],{},"normalise"," souvent les coordonnées avant de calculer\ndes distances.",[972,13708,13709,1813,13741,13791,13792,13820],{},[603,13710,13711,13712,13740],{},"Choix de ",[651,13713,13715,13728],{"className":13714},[755],[651,13716,13718],{"className":13717},[759],[761,13719,13720],{"xmlns":763},[765,13721,13722,13726],{},[768,13723,13724],{},[771,13725,1796],{},[775,13727,1796],{"encoding":777},[651,13729,13731],{"className":13730,"ariaHidden":782},[781],[651,13732,13734,13737],{"className":13733},[786],[651,13735],{"className":13736,"style":1808},[790],[651,13738,1796],{"className":13739,"style":1812},[795,796]," extrême",[651,13742,13744,13761],{"className":13743},[755],[651,13745,13747],{"className":13746},[759],[761,13748,13749],{"xmlns":763},[765,13750,13751,13759],{},[768,13752,13753,13755,13757],{},[771,13754,1796],{},[1477,13756,1067],{},[1869,13758,999],{},[775,13760,13046],{"encoding":777},[651,13762,13764,13782],{"className":13763,"ariaHidden":782},[781],[651,13765,13767,13770,13773,13776,13779],{"className":13766},[786],[651,13768],{"className":13769,"style":1808},[790],[651,13771,1796],{"className":13772,"style":1812},[795,796],[651,13774],{"className":13775,"style":3634},[2370],[651,13777,1067],{"className":13778},[3641],[651,13780],{"className":13781,"style":3634},[2370],[651,13783,13785,13788],{"className":13784},[786],[651,13786],{"className":13787,"style":2694},[790],[651,13789,999],{"className":13790},[795]," surajuste, ",[651,13793,13795,13808],{"className":13794},[755],[651,13796,13798],{"className":13797},[759],[761,13799,13800],{"xmlns":763},[765,13801,13802,13806],{},[768,13803,13804],{},[771,13805,1796],{},[775,13807,1796],{"encoding":777},[651,13809,13811],{"className":13810,"ariaHidden":782},[781],[651,13812,13814,13817],{"className":13813},[786],[651,13815],{"className":13816,"style":1808},[790],[651,13818,1796],{"className":13819,"style":1812},[795,796]," trop grand sous-ajuste.",[972,13822,13823,13826],{},[603,13824,13825],{},"Base de données déséquilibrée"," : si vous avez 90 % de pommes et 10 % de\nmandarines, le vote majoritaire prédira presque toujours « pomme ». Il\nfaut équilibrer ou pondérer.",[594,13828,1559],{"id":1558},[599,13830,13831,13832,13835],{},"Le k-NN est conceptuellement très simple. C'est souvent un ",[603,13833,13834],{},"baseline"," —\nun algorithme de référence facile à coder, contre lequel on compare des\nméthodes plus sophistiquées (arbres de décision, réseaux de neurones, etc.).\nSa simplicité reste sa force pédagogique : pour comprendre l'idée même\nd'apprentissage automatique, il est imbattable.",[1572,13837,13838],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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 .sP4rz, html code.shiki .sP4rz{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":647,"searchDepth":661,"depth":661,"links":13840},[13841,13842,13843,13844,13845,13847,13848,13849,13850],{"id":596,"depth":661,"text":597},{"id":616,"depth":661,"text":617},{"id":10712,"depth":661,"text":10713},{"id":12205,"depth":661,"text":12206},{"id":12958,"depth":661,"text":13846},"Choisir kkk",{"id":13329,"depth":661,"text":13330},{"id":13379,"depth":661,"text":13380},{"id":1517,"depth":661,"text":1518},{"id":1558,"depth":661,"text":1559},"Un premier algorithme d'apprentissage — classer un point en regardant la classe majoritaire de ses k plus proches voisins.",{},[13854,13856],{"slug":13308,"kind":1592,"question":13313,"choices":13855,"correct":999,"multi":1595,"explanation":647},[13320,13323,13326],{"slug":13677,"kind":1592,"question":13682,"choices":13857,"correct":1073,"multi":1595,"explanation":647},[13360,13366,13372],{"title":437,"description":13851},"uaI6WeTQY8hyJ7jpinF5bN22x-09jrNetbogD3R5ng4",{"id":13861,"title":411,"bo":1587,"body":13862,"description":14051,"eval":1587,"extension":1588,"labo":1587,"meta":14052,"navigation":700,"path":412,"quizzes":14054,"readingTime":654,"seo":14055,"stem":413,"tp":1587,"__hash__":14056},"cours\u002F1.nsi-1ere\u002Fph-algorithmique\u002F0.index.md",{"type":591,"value":13863,"toc":14047},[13864,13868,13899,13910,13914],[594,13865,13867],{"id":13866},"au-programme","Au programme",[599,13869,13870,13871,13874,13875,13878,13879,13882,13883,13886,13887,13890,13891,13894,13895,13898],{},"Un algorithme, c'est une ",[603,13872,13873],{},"recette de calcul"," — une suite finie d'instructions\nqui transforme une entrée en sortie. Ce chapitre vous propose de fabriquer,\nd'analyser et de comparer six familles d'algorithmes parmi les plus fondamentales\ndu programme de NSI Première. Vous apprendrez à ",[603,13876,13877],{},"parcourir"," un tableau,\nà ",[603,13880,13881],{},"mesurer"," ce que vous écrivez (notion de complexité), à ",[603,13884,13885],{},"trier"," des données,\nà ",[603,13888,13889],{},"chercher"," efficacement dans un tableau trié, à ",[603,13892,13893],{},"construire"," une solution\npas à pas par des choix locaux (algorithmes gloutons), et enfin à faire\n",[603,13896,13897],{},"classer"," automatiquement une donnée par un algorithme d'apprentissage simple\n— les k plus proches voisins.",[599,13900,13901,13902,13905,13906,13909],{},"Le fil rouge est double. D'une part, ",[603,13903,13904],{},"écrire du code qui marche"," : tous les\nalgorithmes vus ici seront implémentés en Python, testés, exécutés. D'autre\npart, ",[603,13907,13908],{},"raisonner sur ce code"," : pourquoi marche-t-il ? combien coûte-t-il ?\nexiste-t-il mieux ? C'est le passage de l'élève codeur à l'élève\nalgorithmicien.",[594,13911,13913],{"id":13912},"plan","Plan",[1014,13915,13916,13924,13959,13967,14031,14039],{},[972,13917,13918,13921,13922],{},[603,13919,13920],{},"Cours 1 — Parcours séquentiel d'un tableau"," : recherche, extremum,\nmoyenne, et l'idée d'invariant. ",[612,13923],{"code":589},[972,13925,13926,13929,13930,13958],{},[603,13927,13928],{},"Cours 2 — Bases de la complexité"," : combien coûte un algorithme ? La\nnotation ",[651,13931,13933,13946],{"className":13932},[755],[651,13934,13936],{"className":13935},[759],[761,13937,13938],{"xmlns":763},[765,13939,13940,13944],{},[768,13941,13942],{},[771,13943,1475],{"mathvariant":1474},[775,13945,4163],{"encoding":777},[651,13947,13949],{"className":13948,"ariaHidden":782},[781],[651,13950,13952,13955],{"className":13951},[786],[651,13953],{"className":13954,"style":4173},[790],[651,13956,1475],{"className":13957,"style":1502},[795,1501]," introduite en douceur (socle, sans item BO direct).",[972,13960,13961,13964,13965],{},[603,13962,13963],{},"Cours 3 — Tris par sélection et par insertion"," : deux tris classiques,\nleur invariant, leur coût quadratique. ",[612,13966],{"code":4469},[972,13968,13969,13972,13973,14028,14029],{},[603,13970,13971],{},"Cours 4 — Recherche dichotomique"," : diviser par deux à chaque étape,\n",[651,13974,13976,13999],{"className":13975},[755],[651,13977,13979],{"className":13978},[759],[761,13980,13981],{"xmlns":763},[765,13982,13983,13997],{},[768,13984,13985,13987,13989,13991,13993,13995],{},[771,13986,1475],{"mathvariant":1474},[1477,13988,679],{"stretchy":1479},[771,13990,3067],{},[1477,13992,3070],{},[771,13994,773],{},[1477,13996,1484],{"stretchy":1479},[775,13998,3077],{"encoding":777},[651,14000,14002],{"className":14001,"ariaHidden":782},[781],[651,14003,14005,14008,14011,14014,14019,14022,14025],{"className":14004},[786],[651,14006],{"className":14007,"style":1497},[790],[651,14009,1475],{"className":14010,"style":1502},[795,1501],[651,14012,679],{"className":14013},[1506],[651,14015,3097,14017],{"className":14016},[3096],[651,14018,3101],{"style":3100},[651,14020],{"className":14021,"style":3105},[2370],[651,14023,773],{"className":14024},[795,796],[651,14026,1484],{"className":14027},[1513],". ",[612,14030],{"code":7428},[972,14032,14033,14036,14037],{},[603,14034,14035],{},"Cours 5 — Algorithmes gloutons"," : choix local immédiat pour rendu de\nmonnaie et sac à dos. ",[612,14038],{"code":9365},[972,14040,14041,14044,14045],{},[603,14042,14043],{},"Cours 6 — k plus proches voisins"," : un premier algorithme\nd'apprentissage par classification. ",[612,14046],{"code":10534},{"title":647,"searchDepth":661,"depth":661,"links":14048},[14049,14050],{"id":13866,"depth":661,"text":13867},{"id":13912,"depth":661,"text":13913},"Parcourir, trier, chercher, choisir, classer — six cours pour outiller votre regard d'algorithmicien et apprendre à mesurer le coût de ce que vous écrivez.",{"icon":14053},"i-lucide-sigma",[],{"title":411,"description":14051},"czyqx4m6s7hkHQpJ7neluN_e1fMZ-pOo9_nAzUHXqyI",[14058,14393,15940,16692,17271,17589,18503],{"id":14059,"title":14060,"bo":14061,"body":14062,"description":14386,"eval":1587,"extension":1588,"labo":1587,"meta":14387,"navigation":1595,"path":14388,"quizzes":14389,"readingTime":654,"seo":14390,"stem":14391,"tp":1587,"__hash__":14392},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel.memo.md","Parcours séquentiel d'un tableau — l'essentiel",[589],{"type":591,"value":14063,"toc":14379},[14064,14068,14102,14106,14184,14188,14236,14238,14264,14268,14376],[594,14065,14067],{"id":14066},"en-une-phrase","En une phrase",[599,14069,14070,14071,1308],{},"Visiter une fois chaque case d'un tableau, en accumulant au passage\nl'information cherchée — ",[603,14072,14073,14074],{},"coût linéaire en ",[651,14075,14077,14090],{"className":14076},[755],[651,14078,14080],{"className":14079},[759],[761,14081,14082],{"xmlns":763},[765,14083,14084,14088],{},[768,14085,14086],{},[771,14087,773],{},[775,14089,773],{"encoding":777},[651,14091,14093],{"className":14092,"ariaHidden":782},[781],[651,14094,14096,14099],{"className":14095},[786],[651,14097],{"className":14098,"style":791},[790],[651,14100,773],{"className":14101},[795,796],[594,14103,14105],{"id":14104},"à-mémoriser","À mémoriser",[1014,14107,14108,14117,14125,14134,14143,14149],{},[972,14109,14110,14111,14113,14114,14116],{},"Deux écritures Python : ",[625,14112,1529],{}," (valeur) \u002F ",[625,14115,1533],{}," (indice).",[972,14118,14119,14122,14123,1308],{},[603,14120,14121],{},"Recherche d'occurrence"," : balayer jusqu'à trouver, sinon ",[625,14124,990],{},[972,14126,14127,14130,14131,14133],{},[603,14128,14129],{},"Extremum"," : initialiser avec ",[625,14132,631],{},", mettre à jour si on voit plus grand.",[972,14135,14136,14139,14140,1308],{},[603,14137,14138],{},"Moyenne"," : somme accumulée puis division par ",[625,14141,14142],{},"len(t)",[972,14144,14145,14148],{},[603,14146,14147],{},"Invariant de boucle"," : propriété vraie avant la boucle et à la fin de\nchaque itération — sert à prouver la correction.",[972,14150,14151,14154,14155,14183],{},[603,14152,14153],{},"Coût"," : proportionnel à ",[651,14156,14158,14171],{"className":14157},[755],[651,14159,14161],{"className":14160},[759],[761,14162,14163],{"xmlns":763},[765,14164,14165,14169],{},[768,14166,14167],{},[771,14168,773],{},[775,14170,773],{"encoding":777},[651,14172,14174],{"className":14173,"ariaHidden":782},[781],[651,14175,14177,14180],{"className":14176},[786],[651,14178],{"className":14179,"style":791},[790],[651,14181,773],{"className":14182},[795,796]," (linéaire).",[594,14185,14187],{"id":14186},"à-savoir-reconnaître","À savoir reconnaître",[3166,14189,14190,14200],{},[3169,14191,14192],{},[3172,14193,14194,14197],{},[3175,14195,14196],{},"Question posée",[3175,14198,14199],{},"Algorithme",[3390,14201,14202,14210,14220,14228],{},[3172,14203,14204,14207],{},[3395,14205,14206],{},"« La valeur x est-elle dans t ? »",[3395,14208,14209],{},"Recherche linéaire, return True\u002FFalse",[3172,14211,14212,14215],{},[3395,14213,14214],{},"« Quel est le plus grand \u002F petit ? »",[3395,14216,14217,14218],{},"Extremum, initialiser à ",[625,14219,631],{},[3172,14221,14222,14225],{},[3395,14223,14224],{},"« Quelle est la moyenne ? »",[3395,14226,14227],{},"Somme cumulée puis division",[3172,14229,14230,14233],{},[3395,14231,14232],{},"« Combien de fois apparaît x ? »",[3395,14234,14235],{},"Compteur incrémenté",[594,14237,1518],{"id":1517},[1014,14239,14240,14248,14258],{},[972,14241,14242,14243,14245,14246,1308],{},"Tableau vide : ",[625,14244,631],{}," lève ",[625,14247,1172],{},[972,14249,14250,14253,14254,14257],{},[625,14251,14252],{},"range(len(t))"," vs ",[625,14255,14256],{},"range(len(t) - 1)"," : ne pas confondre.",[972,14259,14260,9134,14262,1308],{},[625,14261,1292],{},[625,14263,1284],{},[594,14265,14267],{"id":14266},"syntaxe-python","Syntaxe Python",[642,14269,14271],{"className":644,"code":14270,"language":646,"meta":647,"style":647},"def contient(t, cible):\n    for v in t:\n        if v == cible:\n            return True\n    return False\n\ndef maximum(t):\n    maxi = t[0]\n    for v in t[1:]:\n        if v > maxi:\n            maxi = v\n    return maxi\n",[625,14272,14273,14281,14291,14301,14307,14313,14317,14325,14338,14352,14362,14370],{"__ignoreMap":647},[651,14274,14275,14277,14279],{"class":653,"line":654},[651,14276,828],{"class":664},[651,14278,832],{"class":831},[651,14280,7688],{"class":668},[651,14282,14283,14285,14287,14289],{"class":653,"line":661},[651,14284,846],{"class":664},[651,14286,2046],{"class":668},[651,14288,672],{"class":664},[651,14290,720],{"class":668},[651,14292,14293,14295,14297,14299],{"class":653,"line":688},[651,14294,858],{"class":664},[651,14296,2046],{"class":668},[651,14298,863],{"class":664},[651,14300,866],{"class":668},[651,14302,14303,14305],{"class":653,"line":697},[651,14304,871],{"class":664},[651,14306,874],{"class":675},[651,14308,14309,14311],{"class":653,"line":704},[651,14310,879],{"class":664},[651,14312,882],{"class":675},[651,14314,14315],{"class":653,"line":710},[651,14316,701],{"emptyLinePlaceholder":700},[651,14318,14319,14321,14323],{"class":653,"line":723},[651,14320,828],{"class":664},[651,14322,1051],{"class":831},[651,14324,4676],{"class":668},[651,14326,14327,14329,14331,14334,14336],{"class":653,"line":889},[651,14328,1064],{"class":668},[651,14330,1067],{"class":664},[651,14332,14333],{"class":668}," t[",[651,14335,1073],{"class":675},[651,14337,1076],{"class":668},[651,14339,14340,14342,14344,14346,14348,14350],{"class":653,"line":932},[651,14341,846],{"class":664},[651,14343,2046],{"class":668},[651,14345,672],{"class":664},[651,14347,14333],{"class":668},[651,14349,999],{"class":675},[651,14351,1091],{"class":668},[651,14353,14354,14356,14358,14360],{"class":653,"line":4762},[651,14355,858],{"class":664},[651,14357,2046],{"class":668},[651,14359,1100],{"class":664},[651,14361,1103],{"class":668},[651,14363,14364,14366,14368],{"class":653,"line":4773},[651,14365,1108],{"class":668},[651,14367,1067],{"class":664},[651,14369,2064],{"class":668},[651,14371,14372,14374],{"class":653,"line":4781},[651,14373,879],{"class":664},[651,14375,1120],{"class":668},[1572,14377,14378],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}",{"title":647,"searchDepth":661,"depth":661,"links":14380},[14381,14382,14383,14384,14385],{"id":14066,"depth":661,"text":14067},{"id":14104,"depth":661,"text":14105},{"id":14186,"depth":661,"text":14187},{"id":1517,"depth":661,"text":1518},{"id":14266,"depth":661,"text":14267},"Mémo de révision sur le parcours linéaire, la recherche d'occurrence, l'extremum et l'invariant.",{},"\u002Fnsi-1ere\u002Fph-algorithmique\u002Fparcours-sequentiel.memo",[],{"title":14060,"description":14386},"1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel.memo","0y4Qt_a6BR0dG-avgZoWgz1x8MoP_ynPmzAN78lWuiQ",{"id":14394,"title":14395,"bo":1587,"body":14396,"description":15933,"eval":1587,"extension":1588,"labo":1587,"meta":15934,"navigation":1595,"path":15935,"quizzes":15936,"readingTime":654,"seo":15937,"stem":15938,"tp":1587,"__hash__":15939},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases.memo.md","Bases de la complexité — l'essentiel",{"type":591,"value":14397,"toc":15924},[14398,14400,14439,14441,15095,15097,15410,15497,15765,15767,15806,15808,15921],[594,14399,14067],{"id":14066},[599,14401,14402,14403,14406,14407,14438],{},"La complexité ",[603,14404,14405],{},"mesure le coût"," d'un algorithme en nombre d'opérations\n",[603,14408,14409,14410],{},"en fonction de la taille de l'entrée ",[651,14411,14413,14426],{"className":14412},[755],[651,14414,14416],{"className":14415},[759],[761,14417,14418],{"xmlns":763},[765,14419,14420,14424],{},[768,14421,14422],{},[771,14423,773],{},[775,14425,773],{"encoding":777},[651,14427,14429],{"className":14428,"ariaHidden":782},[781],[651,14430,14432,14435],{"className":14431},[786],[651,14433],{"className":14434,"style":791},[790],[651,14436,773],{"className":14437},[795,796],", en négligeant constantes et\ndétails de petite taille.",[594,14440,14105],{"id":14104},[1014,14442,14443,14477,14767,14969,15089],{},[972,14444,14445,14476],{},[603,14446,14447,14448],{},"Taille ",[651,14449,14451,14464],{"className":14450},[755],[651,14452,14454],{"className":14453},[759],[761,14455,14456],{"xmlns":763},[765,14457,14458,14462],{},[768,14459,14460],{},[771,14461,773],{},[775,14463,773],{"encoding":777},[651,14465,14467],{"className":14466,"ariaHidden":782},[781],[651,14468,14470,14473],{"className":14469},[786],[651,14471],{"className":14472,"style":791},[790],[651,14474,773],{"className":14475},[795,796]," : nombre d'éléments d'un tableau, longueur d'une chaîne, …",[972,14478,14479,14482,14483],{},[603,14480,14481],{},"Trois ordres de grandeur clés"," :\n",[1014,14484,14485,14559,14633],{},[972,14486,14487,14530,14531,1308],{},[651,14488,14490,14509],{"className":14489},[755],[651,14491,14493],{"className":14492},[759],[761,14494,14495],{"xmlns":763},[765,14496,14497,14507],{},[768,14498,14499,14501,14503,14505],{},[771,14500,1475],{"mathvariant":1474},[1477,14502,679],{"stretchy":1479},[1869,14504,999],{},[1477,14506,1484],{"stretchy":1479},[775,14508,1875],{"encoding":777},[651,14510,14512],{"className":14511,"ariaHidden":782},[781],[651,14513,14515,14518,14521,14524,14527],{"className":14514},[786],[651,14516],{"className":14517,"style":1497},[790],[651,14519,1475],{"className":14520,"style":1502},[795,1501],[651,14522,679],{"className":14523},[1506],[651,14525,999],{"className":14526},[795],[651,14528,1484],{"className":14529},[1513]," : constant — indépendant de ",[651,14532,14534,14547],{"className":14533},[755],[651,14535,14537],{"className":14536},[759],[761,14538,14539],{"xmlns":763},[765,14540,14541,14545],{},[768,14542,14543],{},[771,14544,773],{},[775,14546,773],{"encoding":777},[651,14548,14550],{"className":14549,"ariaHidden":782},[781],[651,14551,14553,14556],{"className":14552},[786],[651,14554],{"className":14555,"style":791},[790],[651,14557,773],{"className":14558},[795,796],[972,14560,14561,14604,14605,1308],{},[651,14562,14564,14583],{"className":14563},[755],[651,14565,14567],{"className":14566},[759],[761,14568,14569],{"xmlns":763},[765,14570,14571,14581],{},[768,14572,14573,14575,14577,14579],{},[771,14574,1475],{"mathvariant":1474},[1477,14576,679],{"stretchy":1479},[771,14578,773],{},[1477,14580,1484],{"stretchy":1479},[775,14582,1487],{"encoding":777},[651,14584,14586],{"className":14585,"ariaHidden":782},[781],[651,14587,14589,14592,14595,14598,14601],{"className":14588},[786],[651,14590],{"className":14591,"style":1497},[790],[651,14593,1475],{"className":14594,"style":1502},[795,1501],[651,14596,679],{"className":14597},[1506],[651,14599,773],{"className":14600},[795,796],[651,14602,1484],{"className":14603},[1513]," : linéaire — proportionnel à ",[651,14606,14608,14621],{"className":14607},[755],[651,14609,14611],{"className":14610},[759],[761,14612,14613],{"xmlns":763},[765,14614,14615,14619],{},[768,14616,14617],{},[771,14618,773],{},[775,14620,773],{"encoding":777},[651,14622,14624],{"className":14623,"ariaHidden":782},[781],[651,14625,14627,14630],{"className":14626},[786],[651,14628],{"className":14629,"style":791},[790],[651,14631,773],{"className":14632},[795,796],[972,14634,14635,14708,14709,1308],{},[651,14636,14638,14661],{"className":14637},[755],[651,14639,14641],{"className":14640},[759],[761,14642,14643],{"xmlns":763},[765,14644,14645,14659],{},[768,14646,14647,14649,14651,14657],{},[771,14648,1475],{"mathvariant":1474},[1477,14650,679],{"stretchy":1479},[2093,14652,14653,14655],{},[771,14654,773],{},[1869,14656,908],{},[1477,14658,1484],{"stretchy":1479},[775,14660,2103],{"encoding":777},[651,14662,14664],{"className":14663,"ariaHidden":782},[781],[651,14665,14667,14670,14673,14676,14705],{"className":14666},[786],[651,14668],{"className":14669,"style":2113},[790],[651,14671,1475],{"className":14672,"style":1502},[795,1501],[651,14674,679],{"className":14675},[1506],[651,14677,14679,14682],{"className":14678},[795],[651,14680,773],{"className":14681},[795,796],[651,14683,14685],{"className":14684},[2129],[651,14686,14688],{"className":14687},[2133],[651,14689,14691],{"className":14690},[2137],[651,14692,14694],{"className":14693,"style":2142},[2141],[651,14695,14696,14699],{"style":2145},[651,14697],{"className":14698,"style":2150},[2149],[651,14700,14702],{"className":14701},[2154,2155,2156,2157],[651,14703,908],{"className":14704},[795,2157],[651,14706,1484],{"className":14707},[1513]," : quadratique — proportionnel à ",[651,14710,14712,14729],{"className":14711},[755],[651,14713,14715],{"className":14714},[759],[761,14716,14717],{"xmlns":763},[765,14718,14719,14727],{},[768,14720,14721],{},[2093,14722,14723,14725],{},[771,14724,773],{},[1869,14726,908],{},[775,14728,2187],{"encoding":777},[651,14730,14732],{"className":14731,"ariaHidden":782},[781],[651,14733,14735,14738],{"className":14734},[786],[651,14736],{"className":14737,"style":2142},[790],[651,14739,14741,14744],{"className":14740},[795],[651,14742,773],{"className":14743},[795,796],[651,14745,14747],{"className":14746},[2129],[651,14748,14750],{"className":14749},[2133],[651,14751,14753],{"className":14752},[2137],[651,14754,14756],{"className":14755,"style":2142},[2141],[651,14757,14758,14761],{"style":2145},[651,14759],{"className":14760,"style":2150},[2149],[651,14762,14764],{"className":14763},[2154,2155,2156,2157],[651,14765,908],{"className":14766},[795,2157],[972,14768,14769,1813,14772,1308],{},[603,14770,14771],{},"Hiérarchie",[651,14773,14775,14833],{"className":14774},[755],[651,14776,14778],{"className":14777},[759],[761,14779,14780],{"xmlns":763},[765,14781,14782,14830],{},[768,14783,14784,14786,14788,14790,14792,14794,14796,14798,14800,14802,14804,14806,14808,14810,14812,14814,14816,14818,14820,14822,14828],{},[771,14785,1475],{"mathvariant":1474},[1477,14787,679],{"stretchy":1479},[1869,14789,999],{},[1477,14791,1484],{"stretchy":1479},[1477,14793,3560],{},[771,14795,1475],{"mathvariant":1474},[1477,14797,679],{"stretchy":1479},[771,14799,3067],{},[1477,14801,3070],{},[771,14803,773],{},[1477,14805,1484],{"stretchy":1479},[1477,14807,3560],{},[771,14809,1475],{"mathvariant":1474},[1477,14811,679],{"stretchy":1479},[771,14813,773],{},[1477,14815,1484],{"stretchy":1479},[1477,14817,3560],{},[771,14819,1475],{"mathvariant":1474},[1477,14821,679],{"stretchy":1479},[2093,14823,14824,14826],{},[771,14825,773],{},[1869,14827,908],{},[1477,14829,1484],{"stretchy":1479},[775,14831,14832],{"encoding":777},"\\mathcal{O}(1) \u003C \\mathcal{O}(\\log n) \u003C \\mathcal{O}(n) \u003C \\mathcal{O}(n^2)",[651,14834,14836,14863,14898,14925],{"className":14835,"ariaHidden":782},[781],[651,14837,14839,14842,14845,14848,14851,14854,14857,14860],{"className":14838},[786],[651,14840],{"className":14841,"style":1497},[790],[651,14843,1475],{"className":14844,"style":1502},[795,1501],[651,14846,679],{"className":14847},[1506],[651,14849,999],{"className":14850},[795],[651,14852,1484],{"className":14853},[1513],[651,14855],{"className":14856,"style":3634},[2370],[651,14858,3560],{"className":14859},[3641],[651,14861],{"className":14862,"style":3634},[2370],[651,14864,14866,14869,14872,14875,14880,14883,14886,14889,14892,14895],{"className":14865},[786],[651,14867],{"className":14868,"style":1497},[790],[651,14870,1475],{"className":14871,"style":1502},[795,1501],[651,14873,679],{"className":14874},[1506],[651,14876,3097,14878],{"className":14877},[3096],[651,14879,3101],{"style":3100},[651,14881],{"className":14882,"style":3105},[2370],[651,14884,773],{"className":14885},[795,796],[651,14887,1484],{"className":14888},[1513],[651,14890],{"className":14891,"style":3634},[2370],[651,14893,3560],{"className":14894},[3641],[651,14896],{"className":14897,"style":3634},[2370],[651,14899,14901,14904,14907,14910,14913,14916,14919,14922],{"className":14900},[786],[651,14902],{"className":14903,"style":1497},[790],[651,14905,1475],{"className":14906,"style":1502},[795,1501],[651,14908,679],{"className":14909},[1506],[651,14911,773],{"className":14912},[795,796],[651,14914,1484],{"className":14915},[1513],[651,14917],{"className":14918,"style":3634},[2370],[651,14920,3560],{"className":14921},[3641],[651,14923],{"className":14924,"style":3634},[2370],[651,14926,14928,14931,14934,14937,14966],{"className":14927},[786],[651,14929],{"className":14930,"style":2113},[790],[651,14932,1475],{"className":14933,"style":1502},[795,1501],[651,14935,679],{"className":14936},[1506],[651,14938,14940,14943],{"className":14939},[795],[651,14941,773],{"className":14942},[795,796],[651,14944,14946],{"className":14945},[2129],[651,14947,14949],{"className":14948},[2133],[651,14950,14952],{"className":14951},[2137],[651,14953,14955],{"className":14954,"style":2142},[2141],[651,14956,14957,14960],{"style":2145},[651,14958],{"className":14959,"style":2150},[2149],[651,14961,14963],{"className":14962},[2154,2155,2156,2157],[651,14964,908],{"className":14965},[795,2157],[651,14967,1484],{"className":14968},[1513],[972,14970,14971,14974,14975,15045,15046,1308],{},[603,14972,14973],{},"Grand-O ignore"," : constantes multiplicatives et termes d'ordre inférieur.\n",[651,14976,14978,15003],{"className":14977},[755],[651,14979,14981],{"className":14980},[759],[761,14982,14983],{"xmlns":763},[765,14984,14985,15001],{},[768,14986,14987,14989,14991,14993,14995,14997,14999],{},[771,14988,1475],{"mathvariant":1474},[1477,14990,679],{"stretchy":1479},[1869,14992,898],{},[771,14994,773],{},[1477,14996,2291],{},[1869,14998,918],{},[1477,15000,1484],{"stretchy":1479},[775,15002,4252],{"encoding":777},[651,15004,15006,15033],{"className":15005,"ariaHidden":782},[781],[651,15007,15009,15012,15015,15018,15021,15024,15027,15030],{"className":15008},[786],[651,15010],{"className":15011,"style":1497},[790],[651,15013,1475],{"className":15014,"style":1502},[795,1501],[651,15016,679],{"className":15017},[1506],[651,15019,898],{"className":15020},[795],[651,15022,773],{"className":15023},[795,796],[651,15025],{"className":15026,"style":2371},[2370],[651,15028,2291],{"className":15029},[2375],[651,15031],{"className":15032,"style":2371},[2370],[651,15034,15036,15039,15042],{"className":15035},[786],[651,15037],{"className":15038,"style":1497},[790],[651,15040,918],{"className":15041},[795],[651,15043,1484],{"className":15044},[1513]," s'écrit ",[651,15047,15049,15068],{"className":15048},[755],[651,15050,15052],{"className":15051},[759],[761,15053,15054],{"xmlns":763},[765,15055,15056,15066],{},[768,15057,15058,15060,15062,15064],{},[771,15059,1475],{"mathvariant":1474},[1477,15061,679],{"stretchy":1479},[771,15063,773],{},[1477,15065,1484],{"stretchy":1479},[775,15067,1487],{"encoding":777},[651,15069,15071],{"className":15070,"ariaHidden":782},[781],[651,15072,15074,15077,15080,15083,15086],{"className":15073},[786],[651,15075],{"className":15076,"style":1497},[790],[651,15078,1475],{"className":15079,"style":1502},[795,1501],[651,15081,679],{"className":15082},[1506],[651,15084,773],{"className":15085},[795,796],[651,15087,1484],{"className":15088},[1513],[972,15090,15091,15094],{},[603,15092,15093],{},"Cas pire"," : borne maximale — c'est ce qu'on annonce par défaut.",[594,15096,14187],{"id":14186},[3166,15098,15099,15109],{},[3169,15100,15101],{},[3172,15102,15103,15106],{},[3175,15104,15105],{},"Structure du code",[3175,15107,15108],{},"Complexité typique",[3390,15110,15111,15161,15240,15348],{},[3172,15112,15113,15116],{},[3395,15114,15115],{},"Accès direct, opération unique",[3395,15117,15118],{},[651,15119,15121,15140],{"className":15120},[755],[651,15122,15124],{"className":15123},[759],[761,15125,15126],{"xmlns":763},[765,15127,15128,15138],{},[768,15129,15130,15132,15134,15136],{},[771,15131,1475],{"mathvariant":1474},[1477,15133,679],{"stretchy":1479},[1869,15135,999],{},[1477,15137,1484],{"stretchy":1479},[775,15139,1875],{"encoding":777},[651,15141,15143],{"className":15142,"ariaHidden":782},[781],[651,15144,15146,15149,15152,15155,15158],{"className":15145},[786],[651,15147],{"className":15148,"style":1497},[790],[651,15150,1475],{"className":15151,"style":1502},[795,1501],[651,15153,679],{"className":15154},[1506],[651,15156,999],{"className":15157},[795],[651,15159,1484],{"className":15160},[1513],[3172,15162,15163,15195],{},[3395,15164,15165,15166,15194],{},"Une boucle qui parcourt ",[651,15167,15169,15182],{"className":15168},[755],[651,15170,15172],{"className":15171},[759],[761,15173,15174],{"xmlns":763},[765,15175,15176,15180],{},[768,15177,15178],{},[771,15179,773],{},[775,15181,773],{"encoding":777},[651,15183,15185],{"className":15184,"ariaHidden":782},[781],[651,15186,15188,15191],{"className":15187},[786],[651,15189],{"className":15190,"style":791},[790],[651,15192,773],{"className":15193},[795,796]," éléments",[3395,15196,15197],{},[651,15198,15200,15219],{"className":15199},[755],[651,15201,15203],{"className":15202},[759],[761,15204,15205],{"xmlns":763},[765,15206,15207,15217],{},[768,15208,15209,15211,15213,15215],{},[771,15210,1475],{"mathvariant":1474},[1477,15212,679],{"stretchy":1479},[771,15214,773],{},[1477,15216,1484],{"stretchy":1479},[775,15218,1487],{"encoding":777},[651,15220,15222],{"className":15221,"ariaHidden":782},[781],[651,15223,15225,15228,15231,15234,15237],{"className":15224},[786],[651,15226],{"className":15227,"style":1497},[790],[651,15229,1475],{"className":15230,"style":1502},[795,1501],[651,15232,679],{"className":15233},[1506],[651,15235,773],{"className":15236},[795,796],[651,15238,1484],{"className":15239},[1513],[3172,15241,15242,15273],{},[3395,15243,15244,15245],{},"Deux boucles imbriquées sur ",[651,15246,15248,15261],{"className":15247},[755],[651,15249,15251],{"className":15250},[759],[761,15252,15253],{"xmlns":763},[765,15254,15255,15259],{},[768,15256,15257],{},[771,15258,773],{},[775,15260,773],{"encoding":777},[651,15262,15264],{"className":15263,"ariaHidden":782},[781],[651,15265,15267,15270],{"className":15266},[786],[651,15268],{"className":15269,"style":791},[790],[651,15271,773],{"className":15272},[795,796],[3395,15274,15275],{},[651,15276,15278,15301],{"className":15277},[755],[651,15279,15281],{"className":15280},[759],[761,15282,15283],{"xmlns":763},[765,15284,15285,15299],{},[768,15286,15287,15289,15291,15297],{},[771,15288,1475],{"mathvariant":1474},[1477,15290,679],{"stretchy":1479},[2093,15292,15293,15295],{},[771,15294,773],{},[1869,15296,908],{},[1477,15298,1484],{"stretchy":1479},[775,15300,2103],{"encoding":777},[651,15302,15304],{"className":15303,"ariaHidden":782},[781],[651,15305,15307,15310,15313,15316,15345],{"className":15306},[786],[651,15308],{"className":15309,"style":2113},[790],[651,15311,1475],{"className":15312,"style":1502},[795,1501],[651,15314,679],{"className":15315},[1506],[651,15317,15319,15322],{"className":15318},[795],[651,15320,773],{"className":15321},[795,796],[651,15323,15325],{"className":15324},[2129],[651,15326,15328],{"className":15327},[2133],[651,15329,15331],{"className":15330},[2137],[651,15332,15334],{"className":15333,"style":2142},[2141],[651,15335,15336,15339],{"style":2145},[651,15337],{"className":15338,"style":2150},[2149],[651,15340,15342],{"className":15341},[2154,2155,2156,2157],[651,15343,908],{"className":15344},[795,2157],[651,15346,1484],{"className":15347},[1513],[3172,15349,15350,15353],{},[3395,15351,15352],{},"Division par 2 à chaque tour",[3395,15354,15355],{},[651,15356,15358,15381],{"className":15357},[755],[651,15359,15361],{"className":15360},[759],[761,15362,15363],{"xmlns":763},[765,15364,15365,15379],{},[768,15366,15367,15369,15371,15373,15375,15377],{},[771,15368,1475],{"mathvariant":1474},[1477,15370,679],{"stretchy":1479},[771,15372,3067],{},[1477,15374,3070],{},[771,15376,773],{},[1477,15378,1484],{"stretchy":1479},[775,15380,3077],{"encoding":777},[651,15382,15384],{"className":15383,"ariaHidden":782},[781],[651,15385,15387,15390,15393,15396,15401,15404,15407],{"className":15386},[786],[651,15388],{"className":15389,"style":1497},[790],[651,15391,1475],{"className":15392,"style":1502},[795,1501],[651,15394,679],{"className":15395},[1506],[651,15397,3097,15399],{"className":15398},[3096],[651,15400,3101],{"style":3100},[651,15402],{"className":15403,"style":3105},[2370],[651,15405,773],{"className":15406},[795,796],[651,15408,1484],{"className":15409},[1513],[594,15411,15413,15414],{"id":15412},"ordres-de-grandeur-pour-n106n-106n106","Ordres de grandeur pour ",[651,15415,15417,15438],{"className":15416},[755],[651,15418,15420],{"className":15419},[759],[761,15421,15422],{"xmlns":763},[765,15423,15424,15436],{},[768,15425,15426,15428,15430],{},[771,15427,773],{},[1477,15429,1067],{},[2093,15431,15432,15434],{},[1869,15433,1273],{},[1869,15435,1268],{},[775,15437,7260],{"encoding":777},[651,15439,15441,15459],{"className":15440,"ariaHidden":782},[781],[651,15442,15444,15447,15450,15453,15456],{"className":15443},[786],[651,15445],{"className":15446,"style":791},[790],[651,15448,773],{"className":15449},[795,796],[651,15451],{"className":15452,"style":3634},[2370],[651,15454,1067],{"className":15455},[3641],[651,15457],{"className":15458,"style":3634},[2370],[651,15460,15462,15465,15468],{"className":15461},[786],[651,15463],{"className":15464,"style":2142},[790],[651,15466,999],{"className":15467},[795],[651,15469,15471,15474],{"className":15470},[795],[651,15472,1073],{"className":15473},[795],[651,15475,15477],{"className":15476},[2129],[651,15478,15480],{"className":15479},[2133],[651,15481,15483],{"className":15482},[2137],[651,15484,15486],{"className":15485,"style":2142},[2141],[651,15487,15488,15491],{"style":2145},[651,15489],{"className":15490,"style":2150},[2149],[651,15492,15494],{"className":15493},[2154,2155,2156,2157],[651,15495,1268],{"className":15496},[795,2157],[3166,15498,15499,15509],{},[3169,15500,15501],{},[3172,15502,15503,15506],{},[3175,15504,15505],{},"Complexité",[3175,15507,15508],{},"Étapes",[3390,15510,15511,15572,15621],{},[3172,15512,15513,15570],{},[3395,15514,15515],{},[651,15516,15518,15541],{"className":15517},[755],[651,15519,15521],{"className":15520},[759],[761,15522,15523],{"xmlns":763},[765,15524,15525,15539],{},[768,15526,15527,15529,15531,15533,15535,15537],{},[771,15528,1475],{"mathvariant":1474},[1477,15530,679],{"stretchy":1479},[771,15532,3067],{},[1477,15534,3070],{},[771,15536,773],{},[1477,15538,1484],{"stretchy":1479},[775,15540,3077],{"encoding":777},[651,15542,15544],{"className":15543,"ariaHidden":782},[781],[651,15545,15547,15550,15553,15556,15561,15564,15567],{"className":15546},[786],[651,15548],{"className":15549,"style":1497},[790],[651,15551,1475],{"className":15552,"style":1502},[795,1501],[651,15554,679],{"className":15555},[1506],[651,15557,3097,15559],{"className":15558},[3096],[651,15560,3101],{"style":3100},[651,15562],{"className":15563,"style":3105},[2370],[651,15565,773],{"className":15566},[795,796],[651,15568,1484],{"className":15569},[1513],[3395,15571,3436],{},[3172,15573,15574,15619],{},[3395,15575,15576],{},[651,15577,15579,15598],{"className":15578},[755],[651,15580,15582],{"className":15581},[759],[761,15583,15584],{"xmlns":763},[765,15585,15586,15596],{},[768,15587,15588,15590,15592,15594],{},[771,15589,1475],{"mathvariant":1474},[1477,15591,679],{"stretchy":1479},[771,15593,773],{},[1477,15595,1484],{"stretchy":1479},[775,15597,1487],{"encoding":777},[651,15599,15601],{"className":15600,"ariaHidden":782},[781],[651,15602,15604,15607,15610,15613,15616],{"className":15603},[786],[651,15605],{"className":15606,"style":1497},[790],[651,15608,1475],{"className":15609,"style":1502},[795,1501],[651,15611,679],{"className":15612},[1506],[651,15614,773],{"className":15615},[795,796],[651,15617,1484],{"className":15618},[1513],[3395,15620,3429],{},[3172,15622,15623,15698],{},[3395,15624,15625],{},[651,15626,15628,15651],{"className":15627},[755],[651,15629,15631],{"className":15630},[759],[761,15632,15633],{"xmlns":763},[765,15634,15635,15649],{},[768,15636,15637,15639,15641,15647],{},[771,15638,1475],{"mathvariant":1474},[1477,15640,679],{"stretchy":1479},[2093,15642,15643,15645],{},[771,15644,773],{},[1869,15646,908],{},[1477,15648,1484],{"stretchy":1479},[775,15650,2103],{"encoding":777},[651,15652,15654],{"className":15653,"ariaHidden":782},[781],[651,15655,15657,15660,15663,15666,15695],{"className":15656},[786],[651,15658],{"className":15659,"style":2113},[790],[651,15661,1475],{"className":15662,"style":1502},[795,1501],[651,15664,679],{"className":15665},[1506],[651,15667,15669,15672],{"className":15668},[795],[651,15670,773],{"className":15671},[795,796],[651,15673,15675],{"className":15674},[2129],[651,15676,15678],{"className":15677},[2133],[651,15679,15681],{"className":15680},[2137],[651,15682,15684],{"className":15683,"style":2142},[2141],[651,15685,15686,15689],{"style":2145},[651,15687],{"className":15688,"style":2150},[2149],[651,15690,15692],{"className":15691},[2154,2155,2156,2157],[651,15693,908],{"className":15694},[795,2157],[651,15696,1484],{"className":15697},[1513],[3395,15699,15700,15764],{},[651,15701,15703,15720],{"className":15702},[755],[651,15704,15706],{"className":15705},[759],[761,15707,15708],{"xmlns":763},[765,15709,15710,15718],{},[768,15711,15712],{},[2093,15713,15714,15716],{},[1869,15715,1273],{},[1869,15717,3459],{},[775,15719,3462],{"encoding":777},[651,15721,15723],{"className":15722,"ariaHidden":782},[781],[651,15724,15726,15729,15732],{"className":15725},[786],[651,15727],{"className":15728,"style":2142},[790],[651,15730,999],{"className":15731},[795],[651,15733,15735,15738],{"className":15734},[795],[651,15736,1073],{"className":15737},[795],[651,15739,15741],{"className":15740},[2129],[651,15742,15744],{"className":15743},[2133],[651,15745,15747],{"className":15746},[2137],[651,15748,15750],{"className":15749,"style":2142},[2141],[651,15751,15752,15755],{"style":2145},[651,15753],{"className":15754,"style":2150},[2149],[651,15756,15758],{"className":15757},[2154,2155,2156,2157],[651,15759,15761],{"className":15760},[795,2157],[651,15762,3459],{"className":15763},[795,2157]," — irréalisable",[594,15766,1518],{"id":1517},[1014,15768,15769,15772,15803],{},[972,15770,15771],{},"Mesurer en secondes (dépend de la machine).",[972,15773,15774,15775,1308],{},"Garder les constantes dans le ",[651,15776,15778,15791],{"className":15777},[755],[651,15779,15781],{"className":15780},[759],[761,15782,15783],{"xmlns":763},[765,15784,15785,15789],{},[768,15786,15787],{},[771,15788,1475],{"mathvariant":1474},[775,15790,4163],{"encoding":777},[651,15792,15794],{"className":15793,"ariaHidden":782},[781],[651,15795,15797,15800],{"className":15796},[786],[651,15798],{"className":15799,"style":4173},[790],[651,15801,1475],{"className":15802,"style":1502},[795,1501],[972,15804,15805],{},"Confondre cas pire et cas moyen.",[594,15807,14267],{"id":14266},[642,15809,15811],{"className":644,"code":15810,"language":646,"meta":647,"style":647},"def constant(t):       # O(1)\n    return t[0]\n\ndef lineaire(t):       # O(n)\n    for v in t:\n        ...\n\ndef quadratique(t):    # O(n^2)\n    for i in range(len(t)):\n        for j in range(len(t)):\n            ...\n",[625,15812,15813,15826,15836,15840,15852,15862,15867,15871,15884,15900,15916],{"__ignoreMap":647},[651,15814,15815,15817,15820,15823],{"class":653,"line":654},[651,15816,828],{"class":664},[651,15818,15819],{"class":831}," constant",[651,15821,15822],{"class":668},"(t):       ",[651,15824,15825],{"class":657},"# O(1)\n",[651,15827,15828,15830,15832,15834],{"class":653,"line":661},[651,15829,879],{"class":664},[651,15831,14333],{"class":668},[651,15833,1073],{"class":675},[651,15835,1076],{"class":668},[651,15837,15838],{"class":653,"line":688},[651,15839,701],{"emptyLinePlaceholder":700},[651,15841,15842,15844,15847,15849],{"class":653,"line":697},[651,15843,828],{"class":664},[651,15845,15846],{"class":831}," lineaire",[651,15848,15822],{"class":668},[651,15850,15851],{"class":657},"# O(n)\n",[651,15853,15854,15856,15858,15860],{"class":653,"line":704},[651,15855,846],{"class":664},[651,15857,2046],{"class":668},[651,15859,672],{"class":664},[651,15861,720],{"class":668},[651,15863,15864],{"class":653,"line":710},[651,15865,15866],{"class":675},"        ...\n",[651,15868,15869],{"class":653,"line":723},[651,15870,701],{"emptyLinePlaceholder":700},[651,15872,15873,15875,15878,15881],{"class":653,"line":889},[651,15874,828],{"class":664},[651,15876,15877],{"class":831}," quadratique",[651,15879,15880],{"class":668},"(t):    ",[651,15882,15883],{"class":657},"# O(n^2)\n",[651,15885,15886,15888,15890,15892,15894,15896,15898],{"class":653,"line":932},[651,15887,846],{"class":664},[651,15889,669],{"class":668},[651,15891,672],{"class":664},[651,15893,676],{"class":675},[651,15895,679],{"class":668},[651,15897,682],{"class":675},[651,15899,685],{"class":668},[651,15901,15902,15904,15906,15908,15910,15912,15914],{"class":653,"line":4762},[651,15903,2278],{"class":664},[651,15905,2281],{"class":668},[651,15907,672],{"class":664},[651,15909,676],{"class":675},[651,15911,679],{"class":668},[651,15913,682],{"class":675},[651,15915,685],{"class":668},[651,15917,15918],{"class":653,"line":4773},[651,15919,15920],{"class":675},"            ...\n",[1572,15922,15923],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}",{"title":647,"searchDepth":661,"depth":661,"links":15925},[15926,15927,15928,15929,15931,15932],{"id":14066,"depth":661,"text":14067},{"id":14104,"depth":661,"text":14105},{"id":14186,"depth":661,"text":14187},{"id":15412,"depth":661,"text":15930},"Ordres de grandeur pour n=106n = 10^6n=106",{"id":1517,"depth":661,"text":1518},{"id":14266,"depth":661,"text":14267},"Mémo de révision sur la notation grand-O et les trois ordres de grandeur classiques.",{},"\u002Fnsi-1ere\u002Fph-algorithmique\u002Fcomplexite-bases.memo",[],{"title":14395,"description":15933},"1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases.memo","4xteAkJ58uzNRuqkgAr7aDbFMKFDXhtAd-yKgQXjpJY",{"id":15941,"title":15942,"bo":15943,"body":15944,"description":16685,"eval":1587,"extension":1588,"labo":1587,"meta":16686,"navigation":1595,"path":16687,"quizzes":16688,"readingTime":654,"seo":16689,"stem":16690,"tp":1587,"__hash__":16691},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002F3.tris.memo.md","Tris par sélection et par insertion — l'essentiel",[4469],{"type":591,"value":15945,"toc":16678},[15946,15948,16032,16034,16038,16216,16220,16384,16397,16399,16441,16443,16463,16465,16676],[594,15947,14067],{"id":14066},[599,15949,15950,15951,1813,16024,16027,16028,16031],{},"Deux tris naïfs en ",[651,15952,15954,15977],{"className":15953},[755],[651,15955,15957],{"className":15956},[759],[761,15958,15959],{"xmlns":763},[765,15960,15961,15975],{},[768,15962,15963,15965,15967,15973],{},[771,15964,1475],{"mathvariant":1474},[1477,15966,679],{"stretchy":1479},[2093,15968,15969,15971],{},[771,15970,773],{},[1869,15972,908],{},[1477,15974,1484],{"stretchy":1479},[775,15976,2103],{"encoding":777},[651,15978,15980],{"className":15979,"ariaHidden":782},[781],[651,15981,15983,15986,15989,15992,16021],{"className":15982},[786],[651,15984],{"className":15985,"style":2113},[790],[651,15987,1475],{"className":15988,"style":1502},[795,1501],[651,15990,679],{"className":15991},[1506],[651,15993,15995,15998],{"className":15994},[795],[651,15996,773],{"className":15997},[795,796],[651,15999,16001],{"className":16000},[2129],[651,16002,16004],{"className":16003},[2133],[651,16005,16007],{"className":16006},[2137],[651,16008,16010],{"className":16009,"style":2142},[2141],[651,16011,16012,16015],{"style":2145},[651,16013],{"className":16014,"style":2150},[2149],[651,16016,16018],{"className":16017},[2154,2155,2156,2157],[651,16019,908],{"className":16020},[795,2157],[651,16022,1484],{"className":16023},[1513],[603,16025,16026],{},"sélection"," (chercher le min,\néchanger), ",[603,16029,16030],{},"insertion"," (insérer à la bonne place dans la zone triée).",[594,16033,14105],{"id":14104},[599,16035,16036],{},[603,16037,5782],{},[1014,16039,16040,16046,16049,16138],{},[972,16041,16042,16043,1308],{},"Découpe le tableau en ",[625,16044,16045],{},"[trié | non trié]",[972,16047,16048],{},"À chaque tour, cherche le minimum à droite et l'échange avec la première\ncase non triée.",[972,16050,16051,16054,16055,632,16083,16086,16087,16137],{},[603,16052,16053],{},"Invariant"," : après le tour ",[651,16056,16058,16071],{"className":16057},[755],[651,16059,16061],{"className":16060},[759],[761,16062,16063],{"xmlns":763},[765,16064,16065,16069],{},[768,16066,16067],{},[771,16068,4617],{},[775,16070,4617],{"encoding":777},[651,16072,16074],{"className":16073,"ariaHidden":782},[781],[651,16075,16077,16080],{"className":16076},[786],[651,16078],{"className":16079,"style":4629},[790],[651,16081,4617],{"className":16082},[795,796],[625,16084,16085],{},"t[0..i]"," contient les ",[651,16088,16090,16107],{"className":16089},[755],[651,16091,16093],{"className":16092},[759],[761,16094,16095],{"xmlns":763},[765,16096,16097,16105],{},[768,16098,16099,16101,16103],{},[771,16100,4617],{},[1477,16102,2291],{},[1869,16104,999],{},[775,16106,4946],{"encoding":777},[651,16108,16110,16128],{"className":16109,"ariaHidden":782},[781],[651,16111,16113,16116,16119,16122,16125],{"className":16112},[786],[651,16114],{"className":16115,"style":4956},[790],[651,16117,4617],{"className":16118},[795,796],[651,16120],{"className":16121,"style":2371},[2370],[651,16123,2291],{"className":16124},[2375],[651,16126],{"className":16127,"style":2371},[2370],[651,16129,16131,16134],{"className":16130},[786],[651,16132],{"className":16133,"style":2694},[790],[651,16135,999],{"className":16136},[795]," plus petits\néléments, triés.",[972,16139,16140,16141,1289,16143,1308],{},"Coût ",[603,16142,9836],{},[651,16144,16146,16169],{"className":16145},[755],[651,16147,16149],{"className":16148},[759],[761,16150,16151],{"xmlns":763},[765,16152,16153,16167],{},[768,16154,16155,16157,16159,16165],{},[771,16156,1475],{"mathvariant":1474},[1477,16158,679],{"stretchy":1479},[2093,16160,16161,16163],{},[771,16162,773],{},[1869,16164,908],{},[1477,16166,1484],{"stretchy":1479},[775,16168,2103],{"encoding":777},[651,16170,16172],{"className":16171,"ariaHidden":782},[781],[651,16173,16175,16178,16181,16184,16213],{"className":16174},[786],[651,16176],{"className":16177,"style":2113},[790],[651,16179,1475],{"className":16180,"style":1502},[795,1501],[651,16182,679],{"className":16183},[1506],[651,16185,16187,16190],{"className":16186},[795],[651,16188,773],{"className":16189},[795,796],[651,16191,16193],{"className":16192},[2129],[651,16194,16196],{"className":16195},[2133],[651,16197,16199],{"className":16198},[2137],[651,16200,16202],{"className":16201,"style":2142},[2141],[651,16203,16204,16207],{"style":2145},[651,16205],{"className":16206,"style":2150},[2149],[651,16208,16210],{"className":16209},[2154,2155,2156,2157],[651,16211,908],{"className":16212},[795,2157],[651,16214,1484],{"className":16215},[1513],[599,16217,16218],{},[603,16219,6315],{},[1014,16221,16222,16228,16264],{},[972,16223,16224,16225,16227],{},"À chaque tour, prend l'élément courant et l'insère à sa place dans\n",[625,16226,5591],{}," (déjà trié) en décalant.",[972,16229,16230,16232,16233,632,16261,16263],{},[603,16231,16053],{}," : au début du tour ",[651,16234,16236,16249],{"className":16235},[755],[651,16237,16239],{"className":16238},[759],[761,16240,16241],{"xmlns":763},[765,16242,16243,16247],{},[768,16244,16245],{},[771,16246,4617],{},[775,16248,4617],{"encoding":777},[651,16250,16252],{"className":16251,"ariaHidden":782},[781],[651,16253,16255,16258],{"className":16254},[786],[651,16256],{"className":16257,"style":4629},[790],[651,16259,4617],{"className":16260},[795,796],[625,16262,5591],{}," est trié.",[972,16265,16266,16267,16340,16341,1308],{},"Coût pire cas : ",[651,16268,16270,16293],{"className":16269},[755],[651,16271,16273],{"className":16272},[759],[761,16274,16275],{"xmlns":763},[765,16276,16277,16291],{},[768,16278,16279,16281,16283,16289],{},[771,16280,1475],{"mathvariant":1474},[1477,16282,679],{"stretchy":1479},[2093,16284,16285,16287],{},[771,16286,773],{},[1869,16288,908],{},[1477,16290,1484],{"stretchy":1479},[775,16292,2103],{"encoding":777},[651,16294,16296],{"className":16295,"ariaHidden":782},[781],[651,16297,16299,16302,16305,16308,16337],{"className":16298},[786],[651,16300],{"className":16301,"style":2113},[790],[651,16303,1475],{"className":16304,"style":1502},[795,1501],[651,16306,679],{"className":16307},[1506],[651,16309,16311,16314],{"className":16310},[795],[651,16312,773],{"className":16313},[795,796],[651,16315,16317],{"className":16316},[2129],[651,16318,16320],{"className":16319},[2133],[651,16321,16323],{"className":16322},[2137],[651,16324,16326],{"className":16325,"style":2142},[2141],[651,16327,16328,16331],{"style":2145},[651,16329],{"className":16330,"style":2150},[2149],[651,16332,16334],{"className":16333},[2154,2155,2156,2157],[651,16335,908],{"className":16336},[795,2157],[651,16338,1484],{"className":16339},[1513],". Meilleur cas : ",[651,16342,16344,16363],{"className":16343},[755],[651,16345,16347],{"className":16346},[759],[761,16348,16349],{"xmlns":763},[765,16350,16351,16361],{},[768,16352,16353,16355,16357,16359],{},[771,16354,1475],{"mathvariant":1474},[1477,16356,679],{"stretchy":1479},[771,16358,773],{},[1477,16360,1484],{"stretchy":1479},[775,16362,1487],{"encoding":777},[651,16364,16366],{"className":16365,"ariaHidden":782},[781],[651,16367,16369,16372,16375,16378,16381],{"className":16368},[786],[651,16370],{"className":16371,"style":1497},[790],[651,16373,1475],{"className":16374,"style":1502},[795,1501],[651,16376,679],{"className":16377},[1506],[651,16379,773],{"className":16380},[795,796],[651,16382,1484],{"className":16383},[1513],[599,16385,16386,16389,16390,16393,16394,16396],{},[603,16387,16388],{},"Tous deux terminent"," car les boucles parcourent des intervalles finis (et\n",[625,16391,16392],{},"j -= 1"," dans le ",[625,16395,5733],{}," du tri insertion garantit la sortie).",[594,16398,14187],{"id":14186},[3166,16400,16401,16411],{},[3169,16402,16403],{},[3172,16404,16405,16408],{},[3175,16406,16407],{},"Indice",[3175,16409,16410],{},"Tri en jeu",[3390,16412,16413,16420,16427,16434],{},[3172,16414,16415,16418],{},[3395,16416,16417],{},"« cherche le min, échange »",[3395,16419,6761],{},[3172,16421,16422,16425],{},[3395,16423,16424],{},"« décale, insère à la bonne place »",[3395,16426,6916],{},[3172,16428,16429,16432],{},[3395,16430,16431],{},"« rapide sur un tableau presque trié »",[3395,16433,6916],{},[3172,16435,16436,16439],{},[3395,16437,16438],{},"« toujours le même nombre de comparaisons »",[3395,16440,6761],{},[594,16442,1518],{"id":1517},[1014,16444,16445,16460],{},[972,16446,16447,16448,16450,16451,16454,16455,16457,16458,1308],{},"Bug Python : ",[625,16449,7100],{}," n'est ",[603,16452,16453],{},"pas"," « avant le début » — c'est le dernier\nélément. D'où l'importance du ",[625,16456,7096],{}," dans la garde du ",[625,16459,5733],{},[972,16461,16462],{},"Confondre les deux algorithmes — leur boucle interne fait des choses\ndifférentes (recherche min vs décalage).",[594,16464,14267],{"id":14266},[642,16466,16468],{"className":644,"code":16467,"language":646,"meta":647,"style":647},"def tri_selection(t):\n    n = len(t)\n    for i in range(n):\n        i_min = i\n        for j in range(i + 1, n):\n            if t[j] \u003C t[i_min]:\n                i_min = j\n        t[i], t[i_min] = t[i_min], t[i]\n    return t\n\ndef tri_insertion(t):\n    n = len(t)\n    for i in range(1, n):\n        valeur = t[i]\n        j = i - 1\n        while j >= 0 and t[j] > valeur:\n            t[j + 1] = t[j]\n            j -= 1\n        t[j + 1] = valeur\n    return t\n",[625,16469,16470,16478,16488,16500,16508,16526,16536,16544,16552,16558,16562,16570,16580,16596,16604,16616,16634,16648,16656,16670],{"__ignoreMap":647},[651,16471,16472,16474,16476],{"class":653,"line":654},[651,16473,828],{"class":664},[651,16475,4673],{"class":831},[651,16477,4676],{"class":668},[651,16479,16480,16482,16484,16486],{"class":653,"line":661},[651,16481,2254],{"class":668},[651,16483,1067],{"class":664},[651,16485,1242],{"class":675},[651,16487,4687],{"class":668},[651,16489,16490,16492,16494,16496,16498],{"class":653,"line":688},[651,16491,846],{"class":664},[651,16493,669],{"class":668},[651,16495,672],{"class":664},[651,16497,676],{"class":675},[651,16499,2273],{"class":668},[651,16501,16502,16504,16506],{"class":653,"line":697},[651,16503,4709],{"class":668},[651,16505,1067],{"class":664},[651,16507,4714],{"class":668},[651,16509,16510,16512,16514,16516,16518,16520,16522,16524],{"class":653,"line":704},[651,16511,2278],{"class":664},[651,16513,2281],{"class":668},[651,16515,672],{"class":664},[651,16517,676],{"class":675},[651,16519,2288],{"class":668},[651,16521,2291],{"class":664},[651,16523,2294],{"class":675},[651,16525,2297],{"class":668},[651,16527,16528,16530,16532,16534],{"class":653,"line":710},[651,16529,2302],{"class":664},[651,16531,4739],{"class":668},[651,16533,3560],{"class":664},[651,16535,4744],{"class":668},[651,16537,16538,16540,16542],{"class":653,"line":723},[651,16539,4749],{"class":668},[651,16541,1067],{"class":664},[651,16543,4754],{"class":668},[651,16545,16546,16548,16550],{"class":653,"line":889},[651,16547,4765],{"class":668},[651,16549,1067],{"class":664},[651,16551,4770],{"class":668},[651,16553,16554,16556],{"class":653,"line":932},[651,16555,879],{"class":664},[651,16557,4778],{"class":668},[651,16559,16560],{"class":653,"line":4762},[651,16561,701],{"emptyLinePlaceholder":700},[651,16563,16564,16566,16568],{"class":653,"line":4773},[651,16565,828],{"class":664},[651,16567,5189],{"class":831},[651,16569,4676],{"class":668},[651,16571,16572,16574,16576,16578],{"class":653,"line":4781},[651,16573,2254],{"class":668},[651,16575,1067],{"class":664},[651,16577,1242],{"class":675},[651,16579,4687],{"class":668},[651,16581,16582,16584,16586,16588,16590,16592,16594],{"class":653,"line":4786},[651,16583,846],{"class":664},[651,16585,669],{"class":668},[651,16587,672],{"class":664},[651,16589,676],{"class":675},[651,16591,679],{"class":668},[651,16593,999],{"class":675},[651,16595,2297],{"class":668},[651,16597,16598,16600,16602],{"class":653,"line":4819},[651,16599,5227],{"class":668},[651,16601,1067],{"class":664},[651,16603,5232],{"class":668},[651,16605,16606,16608,16610,16612,16614],{"class":653,"line":5361},[651,16607,5237],{"class":668},[651,16609,1067],{"class":664},[651,16611,669],{"class":668},[651,16613,5244],{"class":664},[651,16615,5247],{"class":675},[651,16617,16618,16620,16622,16624,16626,16628,16630,16632],{"class":653,"line":7903},[651,16619,5257],{"class":664},[651,16621,2281],{"class":668},[651,16623,5262],{"class":664},[651,16625,5265],{"class":675},[651,16627,5268],{"class":664},[651,16629,4739],{"class":668},[651,16631,1100],{"class":664},[651,16633,5275],{"class":668},[651,16635,16636,16638,16640,16642,16644,16646],{"class":653,"line":8077},[651,16637,5280],{"class":668},[651,16639,2291],{"class":664},[651,16641,2294],{"class":675},[651,16643,5287],{"class":668},[651,16645,1067],{"class":664},[651,16647,5292],{"class":668},[651,16649,16650,16652,16654],{"class":653,"line":8106},[651,16651,5297],{"class":668},[651,16653,5300],{"class":664},[651,16655,5247],{"class":675},[651,16657,16658,16660,16662,16664,16666,16668],{"class":653,"line":8125},[651,16659,5307],{"class":668},[651,16661,2291],{"class":664},[651,16663,2294],{"class":675},[651,16665,5287],{"class":668},[651,16667,1067],{"class":664},[651,16669,1113],{"class":668},[651,16671,16672,16674],{"class":653,"line":8141},[651,16673,879],{"class":664},[651,16675,4778],{"class":668},[1572,16677,14378],{},{"title":647,"searchDepth":661,"depth":661,"links":16679},[16680,16681,16682,16683,16684],{"id":14066,"depth":661,"text":14067},{"id":14104,"depth":661,"text":14105},{"id":14186,"depth":661,"text":14187},{"id":1517,"depth":661,"text":1518},{"id":14266,"depth":661,"text":14267},"Mémo de révision sur les deux tris quadratiques classiques.",{},"\u002Fnsi-1ere\u002Fph-algorithmique\u002Ftris.memo",[],{"title":15942,"description":16685},"1.nsi-1ere\u002Fph-algorithmique\u002F3.tris.memo","vpfLEyDJV7X_wjOG3lIaAWNoY4r58rJpv5gTUIDeDsY",{"id":16693,"title":16694,"bo":16695,"body":16696,"description":17264,"eval":1587,"extension":1588,"labo":1587,"meta":17265,"navigation":1595,"path":17266,"quizzes":17267,"readingTime":654,"seo":17268,"stem":17269,"tp":1587,"__hash__":17270},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie.memo.md","Recherche dichotomique — l'essentiel",[7428],{"type":591,"value":16697,"toc":17256},[16698,16700,16765,16767,16900,16904,16964,16966,17008,17010,17131,17133,17254],[594,16699,14067],{"id":14066},[599,16701,16702,16703,16705,16706,16709,16710,1308],{},"Dans un tableau ",[603,16704,1565],{},", on trouve un élément en ",[603,16707,16708],{},"divisant par deux","\nl'espace de recherche à chaque étape — coût ",[651,16711,16713,16736],{"className":16712},[755],[651,16714,16716],{"className":16715},[759],[761,16717,16718],{"xmlns":763},[765,16719,16720,16734],{},[768,16721,16722,16724,16726,16728,16730,16732],{},[771,16723,1475],{"mathvariant":1474},[1477,16725,679],{"stretchy":1479},[771,16727,3067],{},[1477,16729,3070],{},[771,16731,773],{},[1477,16733,1484],{"stretchy":1479},[775,16735,3077],{"encoding":777},[651,16737,16739],{"className":16738,"ariaHidden":782},[781],[651,16740,16742,16745,16748,16751,16756,16759,16762],{"className":16741},[786],[651,16743],{"className":16744,"style":1497},[790],[651,16746,1475],{"className":16747,"style":1502},[795,1501],[651,16749,679],{"className":16750},[1506],[651,16752,3097,16754],{"className":16753},[3096],[651,16755,3101],{"style":3100},[651,16757],{"className":16758,"style":3105},[2370],[651,16760,773],{"className":16761},[795,796],[651,16763,1484],{"className":16764},[1513],[594,16766,14105],{"id":14104},[1014,16768,16769,16774,16784,16795,16822,16832,16840],{},[972,16770,16771,16773],{},[603,16772,7608],{}," : le tableau doit être trié dans l'ordre croissant.",[972,16775,16776,1289,16779,1285,16781,16783],{},[603,16777,16778],{},"Indices",[625,16780,7621],{},[625,16782,7624],{}," qui délimitent la zone candidate.",[972,16785,16786,1813,16789,16791,16792,739],{},[603,16787,16788],{},"Milieu",[625,16790,7637],{}," (division ",[603,16793,16794],{},"entière",[972,16796,16797,14482,16800],{},[603,16798,16799],{},"Trois cas",[1014,16801,16802,16809,16815],{},[972,16803,16804,16806,16807,1308],{},[625,16805,7643],{}," → trouvé, return ",[625,16808,7647],{},[972,16810,16811,12936,16813,1308],{},[625,16812,7652],{},[625,16814,7656],{},[972,16816,16817,12936,16820,1308],{},[625,16818,16819],{},"t[m] > cible",[625,16821,7662],{},[972,16823,16824,1813,16827,16829,16830,1308],{},[603,16825,16826],{},"Échec",[625,16828,7668],{},", return ",[625,16831,9177],{},[972,16833,16834,1813,16837,16839],{},[603,16835,16836],{},"Variant de boucle",[625,16838,8219],{}," décroît strictement → terminaison.",[972,16841,16842,1813,16844,16899],{},[603,16843,15505],{},[651,16845,16847,16870],{"className":16846},[755],[651,16848,16850],{"className":16849},[759],[761,16851,16852],{"xmlns":763},[765,16853,16854,16868],{},[768,16855,16856,16858,16860,16862,16864,16866],{},[771,16857,1475],{"mathvariant":1474},[1477,16859,679],{"stretchy":1479},[771,16861,3067],{},[1477,16863,3070],{},[771,16865,773],{},[1477,16867,1484],{"stretchy":1479},[775,16869,3077],{"encoding":777},[651,16871,16873],{"className":16872,"ariaHidden":782},[781],[651,16874,16876,16879,16882,16885,16890,16893,16896],{"className":16875},[786],[651,16877],{"className":16878,"style":1497},[790],[651,16880,1475],{"className":16881,"style":1502},[795,1501],[651,16883,679],{"className":16884},[1506],[651,16886,3097,16888],{"className":16887},[3096],[651,16889,3101],{"style":3100},[651,16891],{"className":16892,"style":3105},[2370],[651,16894,773],{"className":16895},[795,796],[651,16897,1484],{"className":16898},[1513]," au pire.",[594,16901,16903],{"id":16902},"ordres-de-grandeur","Ordres de grandeur",[3166,16905,16906,16943],{},[3169,16907,16908],{},[3172,16909,16910,16940],{},[3175,16911,16912],{},[651,16913,16915,16928],{"className":16914},[755],[651,16916,16918],{"className":16917},[759],[761,16919,16920],{"xmlns":763},[765,16921,16922,16926],{},[768,16923,16924],{},[771,16925,773],{},[775,16927,773],{"encoding":777},[651,16929,16931],{"className":16930,"ariaHidden":782},[781],[651,16932,16934,16937],{"className":16933},[786],[651,16935],{"className":16936,"style":791},[790],[651,16938,773],{"className":16939},[795,796],[3175,16941,16942],{},"Étapes max",[3390,16944,16945,16951,16957],{},[3172,16946,16947,16949],{},[3395,16948,3421],{},[3395,16950,1273],{},[3172,16952,16953,16955],{},[3395,16954,3429],{},[3395,16956,9110],{},[3172,16958,16959,16962],{},[3395,16960,16961],{},"1 000 000 000",[3395,16963,10298],{},[594,16965,14187],{"id":14186},[3166,16967,16968,16978],{},[3169,16969,16970],{},[3172,16971,16972,16975],{},[3175,16973,16974],{},"Situation",[3175,16976,16977],{},"À utiliser",[3390,16979,16980,16992,17000],{},[3172,16981,16982,16989],{},[3395,16983,16984,16985,16988],{},"Tableau ",[603,16986,16987],{},"non trié",", recherche ponctuelle",[3395,16990,16991],{},"Recherche linéaire",[3172,16993,16994,16997],{},[3395,16995,16996],{},"Tableau trié, recherche ponctuelle",[3395,16998,16999],{},"Dichotomie",[3172,17001,17002,17005],{},[3395,17003,17004],{},"Beaucoup de recherches sur les mêmes données",[3395,17006,17007],{},"Trier une fois, dichotomie ensuite",[594,17009,1518],{"id":1517},[1014,17011,17012,17015,17022,17029],{},[972,17013,17014],{},"Tableau non trié → résultat erroné.",[972,17016,17017,9134,17019,17021],{},[625,17018,1239],{},[625,17020,7745],{}," → indice flottant, plantage.",[972,17023,17024,9134,17026,17028],{},[625,17025,9149],{},[625,17027,7656],{}," → boucle infinie.",[972,17030,17031,17032,17075,17076,1308],{},"Penser que la complexité est ",[651,17033,17035,17054],{"className":17034},[755],[651,17036,17038],{"className":17037},[759],[761,17039,17040],{"xmlns":763},[765,17041,17042,17052],{},[768,17043,17044,17046,17048,17050],{},[771,17045,1475],{"mathvariant":1474},[1477,17047,679],{"stretchy":1479},[771,17049,773],{},[1477,17051,1484],{"stretchy":1479},[775,17053,1487],{"encoding":777},[651,17055,17057],{"className":17056,"ariaHidden":782},[781],[651,17058,17060,17063,17066,17069,17072],{"className":17059},[786],[651,17061],{"className":17062,"style":1497},[790],[651,17064,1475],{"className":17065,"style":1502},[795,1501],[651,17067,679],{"className":17068},[1506],[651,17070,773],{"className":17071},[795,796],[651,17073,1484],{"className":17074},[1513]," — non, ",[651,17077,17079,17102],{"className":17078},[755],[651,17080,17082],{"className":17081},[759],[761,17083,17084],{"xmlns":763},[765,17085,17086,17100],{},[768,17087,17088,17090,17092,17094,17096,17098],{},[771,17089,1475],{"mathvariant":1474},[1477,17091,679],{"stretchy":1479},[771,17093,3067],{},[1477,17095,3070],{},[771,17097,773],{},[1477,17099,1484],{"stretchy":1479},[775,17101,3077],{"encoding":777},[651,17103,17105],{"className":17104,"ariaHidden":782},[781],[651,17106,17108,17111,17114,17117,17122,17125,17128],{"className":17107},[786],[651,17109],{"className":17110,"style":1497},[790],[651,17112,1475],{"className":17113,"style":1502},[795,1501],[651,17115,679],{"className":17116},[1506],[651,17118,3097,17120],{"className":17119},[3096],[651,17121,3101],{"style":3100},[651,17123],{"className":17124,"style":3105},[2370],[651,17126,773],{"className":17127},[795,796],[651,17129,1484],{"className":17130},[1513],[594,17132,14267],{"id":14266},[642,17134,17136],{"className":644,"code":17135,"language":646,"meta":647,"style":647},"def dichotomie(t, cible):\n    gauche, droite = 0, len(t) - 1\n    while gauche \u003C= droite:\n        m = (gauche + droite) \u002F\u002F 2\n        if t[m] == cible:\n            return m\n        elif t[m] \u003C cible:\n            gauche = m + 1\n        else:\n            droite = m - 1\n    return -1\n",[625,17137,17138,17146,17164,17174,17190,17200,17206,17216,17228,17234,17246],{"__ignoreMap":647},[651,17139,17140,17142,17144],{"class":653,"line":654},[651,17141,828],{"class":664},[651,17143,7685],{"class":831},[651,17145,7688],{"class":668},[651,17147,17148,17150,17152,17154,17156,17158,17160,17162],{"class":653,"line":661},[651,17149,7698],{"class":668},[651,17151,1067],{"class":664},[651,17153,5265],{"class":675},[651,17155,632],{"class":668},[651,17157,682],{"class":675},[651,17159,7709],{"class":668},[651,17161,5244],{"class":664},[651,17163,5247],{"class":675},[651,17165,17166,17168,17170,17172],{"class":653,"line":688},[651,17167,7718],{"class":664},[651,17169,7721],{"class":668},[651,17171,7724],{"class":664},[651,17173,7727],{"class":668},[651,17175,17176,17178,17180,17182,17184,17186,17188],{"class":653,"line":697},[651,17177,7732],{"class":668},[651,17179,1067],{"class":664},[651,17181,7737],{"class":668},[651,17183,2291],{"class":664},[651,17185,7742],{"class":668},[651,17187,7745],{"class":664},[651,17189,7748],{"class":675},[651,17191,17192,17194,17196,17198],{"class":653,"line":704},[651,17193,858],{"class":664},[651,17195,7755],{"class":668},[651,17197,863],{"class":664},[651,17199,866],{"class":668},[651,17201,17202,17204],{"class":653,"line":710},[651,17203,871],{"class":664},[651,17205,7766],{"class":668},[651,17207,17208,17210,17212,17214],{"class":653,"line":723},[651,17209,7771],{"class":664},[651,17211,7755],{"class":668},[651,17213,3560],{"class":664},[651,17215,866],{"class":668},[651,17217,17218,17220,17222,17224,17226],{"class":653,"line":889},[651,17219,7782],{"class":668},[651,17221,1067],{"class":664},[651,17223,7787],{"class":668},[651,17225,2291],{"class":664},[651,17227,5247],{"class":675},[651,17229,17230,17232],{"class":653,"line":932},[651,17231,7796],{"class":664},[651,17233,7799],{"class":668},[651,17235,17236,17238,17240,17242,17244],{"class":653,"line":4762},[651,17237,7804],{"class":668},[651,17239,1067],{"class":664},[651,17241,7787],{"class":668},[651,17243,5244],{"class":664},[651,17245,5247],{"class":675},[651,17247,17248,17250,17252],{"class":653,"line":4773},[651,17249,879],{"class":664},[651,17251,7819],{"class":664},[651,17253,7822],{"class":675},[1572,17255,14378],{},{"title":647,"searchDepth":661,"depth":661,"links":17257},[17258,17259,17260,17261,17262,17263],{"id":14066,"depth":661,"text":14067},{"id":14104,"depth":661,"text":14105},{"id":16902,"depth":661,"text":16903},{"id":14186,"depth":661,"text":14187},{"id":1517,"depth":661,"text":1518},{"id":14266,"depth":661,"text":14267},"Mémo de révision sur la recherche dans un tableau trié en $\\mathcal{O}(\\log n)$.",{},"\u002Fnsi-1ere\u002Fph-algorithmique\u002Fdichotomie.memo",[],{"title":16694,"description":17264},"1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie.memo","vpKDQYbQ18_qLdLFDM5B-rCK4k78ZXIhWF6vN_5M5vI",{"id":17272,"title":17273,"bo":17274,"body":17275,"description":17582,"eval":1587,"extension":1588,"labo":1587,"meta":17583,"navigation":1595,"path":17584,"quizzes":17585,"readingTime":654,"seo":17586,"stem":17587,"tp":1587,"__hash__":17588},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons.memo.md","Algorithmes gloutons — l'essentiel",[9365],{"type":591,"value":17276,"toc":17575},[17277,17279,17286,17288,17414,17419,17430,17435,17446,17448,17490,17492,17506,17508,17572],[594,17278,14067],{"id":14066},[599,17280,17281,17282,17285],{},"Construire une solution pas à pas en prenant à chaque étape le ",[603,17283,17284],{},"meilleur\nchoix local",", sans jamais revenir en arrière.",[594,17287,14105],{"id":14104},[1014,17289,17290,17296,17408],{},[972,17291,17292,17295],{},[603,17293,17294],{},"Trois caractéristiques"," : pas à pas, choix local optimal, pas de\nretour en arrière.",[972,17297,17298,17300,17301,812,17344,17407],{},[603,17299,10349],{}," — typiquement ",[651,17302,17304,17323],{"className":17303},[755],[651,17305,17307],{"className":17306},[759],[761,17308,17309],{"xmlns":763},[765,17310,17311,17321],{},[768,17312,17313,17315,17317,17319],{},[771,17314,1475],{"mathvariant":1474},[1477,17316,679],{"stretchy":1479},[771,17318,773],{},[1477,17320,1484],{"stretchy":1479},[775,17322,1487],{"encoding":777},[651,17324,17326],{"className":17325,"ariaHidden":782},[781],[651,17327,17329,17332,17335,17338,17341],{"className":17328},[786],[651,17330],{"className":17331,"style":1497},[790],[651,17333,1475],{"className":17334,"style":1502},[795,1501],[651,17336,679],{"className":17337},[1506],[651,17339,773],{"className":17340},[795,796],[651,17342,1484],{"className":17343},[1513],[651,17345,17347,17372],{"className":17346},[755],[651,17348,17350],{"className":17349},[759],[761,17351,17352],{"xmlns":763},[765,17353,17354,17370],{},[768,17355,17356,17358,17360,17362,17364,17366,17368],{},[771,17357,1475],{"mathvariant":1474},[1477,17359,679],{"stretchy":1479},[771,17361,773],{},[771,17363,3067],{},[1477,17365,3070],{},[771,17367,773],{},[1477,17369,1484],{"stretchy":1479},[775,17371,7354],{"encoding":777},[651,17373,17375],{"className":17374,"ariaHidden":782},[781],[651,17376,17378,17381,17384,17387,17390,17393,17398,17401,17404],{"className":17377},[786],[651,17379],{"className":17380,"style":1497},[790],[651,17382,1475],{"className":17383,"style":1502},[795,1501],[651,17385,679],{"className":17386},[1506],[651,17388,773],{"className":17389},[795,796],[651,17391],{"className":17392,"style":3105},[2370],[651,17394,3097,17396],{"className":17395},[3096],[651,17397,3101],{"style":3100},[651,17399],{"className":17400,"style":3105},[2370],[651,17402,773],{"className":17403},[795,796],[651,17405,1484],{"className":17406},[1513]," avec\nun tri préalable.",[972,17409,17410,17413],{},[603,17411,17412],{},"Pas toujours optimal"," — dépend du problème.",[599,17415,17416],{},[603,17417,17418],{},"Rendu de monnaie",[1014,17420,17421,17424,17427],{},[972,17422,17423],{},"Stratégie : prendre la plus grosse pièce qui ne dépasse pas la somme.",[972,17425,17426],{},"Optimal sur le système euro.",[972,17428,17429],{},"Pas toujours optimal sur des systèmes fictifs (ex : 1, 6, 10 pour rendre 12).",[599,17431,17432],{},[603,17433,17434],{},"Sac à dos fractionnaire",[1014,17436,17437,17440,17443],{},[972,17438,17439],{},"Stratégie : trier par ratio valeur \u002F poids décroissant, remplir.",[972,17441,17442],{},"Optimal en version fractionnaire.",[972,17444,17445],{},"Pas toujours optimal en version 0\u002F1 (objets entiers).",[594,17447,14187],{"id":14186},[3166,17449,17450,17459],{},[3169,17451,17452],{},[3172,17453,17454,17456],{},[3175,17455,9443],{},[3175,17457,17458],{},"Glouton optimal ?",[3390,17460,17461,17469,17477,17483],{},[3172,17462,17463,17466],{},[3395,17464,17465],{},"Rendu monnaie (système euro)",[3395,17467,17468],{},"Oui",[3172,17470,17471,17474],{},[3395,17472,17473],{},"Rendu monnaie (système quelconque)",[3395,17475,17476],{},"Pas toujours",[3172,17478,17479,17481],{},[3395,17480,17434],{},[3395,17482,17468],{},[3172,17484,17485,17488],{},[3395,17486,17487],{},"Sac à dos 0\u002F1 (objets entiers)",[3395,17489,17476],{},[594,17491,1518],{"id":1517},[1014,17493,17494,17497,17503],{},[972,17495,17496],{},"Croire qu'un glouton est universellement optimal.",[972,17498,17499,17500,17502],{},"Oublier de ",[603,17501,13885],{}," avant de gloutonner (cas du sac à dos).",[972,17504,17505],{},"Confondre rapidité et qualité de la solution.",[594,17507,14267],{"id":14266},[642,17509,17511],{"className":644,"code":17510,"language":646,"meta":647,"style":647},"def rendu_monnaie(somme, pieces):\n    # pieces triées en ordre décroissant\n    rendu = []\n    for piece in pieces:\n        while somme >= piece:\n            rendu.append(piece)\n            somme -= piece\n    return rendu\n",[625,17512,17513,17521,17526,17534,17544,17554,17558,17566],{"__ignoreMap":647},[651,17514,17515,17517,17519],{"class":653,"line":654},[651,17516,828],{"class":664},[651,17518,9501],{"class":831},[651,17520,9504],{"class":668},[651,17522,17523],{"class":653,"line":661},[651,17524,17525],{"class":657},"    # pieces triées en ordre décroissant\n",[651,17527,17528,17530,17532],{"class":653,"line":688},[651,17529,9519],{"class":668},[651,17531,1067],{"class":664},[651,17533,9524],{"class":668},[651,17535,17536,17538,17540,17542],{"class":653,"line":697},[651,17537,846],{"class":664},[651,17539,9531],{"class":668},[651,17541,672],{"class":664},[651,17543,9536],{"class":668},[651,17545,17546,17548,17550,17552],{"class":653,"line":704},[651,17547,5257],{"class":664},[651,17549,1236],{"class":668},[651,17551,5262],{"class":664},[651,17553,9547],{"class":668},[651,17555,17556],{"class":653,"line":710},[651,17557,9552],{"class":668},[651,17559,17560,17562,17564],{"class":653,"line":723},[651,17561,9557],{"class":668},[651,17563,5300],{"class":664},[651,17565,9562],{"class":668},[651,17567,17568,17570],{"class":653,"line":889},[651,17569,879],{"class":664},[651,17571,9569],{"class":668},[1572,17573,17574],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}",{"title":647,"searchDepth":661,"depth":661,"links":17576},[17577,17578,17579,17580,17581],{"id":14066,"depth":661,"text":14067},{"id":14104,"depth":661,"text":14105},{"id":14186,"depth":661,"text":14187},{"id":1517,"depth":661,"text":1518},{"id":14266,"depth":661,"text":14267},"Mémo de révision sur la stratégie gloutonne, rendu de monnaie et sac à dos.",{},"\u002Fnsi-1ere\u002Fph-algorithmique\u002Fgloutons.memo",[],{"title":17273,"description":17582},"1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons.memo","YS-SWgINwuKVbdmf7RRMFzPtIqbAliSyO6BbMqi_Lwk",{"id":17590,"title":17591,"bo":17592,"body":17593,"description":18496,"eval":1587,"extension":1588,"labo":1587,"meta":18497,"navigation":1595,"path":18498,"quizzes":18499,"readingTime":654,"seo":18500,"stem":18501,"tp":1587,"__hash__":18502},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002F6.knn.memo.md","k plus proches voisins — l'essentiel",[10534],{"type":591,"value":17594,"toc":18489},[17595,17597,17635,17637,18195,18197,18271,18273,18354,18356,18486],[594,17596,14067],{"id":14066},[599,17598,17599,17600,17602,17603,17634],{},"Classer un nouveau point en regardant la ",[603,17601,10640],{}," parmi ses\n",[603,17604,17605,17633],{},[651,17606,17608,17621],{"className":17607},[755],[651,17609,17611],{"className":17610},[759],[761,17612,17613],{"xmlns":763},[765,17614,17615,17619],{},[768,17616,17617],{},[771,17618,1796],{},[775,17620,1796],{"encoding":777},[651,17622,17624],{"className":17623,"ariaHidden":782},[781],[651,17625,17627,17630],{"className":17626},[786],[651,17628],{"className":17629,"style":1808},[790],[651,17631,1796],{"className":17632,"style":1812},[795,796]," plus proches voisins"," dans un ensemble d'exemples étiquetés.",[594,17636,14105],{"id":14104},[1014,17638,17639,17648,17696,18003,18127],{},[972,17640,17641,17644,17645,1308],{},[603,17642,17643],{},"Apprentissage supervisé"," : on apprend à partir d'exemples ",[603,17646,17647],{},"dont on\nconnaît la classe",[972,17649,17650,14482,17653],{},[603,17651,17652],{},"Quatre étapes",[969,17654,17655,17658,17661,17693],{},[972,17656,17657],{},"Calculer la distance entre le nouveau point et chaque exemple.",[972,17659,17660],{},"Trier par distance croissante.",[972,17662,17663,17664,17692],{},"Garder les ",[651,17665,17667,17680],{"className":17666},[755],[651,17668,17670],{"className":17669},[759],[761,17671,17672],{"xmlns":763},[765,17673,17674,17678],{},[768,17675,17676],{},[771,17677,1796],{},[775,17679,1796],{"encoding":777},[651,17681,17683],{"className":17682,"ariaHidden":782},[781],[651,17684,17686,17689],{"className":17685},[786],[651,17687],{"className":17688,"style":1808},[790],[651,17690,1796],{"className":17691,"style":1812},[795,796]," plus proches.",[972,17694,17695],{},"Voter à la majorité.",[972,17697,17698,1813,17701,1308],{},[603,17699,17700],{},"Distance euclidienne",[651,17702,17704,17762],{"className":17703},[755],[651,17705,17707],{"className":17706},[759],[761,17708,17709],{"xmlns":763},[765,17710,17711,17759],{},[768,17712,17713,17715,17717,17719,17721,17723,17725,17727],{},[771,17714,10806],{},[1477,17716,679],{"stretchy":1479},[771,17718,10930],{},[1477,17720,10813],{"separator":782},[771,17722,11093],{},[1477,17724,1484],{"stretchy":1479},[1477,17726,1067],{},[11267,17728,17729],{},[768,17730,17731,17733,17735,17743,17745,17753],{},[1477,17732,11840],{},[1477,17734,679],{"stretchy":1479},[11854,17736,17737,17739,17741],{},[771,17738,10939],{},[771,17740,4617],{},[771,17742,10930],{},[1477,17744,2715],{},[11854,17746,17747,17749,17751],{},[771,17748,10939],{},[771,17750,4617],{},[771,17752,11093],{},[2093,17754,17755,17757],{},[1477,17756,1484],{"stretchy":1479},[1869,17758,908],{},[775,17760,17761],{"encoding":777},"d(A, B) = \\sqrt{\\sum (x_i^A - x_i^B)^2}",[651,17763,17765,17801],{"className":17764,"ariaHidden":782},[781],[651,17766,17768,17771,17774,17777,17780,17783,17786,17789,17792,17795,17798],{"className":17767},[786],[651,17769],{"className":17770,"style":1497},[790],[651,17772,10806],{"className":17773},[795,796],[651,17775,679],{"className":17776},[1506],[651,17778,10930],{"className":17779},[795,796],[651,17781,10813],{"className":17782},[10857],[651,17784],{"className":17785,"style":3105},[2370],[651,17787,11093],{"className":17788,"style":11129},[795,796],[651,17790,1484],{"className":17791},[1513],[651,17793],{"className":17794,"style":3634},[2370],[651,17796,1067],{"className":17797},[3641],[651,17799],{"className":17800,"style":3634},[2370],[651,17802,17804,17808],{"className":17803},[786],[651,17805],{"className":17806,"style":17807},[790],"height:1.24em;vertical-align:-0.2819em;",[651,17809,17811],{"className":17810},[795,11369],[651,17812,17814,17994],{"className":17813},[2133,3259],[651,17815,17817,17991],{"className":17816},[2137],[651,17818,17821,17978],{"className":17819,"style":17820},[2141],"height:0.9581em;",[651,17822,17824,17827],{"className":17823,"style":11384},[11383],[651,17825],{"className":17826,"style":11388},[2149],[651,17828,17830,17835,17838,17889,17892,17895,17898,17949],{"className":17829,"style":11392},[795],[651,17831,11840],{"className":17832,"style":17834},[3096,11999,17833],"small-op","position:relative;top:0em;",[651,17836,679],{"className":17837},[1506],[651,17839,17841,17844],{"className":17840},[795],[651,17842,10939],{"className":17843},[795,796],[651,17845,17847],{"className":17846},[2129],[651,17848,17850,17881],{"className":17849},[2133,3259],[651,17851,17853,17878],{"className":17852},[2137],[651,17854,17856,17867],{"className":17855,"style":12049},[2141],[651,17857,17858,17861],{"style":12052},[651,17859],{"className":17860,"style":2150},[2149],[651,17862,17864],{"className":17863},[2154,2155,2156,2157],[651,17865,4617],{"className":17866},[795,796,2157],[651,17868,17869,17872],{"style":12064},[651,17870],{"className":17871,"style":2150},[2149],[651,17873,17875],{"className":17874},[2154,2155,2156,2157],[651,17876,10930],{"className":17877},[795,796,2157],[651,17879,3283],{"className":17880},[3282],[651,17882,17884],{"className":17883},[2137],[651,17885,17887],{"className":17886,"style":12083},[2141],[651,17888],{},[651,17890],{"className":17891,"style":2371},[2370],[651,17893,2715],{"className":17894},[2375],[651,17896],{"className":17897,"style":2371},[2370],[651,17899,17901,17904],{"className":17900},[795],[651,17902,10939],{"className":17903},[795,796],[651,17905,17907],{"className":17906},[2129],[651,17908,17910,17941],{"className":17909},[2133,3259],[651,17911,17913,17938],{"className":17912},[2137],[651,17914,17916,17927],{"className":17915,"style":12049},[2141],[651,17917,17918,17921],{"style":12052},[651,17919],{"className":17920,"style":2150},[2149],[651,17922,17924],{"className":17923},[2154,2155,2156,2157],[651,17925,4617],{"className":17926},[795,796,2157],[651,17928,17929,17932],{"style":12064},[651,17930],{"className":17931,"style":2150},[2149],[651,17933,17935],{"className":17934},[2154,2155,2156,2157],[651,17936,11093],{"className":17937,"style":11129},[795,796,2157],[651,17939,3283],{"className":17940},[3282],[651,17942,17944],{"className":17943},[2137],[651,17945,17947],{"className":17946,"style":12083},[2141],[651,17948],{},[651,17950,17952,17955],{"className":17951},[1513],[651,17953,1484],{"className":17954},[1513],[651,17956,17958],{"className":17957},[2129],[651,17959,17961],{"className":17960},[2133],[651,17962,17964],{"className":17963},[2137],[651,17965,17967],{"className":17966,"style":11503},[2141],[651,17968,17969,17972],{"style":11506},[651,17970],{"className":17971,"style":2150},[2149],[651,17973,17975],{"className":17974},[2154,2155,2156,2157],[651,17976,908],{"className":17977},[795,2157],[651,17979,17981,17984],{"style":17980},"top:-2.9181em;",[651,17982],{"className":17983,"style":11388},[2149],[651,17985,17987],{"className":17986,"style":11656},[11655],[11658,17988,17989],{"xmlns":11660,"width":11661,"height":11662,"viewBox":11663,"preserveAspectRatio":11664},[11666,17990],{"d":11668},[651,17992,3283],{"className":17993},[3282],[651,17995,17997],{"className":17996},[2137],[651,17998,18001],{"className":17999,"style":18000},[2141],"height:0.2819em;",[651,18002],{},[972,18004,18005,18035,18036,1308],{},[603,18006,13711,18007],{},[651,18008,18010,18023],{"className":18009},[755],[651,18011,18013],{"className":18012},[759],[761,18014,18015],{"xmlns":763},[765,18016,18017,18021],{},[768,18018,18019],{},[771,18020,1796],{},[775,18022,1796],{"encoding":777},[651,18024,18026],{"className":18025,"ariaHidden":782},[781],[651,18027,18029,18032],{"className":18028},[786],[651,18030],{"className":18031,"style":1808},[790],[651,18033,1796],{"className":18034,"style":1812},[795,796]," : impair (pas d'égalité), souvent ",[651,18037,18039,18058],{"className":18038},[755],[651,18040,18042],{"className":18041},[759],[761,18043,18044],{"xmlns":763},[765,18045,18046,18055],{},[768,18047,18048,18051],{},[1477,18049,18050],{},"≈",[11267,18052,18053],{},[771,18054,773],{},[775,18056,18057],{"encoding":777},"\\approx \\sqrt{n}",[651,18059,18061,18074],{"className":18060,"ariaHidden":782},[781],[651,18062,18064,18068,18071],{"className":18063},[786],[651,18065],{"className":18066,"style":18067},[790],"height:0.4831em;",[651,18069,18050],{"className":18070},[3641],[651,18072],{"className":18073,"style":3634},[2370],[651,18075,18077,18080],{"className":18076},[786],[651,18078],{"className":18079,"style":13219},[790],[651,18081,18083],{"className":18082},[795,11369],[651,18084,18086,18119],{"className":18085},[2133,3259],[651,18087,18089,18116],{"className":18088},[2137],[651,18090,18092,18104],{"className":18091,"style":13232},[2141],[651,18093,18095,18098],{"className":18094,"style":13236},[11383],[651,18096],{"className":18097,"style":6165},[2149],[651,18099,18101],{"className":18100,"style":13243},[795],[651,18102,773],{"className":18103},[795,796],[651,18105,18106,18109],{"style":13249},[651,18107],{"className":18108,"style":6165},[2149],[651,18110,18112],{"className":18111,"style":13256},[11655],[11658,18113,18114],{"xmlns":11660,"width":11661,"height":13259,"viewBox":13260,"preserveAspectRatio":11664},[11666,18115],{"d":13263},[651,18117,3283],{"className":18118},[3282],[651,18120,18122],{"className":18121},[2137],[651,18123,18125],{"className":18124,"style":13273},[2141],[651,18126],{},[972,18128,18129,1813,18131,18194],{},[603,18130,14153],{},[651,18132,18134,18159],{"className":18133},[755],[651,18135,18137],{"className":18136},[759],[761,18138,18139],{"xmlns":763},[765,18140,18141,18157],{},[768,18142,18143,18145,18147,18149,18151,18153,18155],{},[771,18144,1475],{"mathvariant":1474},[1477,18146,679],{"stretchy":1479},[771,18148,773],{},[771,18150,3067],{},[1477,18152,3070],{},[771,18154,773],{},[1477,18156,1484],{"stretchy":1479},[775,18158,7354],{"encoding":777},[651,18160,18162],{"className":18161,"ariaHidden":782},[781],[651,18163,18165,18168,18171,18174,18177,18180,18185,18188,18191],{"className":18164},[786],[651,18166],{"className":18167,"style":1497},[790],[651,18169,1475],{"className":18170,"style":1502},[795,1501],[651,18172,679],{"className":18173},[1506],[651,18175,773],{"className":18176},[795,796],[651,18178],{"className":18179,"style":3105},[2370],[651,18181,3097,18183],{"className":18182},[3096],[651,18184,3101],{"style":3100},[651,18186],{"className":18187,"style":3105},[2370],[651,18189,773],{"className":18190},[795,796],[651,18192,1484],{"className":18193},[1513]," par prédiction (à cause du tri).",[594,18196,14187],{"id":14186},[3166,18198,18199,18208],{},[3169,18200,18201],{},[3172,18202,18203,18205],{},[3175,18204,16407],{},[3175,18206,18207],{},"k-NN ?",[3390,18209,18210,18247,18255,18263],{},[3172,18211,18212,18245],{},[3395,18213,18214,18215,18244],{},"« classer un nouveau point parmi ",[651,18216,18218,18232],{"className":18217},[755],[651,18219,18221],{"className":18220},[759],[761,18222,18223],{"xmlns":763},[765,18224,18225,18230],{},[768,18226,18227],{},[771,18228,18229],{},"c",[775,18231,18229],{"encoding":777},[651,18233,18235],{"className":18234,"ariaHidden":782},[781],[651,18236,18238,18241],{"className":18237},[786],[651,18239],{"className":18240,"style":791},[790],[651,18242,18229],{"className":18243},[795,796]," classes »",[3395,18246,17468],{},[3172,18248,18249,18252],{},[3395,18250,18251],{},"« base de données étiquetée disponible »",[3395,18253,18254],{},"Oui (supervisé)",[3172,18256,18257,18260],{},[3395,18258,18259],{},"« pas de données étiquetées, trouver des groupes »",[3395,18261,18262],{},"Non (non supervisé)",[3172,18264,18265,18268],{},[3395,18266,18267],{},"« agent qui apprend en jouant »",[3395,18269,18270],{},"Non (renforcement)",[594,18272,1518],{"id":1517},[1014,18274,18275,18280,18314,18348],{},[972,18276,18277,18279],{},[603,18278,13701],{}," → normaliser les coordonnées avant la distance.",[972,18281,18282,18313],{},[603,18283,18284,18312],{},[651,18285,18287,18300],{"className":18286},[755],[651,18288,18290],{"className":18289},[759],[761,18291,18292],{"xmlns":763},[765,18293,18294,18298],{},[768,18295,18296],{},[771,18297,1796],{},[775,18299,1796],{"encoding":777},[651,18301,18303],{"className":18302,"ariaHidden":782},[781],[651,18304,18306,18309],{"className":18305},[786],[651,18307],{"className":18308,"style":1808},[790],[651,18310,1796],{"className":18311,"style":1812},[795,796]," trop petit"," (1) → sensible au bruit.",[972,18315,18316,18347],{},[603,18317,18318,18346],{},[651,18319,18321,18334],{"className":18320},[755],[651,18322,18324],{"className":18323},[759],[761,18325,18326],{"xmlns":763},[765,18327,18328,18332],{},[768,18329,18330],{},[771,18331,1796],{},[775,18333,1796],{"encoding":777},[651,18335,18337],{"className":18336,"ariaHidden":782},[781],[651,18338,18340,18343],{"className":18339},[786],[651,18341],{"className":18342,"style":1808},[790],[651,18344,1796],{"className":18345,"style":1812},[795,796]," trop grand"," → lisse trop, perd la finesse locale.",[972,18349,18350,18353],{},[603,18351,18352],{},"Classes déséquilibrées"," → vote biaisé en faveur de la classe majoritaire\nglobale.",[594,18355,14267],{"id":14266},[642,18357,18359],{"className":644,"code":18358,"language":646,"meta":647,"style":647},"import math\nfrom collections import Counter\n\ndef distance(a, b):\n    return math.sqrt(sum((x - y) ** 2 for x, y in zip(a, b)))\n\ndef knn(donnees, nouveau, k):\n    distances = [(distance(p, nouveau), c) for p, c in donnees]\n    distances.sort()\n    voisins = [c for _, c in distances[:k]]\n    return Counter(voisins).most_common(1)[0][0]\n",[625,18360,18361,18367,18377,18381,18389,18420,18424,18432,18448,18452,18468],{"__ignoreMap":647},[651,18362,18363,18365],{"class":653,"line":654},[651,18364,3791],{"class":664},[651,18366,3794],{"class":668},[651,18368,18369,18371,18373,18375],{"class":653,"line":661},[651,18370,12273],{"class":664},[651,18372,12276],{"class":668},[651,18374,3791],{"class":664},[651,18376,12281],{"class":668},[651,18378,18379],{"class":653,"line":688},[651,18380,701],{"emptyLinePlaceholder":700},[651,18382,18383,18385,18387],{"class":653,"line":697},[651,18384,828],{"class":664},[651,18386,11705],{"class":831},[651,18388,11708],{"class":668},[651,18390,18391,18393,18395,18397,18400,18402,18405,18407,18409,18411,18414,18416,18418],{"class":653,"line":704},[651,18392,879],{"class":664},[651,18394,12300],{"class":668},[651,18396,12303],{"class":675},[651,18398,18399],{"class":668},"((x ",[651,18401,5244],{"class":664},[651,18403,18404],{"class":668}," y) ",[651,18406,11737],{"class":664},[651,18408,11740],{"class":675},[651,18410,12318],{"class":664},[651,18412,18413],{"class":668}," x, y ",[651,18415,672],{"class":664},[651,18417,12326],{"class":675},[651,18419,12329],{"class":668},[651,18421,18422],{"class":653,"line":710},[651,18423,701],{"emptyLinePlaceholder":700},[651,18425,18426,18428,18430],{"class":653,"line":723},[651,18427,828],{"class":664},[651,18429,12340],{"class":831},[651,18431,12343],{"class":668},[651,18433,18434,18436,18438,18440,18442,18444,18446],{"class":653,"line":889},[651,18435,12373],{"class":668},[651,18437,1067],{"class":664},[651,18439,12705],{"class":668},[651,18441,665],{"class":664},[651,18443,12710],{"class":668},[651,18445,672],{"class":664},[651,18447,12388],{"class":668},[651,18449,18450],{"class":653,"line":932},[651,18451,12398],{"class":668},[651,18453,18454,18456,18458,18460,18462,18464,18466],{"class":653,"line":4762},[651,18455,12408],{"class":668},[651,18457,1067],{"class":664},[651,18459,12727],{"class":668},[651,18461,665],{"class":664},[651,18463,12732],{"class":668},[651,18465,672],{"class":664},[651,18467,12423],{"class":668},[651,18469,18470,18472,18474,18476,18478,18480,18482,18484],{"class":653,"line":4773},[651,18471,879],{"class":664},[651,18473,12435],{"class":668},[651,18475,999],{"class":675},[651,18477,12440],{"class":668},[651,18479,1073],{"class":675},[651,18481,12445],{"class":668},[651,18483,1073],{"class":675},[651,18485,1076],{"class":668},[1572,18487,18488],{},"html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .snPdu, html code.shiki .snPdu{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}",{"title":647,"searchDepth":661,"depth":661,"links":18490},[18491,18492,18493,18494,18495],{"id":14066,"depth":661,"text":14067},{"id":14104,"depth":661,"text":14105},{"id":14186,"depth":661,"text":14187},{"id":1517,"depth":661,"text":1518},{"id":14266,"depth":661,"text":14267},"Mémo de révision sur l'algorithme k-NN et l'apprentissage supervisé.",{},"\u002Fnsi-1ere\u002Fph-algorithmique\u002Fknn.memo",[],{"title":17591,"description":18496},"1.nsi-1ere\u002Fph-algorithmique\u002F6.knn.memo","ANByV7XNiDu615UPuQclGSQt_3J2PcSpgGVNQX4YIyw",{"id":18504,"title":18505,"bo":18506,"body":18507,"description":20418,"eval":1587,"extension":1588,"labo":1587,"meta":20419,"navigation":1595,"path":20421,"quizzes":20422,"readingTime":654,"seo":20461,"stem":20462,"tp":1587,"__hash__":20463},"coursMemo\u002F1.nsi-1ere\u002Fph-algorithmique\u002Fchapitre.memo.md","Algorithmique — synthèse de chapitre",[10534,9365,589,7428,4469],{"type":591,"value":18508,"toc":20413},[18509,18513,18529,18760,18955,18970,18982,18986,19516,19520,19783,20017,20158,20260,20283,20300,20356],[594,18510,18512],{"id":18511},"vue-densemble","Vue d'ensemble",[599,18514,18515,18516,18519,18520,18522,18523,18525,18526,18528],{},"Ce chapitre vous a fait traverser ",[603,18517,18518],{},"six familles d'algorithmes"," parmi les\nplus fondamentales du programme. Vous avez démarré par le geste le plus\nsimple — le ",[603,18521,605],{}," d'un tableau — qui sert d'étalon pour\nmesurer tout ce qui suit. Vous avez vu comment, à partir d'une boucle bien\nécrite, on peut chercher une occurrence, isoler un extremum ou calculer une\nmoyenne en un seul passage. Et vous avez rencontré une première idée\nthéorique : l'",[603,18524,1307],{},", une propriété vraie d'un tour à\nl'autre, qui permet de ",[603,18527,9883],{}," qu'un algorithme produit bien le résultat\nannoncé.",[599,18530,18531,18532,18535,18536,18539,18540,18543,18544,632,18587,632,18630,18703,18704,18759],{},"Le cours 2 vous a outillés pour ",[603,18533,18534],{},"comparer"," les algorithmes entre eux. La\n",[603,18537,18538],{},"complexité"," mesure le nombre d'opérations en fonction de la taille de\nl'entrée, et la ",[603,18541,18542],{},"notation grand-O"," permet d'en parler sans s'embarrasser\ndes constantes. Trois ordres de grandeur à connaître par cœur :\n",[651,18545,18547,18566],{"className":18546},[755],[651,18548,18550],{"className":18549},[759],[761,18551,18552],{"xmlns":763},[765,18553,18554,18564],{},[768,18555,18556,18558,18560,18562],{},[771,18557,1475],{"mathvariant":1474},[1477,18559,679],{"stretchy":1479},[1869,18561,999],{},[1477,18563,1484],{"stretchy":1479},[775,18565,1875],{"encoding":777},[651,18567,18569],{"className":18568,"ariaHidden":782},[781],[651,18570,18572,18575,18578,18581,18584],{"className":18571},[786],[651,18573],{"className":18574,"style":1497},[790],[651,18576,1475],{"className":18577,"style":1502},[795,1501],[651,18579,679],{"className":18580},[1506],[651,18582,999],{"className":18583},[795],[651,18585,1484],{"className":18586},[1513],[651,18588,18590,18609],{"className":18589},[755],[651,18591,18593],{"className":18592},[759],[761,18594,18595],{"xmlns":763},[765,18596,18597,18607],{},[768,18598,18599,18601,18603,18605],{},[771,18600,1475],{"mathvariant":1474},[1477,18602,679],{"stretchy":1479},[771,18604,773],{},[1477,18606,1484],{"stretchy":1479},[775,18608,1487],{"encoding":777},[651,18610,18612],{"className":18611,"ariaHidden":782},[781],[651,18613,18615,18618,18621,18624,18627],{"className":18614},[786],[651,18616],{"className":18617,"style":1497},[790],[651,18619,1475],{"className":18620,"style":1502},[795,1501],[651,18622,679],{"className":18623},[1506],[651,18625,773],{"className":18626},[795,796],[651,18628,1484],{"className":18629},[1513],[651,18631,18633,18656],{"className":18632},[755],[651,18634,18636],{"className":18635},[759],[761,18637,18638],{"xmlns":763},[765,18639,18640,18654],{},[768,18641,18642,18644,18646,18652],{},[771,18643,1475],{"mathvariant":1474},[1477,18645,679],{"stretchy":1479},[2093,18647,18648,18650],{},[771,18649,773],{},[1869,18651,908],{},[1477,18653,1484],{"stretchy":1479},[775,18655,2103],{"encoding":777},[651,18657,18659],{"className":18658,"ariaHidden":782},[781],[651,18660,18662,18665,18668,18671,18700],{"className":18661},[786],[651,18663],{"className":18664,"style":2113},[790],[651,18666,1475],{"className":18667,"style":1502},[795,1501],[651,18669,679],{"className":18670},[1506],[651,18672,18674,18677],{"className":18673},[795],[651,18675,773],{"className":18676},[795,796],[651,18678,18680],{"className":18679},[2129],[651,18681,18683],{"className":18682},[2133],[651,18684,18686],{"className":18685},[2137],[651,18687,18689],{"className":18688,"style":2142},[2141],[651,18690,18691,18694],{"style":2145},[651,18692],{"className":18693,"style":2150},[2149],[651,18695,18697],{"className":18696},[2154,2155,2156,2157],[651,18698,908],{"className":18699},[795,2157],[651,18701,1484],{"className":18702},[1513]," — et un quatrième\nrencontré au cours 4, ",[651,18705,18707,18730],{"className":18706},[755],[651,18708,18710],{"className":18709},[759],[761,18711,18712],{"xmlns":763},[765,18713,18714,18728],{},[768,18715,18716,18718,18720,18722,18724,18726],{},[771,18717,1475],{"mathvariant":1474},[1477,18719,679],{"stretchy":1479},[771,18721,3067],{},[1477,18723,3070],{},[771,18725,773],{},[1477,18727,1484],{"stretchy":1479},[775,18729,3077],{"encoding":777},[651,18731,18733],{"className":18732,"ariaHidden":782},[781],[651,18734,18736,18739,18742,18745,18750,18753,18756],{"className":18735},[786],[651,18737],{"className":18738,"style":1497},[790],[651,18740,1475],{"className":18741,"style":1502},[795,1501],[651,18743,679],{"className":18744},[1506],[651,18746,3097,18748],{"className":18747},[3096],[651,18749,3101],{"style":3100},[651,18751],{"className":18752,"style":3105},[2370],[651,18754,773],{"className":18755},[795,796],[651,18757,1484],{"className":18758},[1513],", qui est étonnamment efficace.",[599,18761,18762,18763,18766,18767,18840,18841,18844,18845,18848,18849,18852,18853,1546,18896,18951,18952,1308],{},"Les ",[603,18764,18765],{},"tris"," par sélection et par insertion sont vos premiers algorithmes\nnon triviaux. Tous deux coûtent ",[651,18768,18770,18793],{"className":18769},[755],[651,18771,18773],{"className":18772},[759],[761,18774,18775],{"xmlns":763},[765,18776,18777,18791],{},[768,18778,18779,18781,18783,18789],{},[771,18780,1475],{"mathvariant":1474},[1477,18782,679],{"stretchy":1479},[2093,18784,18785,18787],{},[771,18786,773],{},[1869,18788,908],{},[1477,18790,1484],{"stretchy":1479},[775,18792,2103],{"encoding":777},[651,18794,18796],{"className":18795,"ariaHidden":782},[781],[651,18797,18799,18802,18805,18808,18837],{"className":18798},[786],[651,18800],{"className":18801,"style":2113},[790],[651,18803,1475],{"className":18804,"style":1502},[795,1501],[651,18806,679],{"className":18807},[1506],[651,18809,18811,18814],{"className":18810},[795],[651,18812,773],{"className":18813},[795,796],[651,18815,18817],{"className":18816},[2129],[651,18818,18820],{"className":18819},[2133],[651,18821,18823],{"className":18822},[2137],[651,18824,18826],{"className":18825,"style":2142},[2141],[651,18827,18828,18831],{"style":2145},[651,18829],{"className":18830,"style":2150},[2149],[651,18832,18834],{"className":18833},[2154,2155,2156,2157],[651,18835,908],{"className":18836},[795,2157],[651,18838,1484],{"className":18839},[1513]," au pire, mais l'",[603,18842,18843],{},"insertion\nest meilleure"," sur un tableau presque trié. Chacun a son invariant — qui\n",[603,18846,18847],{},"prouve"," qu'à la fin, le tableau est bien rangé. La ",[603,18850,18851],{},"recherche\ndichotomique"," illustre une stratégie radicalement différente : diviser\nl'espace de recherche par deux à chaque tour, ce qui fait passer le coût de\n",[651,18854,18856,18875],{"className":18855},[755],[651,18857,18859],{"className":18858},[759],[761,18860,18861],{"xmlns":763},[765,18862,18863,18873],{},[768,18864,18865,18867,18869,18871],{},[771,18866,1475],{"mathvariant":1474},[1477,18868,679],{"stretchy":1479},[771,18870,773],{},[1477,18872,1484],{"stretchy":1479},[775,18874,1487],{"encoding":777},[651,18876,18878],{"className":18877,"ariaHidden":782},[781],[651,18879,18881,18884,18887,18890,18893],{"className":18880},[786],[651,18882],{"className":18883,"style":1497},[790],[651,18885,1475],{"className":18886,"style":1502},[795,1501],[651,18888,679],{"className":18889},[1506],[651,18891,773],{"className":18892},[795,796],[651,18894,1484],{"className":18895},[1513],[651,18897,18899,18922],{"className":18898},[755],[651,18900,18902],{"className":18901},[759],[761,18903,18904],{"xmlns":763},[765,18905,18906,18920],{},[768,18907,18908,18910,18912,18914,18916,18918],{},[771,18909,1475],{"mathvariant":1474},[1477,18911,679],{"stretchy":1479},[771,18913,3067],{},[1477,18915,3070],{},[771,18917,773],{},[1477,18919,1484],{"stretchy":1479},[775,18921,3077],{"encoding":777},[651,18923,18925],{"className":18924,"ariaHidden":782},[781],[651,18926,18928,18931,18934,18937,18942,18945,18948],{"className":18927},[786],[651,18929],{"className":18930,"style":1497},[790],[651,18932,1475],{"className":18933,"style":1502},[795,1501],[651,18935,679],{"className":18936},[1506],[651,18938,3097,18940],{"className":18939},[3096],[651,18941,3101],{"style":3100},[651,18943],{"className":18944,"style":3105},[2370],[651,18946,773],{"className":18947},[795,796],[651,18949,1484],{"className":18950},[1513],". C'est l'archétype de la stratégie\n",[603,18953,18954],{},"diviser pour régner",[599,18956,18957,18958,18961,18962,18965,18966,18969],{},"Le cours 5 a changé de registre — les ",[603,18959,18960],{},"algorithmes gloutons"," sont une\n",[603,18963,18964],{},"méthode"," plutôt qu'un algorithme précis. Choix local immédiat,\nconstruction pas à pas, pas de retour en arrière. Optimal sur certains\nproblèmes (rendu de monnaie en euros, sac à dos fractionnaire), pas sur\nd'autres. Savoir ",[603,18967,18968],{},"reconnaître"," quand un glouton suffit est en soi une\ncompétence d'algorithmicien.",[599,18971,18972,18973,18975,18976,18978,18979,18981],{},"Enfin, le ",[603,18974,10552],{}," vous a ouvert la porte de\nl'",[603,18977,10564],{}," — un algorithme qui ne calcule pas un\nrésultat à partir d'une règle, mais qui ",[603,18980,10577],{}," par ressemblance à des\nexemples connus. C'est un premier pas vers les techniques que vous\napprofondirez en Terminale et au-delà.",[594,18983,18985],{"id":18984},"carte-des-notions","Carte des notions",[3166,18987,18988,19004],{},[3169,18989,18990],{},[3172,18991,18992,18995,18998,19001],{},[3175,18993,18994],{},"Notion",[3175,18996,18997],{},"Cours",[3175,18999,19000],{},"Coût typique",[3175,19002,19003],{},"Item BO",[3390,19005,19006,19060,19072,19082,19094,19177,19304,19369,19442],{},[3172,19007,19008,19011,19013,19058],{},[3395,19009,19010],{},"Parcours séquentiel",[3395,19012,999],{},[3395,19014,19015],{},[651,19016,19018,19037],{"className":19017},[755],[651,19019,19021],{"className":19020},[759],[761,19022,19023],{"xmlns":763},[765,19024,19025,19035],{},[768,19026,19027,19029,19031,19033],{},[771,19028,1475],{"mathvariant":1474},[1477,19030,679],{"stretchy":1479},[771,19032,773],{},[1477,19034,1484],{"stretchy":1479},[775,19036,1487],{"encoding":777},[651,19038,19040],{"className":19039,"ariaHidden":782},[781],[651,19041,19043,19046,19049,19052,19055],{"className":19042},[786],[651,19044],{"className":19045,"style":1497},[790],[651,19047,1475],{"className":19048,"style":1502},[795,1501],[651,19050,679],{"className":19051},[1506],[651,19053,773],{"className":19054},[795,796],[651,19056,1484],{"className":19057},[1513],[3395,19059,589],{},[3172,19061,19062,19064,19067,19070],{},[3395,19063,14147],{},[3395,19065,19066],{},"1, 3",[3395,19068,19069],{},"—",[3395,19071,4469],{},[3172,19073,19074,19076,19078,19080],{},[3395,19075,16836],{},[3395,19077,959],{},[3395,19079,19069],{},[3395,19081,7428],{},[3172,19083,19084,19087,19089,19091],{},[3395,19085,19086],{},"Complexité, grand-O",[3395,19088,908],{},[3395,19090,19069],{},[3395,19092,19093],{},"(socle)",[3172,19095,19096,19098,19100,19175],{},[3395,19097,5782],{},[3395,19099,898],{},[3395,19101,19102],{},[651,19103,19105,19128],{"className":19104},[755],[651,19106,19108],{"className":19107},[759],[761,19109,19110],{"xmlns":763},[765,19111,19112,19126],{},[768,19113,19114,19116,19118,19124],{},[771,19115,1475],{"mathvariant":1474},[1477,19117,679],{"stretchy":1479},[2093,19119,19120,19122],{},[771,19121,773],{},[1869,19123,908],{},[1477,19125,1484],{"stretchy":1479},[775,19127,2103],{"encoding":777},[651,19129,19131],{"className":19130,"ariaHidden":782},[781],[651,19132,19134,19137,19140,19143,19172],{"className":19133},[786],[651,19135],{"className":19136,"style":2113},[790],[651,19138,1475],{"className":19139,"style":1502},[795,1501],[651,19141,679],{"className":19142},[1506],[651,19144,19146,19149],{"className":19145},[795],[651,19147,773],{"className":19148},[795,796],[651,19150,19152],{"className":19151},[2129],[651,19153,19155],{"className":19154},[2133],[651,19156,19158],{"className":19157},[2137],[651,19159,19161],{"className":19160,"style":2142},[2141],[651,19162,19163,19166],{"style":2145},[651,19164],{"className":19165,"style":2150},[2149],[651,19167,19169],{"className":19168},[2154,2155,2156,2157],[651,19170,908],{"className":19171},[795,2157],[651,19173,1484],{"className":19174},[1513],[3395,19176,4469],{},[3172,19178,19179,19181,19183,19302],{},[3395,19180,6315],{},[3395,19182,898],{},[3395,19184,19185,19258,19259],{},[651,19186,19188,19211],{"className":19187},[755],[651,19189,19191],{"className":19190},[759],[761,19192,19193],{"xmlns":763},[765,19194,19195,19209],{},[768,19196,19197,19199,19201,19207],{},[771,19198,1475],{"mathvariant":1474},[1477,19200,679],{"stretchy":1479},[2093,19202,19203,19205],{},[771,19204,773],{},[1869,19206,908],{},[1477,19208,1484],{"stretchy":1479},[775,19210,2103],{"encoding":777},[651,19212,19214],{"className":19213,"ariaHidden":782},[781],[651,19215,19217,19220,19223,19226,19255],{"className":19216},[786],[651,19218],{"className":19219,"style":2113},[790],[651,19221,1475],{"className":19222,"style":1502},[795,1501],[651,19224,679],{"className":19225},[1506],[651,19227,19229,19232],{"className":19228},[795],[651,19230,773],{"className":19231},[795,796],[651,19233,19235],{"className":19234},[2129],[651,19236,19238],{"className":19237},[2133],[651,19239,19241],{"className":19240},[2137],[651,19242,19244],{"className":19243,"style":2142},[2141],[651,19245,19246,19249],{"style":2145},[651,19247],{"className":19248,"style":2150},[2149],[651,19250,19252],{"className":19251},[2154,2155,2156,2157],[651,19253,908],{"className":19254},[795,2157],[651,19256,1484],{"className":19257},[1513]," \u002F ",[651,19260,19262,19281],{"className":19261},[755],[651,19263,19265],{"className":19264},[759],[761,19266,19267],{"xmlns":763},[765,19268,19269,19279],{},[768,19270,19271,19273,19275,19277],{},[771,19272,1475],{"mathvariant":1474},[1477,19274,679],{"stretchy":1479},[771,19276,773],{},[1477,19278,1484],{"stretchy":1479},[775,19280,1487],{"encoding":777},[651,19282,19284],{"className":19283,"ariaHidden":782},[781],[651,19285,19287,19290,19293,19296,19299],{"className":19286},[786],[651,19288],{"className":19289,"style":1497},[790],[651,19291,1475],{"className":19292,"style":1502},[795,1501],[651,19294,679],{"className":19295},[1506],[651,19297,773],{"className":19298},[795,796],[651,19300,1484],{"className":19301},[1513],[3395,19303,4469],{},[3172,19305,19306,19308,19310,19367],{},[3395,19307,16999],{},[3395,19309,959],{},[3395,19311,19312],{},[651,19313,19315,19338],{"className":19314},[755],[651,19316,19318],{"className":19317},[759],[761,19319,19320],{"xmlns":763},[765,19321,19322,19336],{},[768,19323,19324,19326,19328,19330,19332,19334],{},[771,19325,1475],{"mathvariant":1474},[1477,19327,679],{"stretchy":1479},[771,19329,3067],{},[1477,19331,3070],{},[771,19333,773],{},[1477,19335,1484],{"stretchy":1479},[775,19337,3077],{"encoding":777},[651,19339,19341],{"className":19340,"ariaHidden":782},[781],[651,19342,19344,19347,19350,19353,19358,19361,19364],{"className":19343},[786],[651,19345],{"className":19346,"style":1497},[790],[651,19348,1475],{"className":19349,"style":1502},[795,1501],[651,19351,679],{"className":19352},[1506],[651,19354,3097,19356],{"className":19355},[3096],[651,19357,3101],{"style":3100},[651,19359],{"className":19360,"style":3105},[2370],[651,19362,773],{"className":19363},[795,796],[651,19365,1484],{"className":19366},[1513],[3395,19368,7428],{},[3172,19370,19371,19373,19375,19440],{},[3395,19372,433],{},[3395,19374,918],{},[3395,19376,19377],{},[651,19378,19380,19405],{"className":19379},[755],[651,19381,19383],{"className":19382},[759],[761,19384,19385],{"xmlns":763},[765,19386,19387,19403],{},[768,19388,19389,19391,19393,19395,19397,19399,19401],{},[771,19390,1475],{"mathvariant":1474},[1477,19392,679],{"stretchy":1479},[771,19394,773],{},[771,19396,3067],{},[1477,19398,3070],{},[771,19400,773],{},[1477,19402,1484],{"stretchy":1479},[775,19404,7354],{"encoding":777},[651,19406,19408],{"className":19407,"ariaHidden":782},[781],[651,19409,19411,19414,19417,19420,19423,19426,19431,19434,19437],{"className":19410},[786],[651,19412],{"className":19413,"style":1497},[790],[651,19415,1475],{"className":19416,"style":1502},[795,1501],[651,19418,679],{"className":19419},[1506],[651,19421,773],{"className":19422},[795,796],[651,19424],{"className":19425,"style":3105},[2370],[651,19427,3097,19429],{"className":19428},[3096],[651,19430,3101],{"style":3100},[651,19432],{"className":19433,"style":3105},[2370],[651,19435,773],{"className":19436},[795,796],[651,19438,1484],{"className":19439},[1513],[3395,19441,9365],{},[3172,19443,19444,19447,19449,19514],{},[3395,19445,19446],{},"k-NN",[3395,19448,1268],{},[3395,19450,19451],{},[651,19452,19454,19479],{"className":19453},[755],[651,19455,19457],{"className":19456},[759],[761,19458,19459],{"xmlns":763},[765,19460,19461,19477],{},[768,19462,19463,19465,19467,19469,19471,19473,19475],{},[771,19464,1475],{"mathvariant":1474},[1477,19466,679],{"stretchy":1479},[771,19468,773],{},[771,19470,3067],{},[1477,19472,3070],{},[771,19474,773],{},[1477,19476,1484],{"stretchy":1479},[775,19478,7354],{"encoding":777},[651,19480,19482],{"className":19481,"ariaHidden":782},[781],[651,19483,19485,19488,19491,19494,19497,19500,19505,19508,19511],{"className":19484},[786],[651,19486],{"className":19487,"style":1497},[790],[651,19489,1475],{"className":19490,"style":1502},[795,1501],[651,19492,679],{"className":19493},[1506],[651,19495,773],{"className":19496},[795,796],[651,19498],{"className":19499,"style":3105},[2370],[651,19501,3097,19503],{"className":19502},[3096],[651,19504,3101],{"style":3100},[651,19506],{"className":19507,"style":3105},[2370],[651,19509,773],{"className":19510},[795,796],[651,19512,1484],{"className":19513},[1513],[3395,19515,10534],{},[594,19517,19519],{"id":19518},"auto-évaluation","Auto-évaluation",[997,19521,19523,19557],{"correct":999,"slug":19522},"ph-algorithmique-1-q1",[1002,19524,19525],{"v-slot:question":647},[599,19526,19527,19528,19556],{},"La recherche linéaire d'une valeur dans un tableau de taille ",[651,19529,19531,19544],{"className":19530},[755],[651,19532,19534],{"className":19533},[759],[761,19535,19536],{"xmlns":763},[765,19537,19538,19542],{},[768,19539,19540],{},[771,19541,773],{},[775,19543,773],{"encoding":777},[651,19545,19547],{"className":19546,"ariaHidden":782},[781],[651,19548,19550,19553],{"className":19549},[786],[651,19551],{"className":19552,"style":791},[790],[651,19554,773],{"className":19555},[795,796]," a pour\ncomplexité au pire :",[1002,19558,19559],{"v-slot:choices":647},[1014,19560,19561,19606,19651,19708],{},[972,19562,19563],{},[651,19564,19566,19585],{"className":19565},[755],[651,19567,19569],{"className":19568},[759],[761,19570,19571],{"xmlns":763},[765,19572,19573,19583],{},[768,19574,19575,19577,19579,19581],{},[771,19576,1475],{"mathvariant":1474},[1477,19578,679],{"stretchy":1479},[1869,19580,999],{},[1477,19582,1484],{"stretchy":1479},[775,19584,1875],{"encoding":777},[651,19586,19588],{"className":19587,"ariaHidden":782},[781],[651,19589,19591,19594,19597,19600,19603],{"className":19590},[786],[651,19592],{"className":19593,"style":1497},[790],[651,19595,1475],{"className":19596,"style":1502},[795,1501],[651,19598,679],{"className":19599},[1506],[651,19601,999],{"className":19602},[795],[651,19604,1484],{"className":19605},[1513],[972,19607,19608],{},[651,19609,19611,19630],{"className":19610},[755],[651,19612,19614],{"className":19613},[759],[761,19615,19616],{"xmlns":763},[765,19617,19618,19628],{},[768,19619,19620,19622,19624,19626],{},[771,19621,1475],{"mathvariant":1474},[1477,19623,679],{"stretchy":1479},[771,19625,773],{},[1477,19627,1484],{"stretchy":1479},[775,19629,1487],{"encoding":777},[651,19631,19633],{"className":19632,"ariaHidden":782},[781],[651,19634,19636,19639,19642,19645,19648],{"className":19635},[786],[651,19637],{"className":19638,"style":1497},[790],[651,19640,1475],{"className":19641,"style":1502},[795,1501],[651,19643,679],{"className":19644},[1506],[651,19646,773],{"className":19647},[795,796],[651,19649,1484],{"className":19650},[1513],[972,19652,19653],{},[651,19654,19656,19679],{"className":19655},[755],[651,19657,19659],{"className":19658},[759],[761,19660,19661],{"xmlns":763},[765,19662,19663,19677],{},[768,19664,19665,19667,19669,19671,19673,19675],{},[771,19666,1475],{"mathvariant":1474},[1477,19668,679],{"stretchy":1479},[771,19670,3067],{},[1477,19672,3070],{},[771,19674,773],{},[1477,19676,1484],{"stretchy":1479},[775,19678,3077],{"encoding":777},[651,19680,19682],{"className":19681,"ariaHidden":782},[781],[651,19683,19685,19688,19691,19694,19699,19702,19705],{"className":19684},[786],[651,19686],{"className":19687,"style":1497},[790],[651,19689,1475],{"className":19690,"style":1502},[795,1501],[651,19692,679],{"className":19693},[1506],[651,19695,3097,19697],{"className":19696},[3096],[651,19698,3101],{"style":3100},[651,19700],{"className":19701,"style":3105},[2370],[651,19703,773],{"className":19704},[795,796],[651,19706,1484],{"className":19707},[1513],[972,19709,19710],{},[651,19711,19713,19736],{"className":19712},[755],[651,19714,19716],{"className":19715},[759],[761,19717,19718],{"xmlns":763},[765,19719,19720,19734],{},[768,19721,19722,19724,19726,19732],{},[771,19723,1475],{"mathvariant":1474},[1477,19725,679],{"stretchy":1479},[2093,19727,19728,19730],{},[771,19729,773],{},[1869,19731,908],{},[1477,19733,1484],{"stretchy":1479},[775,19735,2103],{"encoding":777},[651,19737,19739],{"className":19738,"ariaHidden":782},[781],[651,19740,19742,19745,19748,19751,19780],{"className":19741},[786],[651,19743],{"className":19744,"style":2113},[790],[651,19746,1475],{"className":19747,"style":1502},[795,1501],[651,19749,679],{"className":19750},[1506],[651,19752,19754,19757],{"className":19753},[795],[651,19755,773],{"className":19756},[795,796],[651,19758,19760],{"className":19759},[2129],[651,19761,19763],{"className":19762},[2133],[651,19764,19766],{"className":19765},[2137],[651,19767,19769],{"className":19768,"style":2142},[2141],[651,19770,19771,19774],{"style":2145},[651,19772],{"className":19773,"style":2150},[2149],[651,19775,19777],{"className":19776},[2154,2155,2156,2157],[651,19778,908],{"className":19779},[795,2157],[651,19781,1484],{"className":19782},[1513],[997,19784,19786,19791],{"correct":908,"slug":19785},"ph-algorithmique-1-q2",[1002,19787,19788],{"v-slot:question":647},[599,19789,19790],{},"La recherche dichotomique dans un tableau trié a pour complexité au pire :",[1002,19792,19793],{"v-slot:choices":647},[1014,19794,19795,19840,19885,19942],{},[972,19796,19797],{},[651,19798,19800,19819],{"className":19799},[755],[651,19801,19803],{"className":19802},[759],[761,19804,19805],{"xmlns":763},[765,19806,19807,19817],{},[768,19808,19809,19811,19813,19815],{},[771,19810,1475],{"mathvariant":1474},[1477,19812,679],{"stretchy":1479},[1869,19814,999],{},[1477,19816,1484],{"stretchy":1479},[775,19818,1875],{"encoding":777},[651,19820,19822],{"className":19821,"ariaHidden":782},[781],[651,19823,19825,19828,19831,19834,19837],{"className":19824},[786],[651,19826],{"className":19827,"style":1497},[790],[651,19829,1475],{"className":19830,"style":1502},[795,1501],[651,19832,679],{"className":19833},[1506],[651,19835,999],{"className":19836},[795],[651,19838,1484],{"className":19839},[1513],[972,19841,19842],{},[651,19843,19845,19864],{"className":19844},[755],[651,19846,19848],{"className":19847},[759],[761,19849,19850],{"xmlns":763},[765,19851,19852,19862],{},[768,19853,19854,19856,19858,19860],{},[771,19855,1475],{"mathvariant":1474},[1477,19857,679],{"stretchy":1479},[771,19859,773],{},[1477,19861,1484],{"stretchy":1479},[775,19863,1487],{"encoding":777},[651,19865,19867],{"className":19866,"ariaHidden":782},[781],[651,19868,19870,19873,19876,19879,19882],{"className":19869},[786],[651,19871],{"className":19872,"style":1497},[790],[651,19874,1475],{"className":19875,"style":1502},[795,1501],[651,19877,679],{"className":19878},[1506],[651,19880,773],{"className":19881},[795,796],[651,19883,1484],{"className":19884},[1513],[972,19886,19887],{},[651,19888,19890,19913],{"className":19889},[755],[651,19891,19893],{"className":19892},[759],[761,19894,19895],{"xmlns":763},[765,19896,19897,19911],{},[768,19898,19899,19901,19903,19905,19907,19909],{},[771,19900,1475],{"mathvariant":1474},[1477,19902,679],{"stretchy":1479},[771,19904,3067],{},[1477,19906,3070],{},[771,19908,773],{},[1477,19910,1484],{"stretchy":1479},[775,19912,3077],{"encoding":777},[651,19914,19916],{"className":19915,"ariaHidden":782},[781],[651,19917,19919,19922,19925,19928,19933,19936,19939],{"className":19918},[786],[651,19920],{"className":19921,"style":1497},[790],[651,19923,1475],{"className":19924,"style":1502},[795,1501],[651,19926,679],{"className":19927},[1506],[651,19929,3097,19931],{"className":19930},[3096],[651,19932,3101],{"style":3100},[651,19934],{"className":19935,"style":3105},[2370],[651,19937,773],{"className":19938},[795,796],[651,19940,1484],{"className":19941},[1513],[972,19943,19944],{},[651,19945,19947,19970],{"className":19946},[755],[651,19948,19950],{"className":19949},[759],[761,19951,19952],{"xmlns":763},[765,19953,19954,19968],{},[768,19955,19956,19958,19960,19966],{},[771,19957,1475],{"mathvariant":1474},[1477,19959,679],{"stretchy":1479},[2093,19961,19962,19964],{},[771,19963,773],{},[1869,19965,908],{},[1477,19967,1484],{"stretchy":1479},[775,19969,2103],{"encoding":777},[651,19971,19973],{"className":19972,"ariaHidden":782},[781],[651,19974,19976,19979,19982,19985,20014],{"className":19975},[786],[651,19977],{"className":19978,"style":2113},[790],[651,19980,1475],{"className":19981,"style":1502},[795,1501],[651,19983,679],{"className":19984},[1506],[651,19986,19988,19991],{"className":19987},[795],[651,19989,773],{"className":19990},[795,796],[651,19992,19994],{"className":19993},[2129],[651,19995,19997],{"className":19996},[2133],[651,19998,20000],{"className":19999},[2137],[651,20001,20003],{"className":20002,"style":2142},[2141],[651,20004,20005,20008],{"style":2145},[651,20006],{"className":20007,"style":2150},[2149],[651,20009,20011],{"className":20010},[2154,2155,2156,2157],[651,20012,908],{"className":20013},[795,2157],[651,20015,1484],{"className":20016},[1513],[997,20018,20020,20025],{"correct":999,"slug":20019},"ph-algorithmique-1-q3",[1002,20021,20022],{"v-slot:question":647},[599,20023,20024],{},"Parmi les affirmations suivantes sur le tri par sélection, laquelle est\ncorrecte ?",[1002,20026,20027],{"v-slot:choices":647},[1014,20028,20029,20076,20152,20155],{},[972,20030,20031,20032,20075],{},"Son coût est ",[651,20033,20035,20054],{"className":20034},[755],[651,20036,20038],{"className":20037},[759],[761,20039,20040],{"xmlns":763},[765,20041,20042,20052],{},[768,20043,20044,20046,20048,20050],{},[771,20045,1475],{"mathvariant":1474},[1477,20047,679],{"stretchy":1479},[771,20049,773],{},[1477,20051,1484],{"stretchy":1479},[775,20053,1487],{"encoding":777},[651,20055,20057],{"className":20056,"ariaHidden":782},[781],[651,20058,20060,20063,20066,20069,20072],{"className":20059},[786],[651,20061],{"className":20062,"style":1497},[790],[651,20064,1475],{"className":20065,"style":1502},[795,1501],[651,20067,679],{"className":20068},[1506],[651,20070,773],{"className":20071},[795,796],[651,20073,1484],{"className":20074},[1513]," dans le meilleur des cas.",[972,20077,20031,20078,20151],{},[651,20079,20081,20104],{"className":20080},[755],[651,20082,20084],{"className":20083},[759],[761,20085,20086],{"xmlns":763},[765,20087,20088,20102],{},[768,20089,20090,20092,20094,20100],{},[771,20091,1475],{"mathvariant":1474},[1477,20093,679],{"stretchy":1479},[2093,20095,20096,20098],{},[771,20097,773],{},[1869,20099,908],{},[1477,20101,1484],{"stretchy":1479},[775,20103,2103],{"encoding":777},[651,20105,20107],{"className":20106,"ariaHidden":782},[781],[651,20108,20110,20113,20116,20119,20148],{"className":20109},[786],[651,20111],{"className":20112,"style":2113},[790],[651,20114,1475],{"className":20115,"style":1502},[795,1501],[651,20117,679],{"className":20118},[1506],[651,20120,20122,20125],{"className":20121},[795],[651,20123,773],{"className":20124},[795,796],[651,20126,20128],{"className":20127},[2129],[651,20129,20131],{"className":20130},[2133],[651,20132,20134],{"className":20133},[2137],[651,20135,20137],{"className":20136,"style":2142},[2141],[651,20138,20139,20142],{"style":2145},[651,20140],{"className":20141,"style":2150},[2149],[651,20143,20145],{"className":20144},[2154,2155,2156,2157],[651,20146,908],{"className":20147},[795,2157],[651,20149,1484],{"className":20150},[1513]," quel que soit le contenu du tableau.",[972,20153,20154],{},"Il ne fonctionne que si le tableau est déjà trié.",[972,20156,20157],{},"Il termine seulement si le tableau ne contient pas de doublons.",[997,20159,20162,20171],{"correct":20160,"slug":20161},"0,2","ph-algorithmique-1-q4",[1002,20163,20164],{"v-slot:question":647},[599,20165,20166,20167,20170],{},"Parmi les énoncés suivants sur les algorithmes gloutons, lesquels sont\n",[603,20168,20169],{},"corrects"," ? (plusieurs réponses)",[1002,20172,20173],{"v-slot:choices":647},[1014,20174,20175,20178,20181,20184],{},[972,20176,20177],{},"Ils construisent la solution pas à pas par des choix locaux.",[972,20179,20180],{},"Ils sont garantis optimaux sur tous les problèmes.",[972,20182,20183],{},"Ils ne reviennent jamais en arrière sur un choix fait.",[972,20185,20186,20187,1308],{},"Ils ont toujours une complexité ",[651,20188,20190,20213],{"className":20189},[755],[651,20191,20193],{"className":20192},[759],[761,20194,20195],{"xmlns":763},[765,20196,20197,20211],{},[768,20198,20199,20201,20203,20209],{},[771,20200,1475],{"mathvariant":1474},[1477,20202,679],{"stretchy":1479},[2093,20204,20205,20207],{},[771,20206,773],{},[1869,20208,908],{},[1477,20210,1484],{"stretchy":1479},[775,20212,2103],{"encoding":777},[651,20214,20216],{"className":20215,"ariaHidden":782},[781],[651,20217,20219,20222,20225,20228,20257],{"className":20218},[786],[651,20220],{"className":20221,"style":2113},[790],[651,20223,1475],{"className":20224,"style":1502},[795,1501],[651,20226,679],{"className":20227},[1506],[651,20229,20231,20234],{"className":20230},[795],[651,20232,773],{"className":20233},[795,796],[651,20235,20237],{"className":20236},[2129],[651,20238,20240],{"className":20239},[2133],[651,20241,20243],{"className":20242},[2137],[651,20244,20246],{"className":20245,"style":2142},[2141],[651,20247,20248,20251],{"style":2145},[651,20249],{"className":20250,"style":2150},[2149],[651,20252,20254],{"className":20253},[2154,2155,2156,2157],[651,20255,908],{"className":20256},[795,2157],[651,20258,1484],{"className":20259},[1513],[997,20261,20263,20268],{"correct":999,"slug":20262},"ph-algorithmique-1-q5",[1002,20264,20265],{"v-slot:question":647},[599,20266,20267],{},"Pour appliquer la recherche dichotomique, le tableau doit absolument être…",[1002,20269,20270],{"v-slot:choices":647},[1014,20271,20272,20275,20277,20280],{},[972,20273,20274],{},"de taille paire",[972,20276,1565],{},[972,20278,20279],{},"de taille puissance de 2",[972,20281,20282],{},"composé d'entiers uniquement",[20284,20285,20287],"self-eval-free-text",{"answer":3067,"case-sensitive":1479,"slug":20286},"ph-algorithmique-1-q6",[1002,20288,20289],{"v-slot:question":647},[599,20290,20291,20292,20299],{},"La complexité de la dichotomie est ",[651,20293,20298],{"className":20294,"title":20296,"style":20297},[20295],"katex-error","ParseError: KaTeX parse error: Got function '\\\\' with no arguments as subscript at position 16: \\mathcal{O}(\\\\_\\̲\\̲_\\\\_\\\\_\\\\_ \\, n…","color:#cc0000","\\mathcal{O}(\\\\_\\\\_\\\\_\\\\_\\\\_ \\, n)",".\nQuel mot (ou abréviation) manque entre les espaces ?",[20301,20302,20304,20312],"self-eval-ordering",{"slug":20303},"ph-algorithmique-1-q7",[1002,20305,20306],{"v-slot:question":647},[599,20307,20308,20309,20311],{},"Ordonnez les étapes d'une ",[603,20310,7445],{}," d'une cible dans un\ntableau trié :",[1002,20313,20314],{"v-slot:items":647},[1014,20315,20316,20325,20330,20337,20345,20351],{},[972,20317,20318,20319,1285,20322],{},"Initialiser ",[625,20320,20321],{},"gauche = 0",[625,20323,20324],{},"droite = n - 1",[972,20326,20327,20328],{},"Calculer ",[625,20329,7637],{},[972,20331,20332,20333,20336],{},"Comparer ",[625,20334,20335],{},"t[m]"," à la cible",[972,20338,20339,20340,812,20342,20344],{},"Mettre à jour ",[625,20341,7621],{},[625,20343,7624],{}," selon la comparaison",[972,20346,20347,20348],{},"Recommencer tant que ",[625,20349,20350],{},"gauche \u003C= droite",[972,20352,20353,20354],{},"Retourner l'indice trouvé ou ",[625,20355,9177],{},[20301,20357,20359,20367],{"slug":20358},"ph-algorithmique-1-q8",[1002,20360,20361],{"v-slot:question":647},[599,20362,20363,20364,20366],{},"Ordonnez les étapes de l'algorithme ",[603,20365,19446],{}," pour classer un nouveau point :",[1002,20368,20369],{"v-slot:items":647},[1014,20370,20371,20374,20377,20407,20410],{},[972,20372,20373],{},"Calculer la distance entre le nouveau point et chaque exemple étiqueté",[972,20375,20376],{},"Trier les exemples par distance croissante",[972,20378,10603,20379,10634],{},[651,20380,20382,20395],{"className":20381},[755],[651,20383,20385],{"className":20384},[759],[761,20386,20387],{"xmlns":763},[765,20388,20389,20393],{},[768,20390,20391],{},[771,20392,1796],{},[775,20394,1796],{"encoding":777},[651,20396,20398],{"className":20397,"ariaHidden":782},[781],[651,20399,20401,20404],{"className":20400},[786],[651,20402],{"className":20403,"style":1808},[790],[651,20405,1796],{"className":20406,"style":1812},[795,796],[972,20408,20409],{},"Faire le vote majoritaire sur leurs classes",[972,20411,20412],{},"Retourner la classe majoritaire comme prédiction",{"title":647,"searchDepth":661,"depth":661,"links":20414},[20415,20416,20417],{"id":18511,"depth":661,"text":18512},{"id":18984,"depth":661,"text":18985},{"id":19518,"depth":661,"text":19519},"Vue d'ensemble du chapitre PH, articulation des notions et auto-évaluation finale.",{"self_eval_slug":20420},"nsi-1ere-ph-algorithmique","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fchapitre.memo",[20423,20430,20432,20436,20440,20442,20447,20457],{"slug":19522,"kind":1592,"question":20424,"choices":20425,"correct":999,"multi":1595,"explanation":647},"La recherche linéaire d'une valeur dans un tableau de taille nnn a pour\ncomplexité au pire :",[20426,20427,20428,20429],"O(1)\\mathcal{O}(1)O(1)","O(n)\\mathcal{O}(n)O(n)","O(log⁡n)\\mathcal{O}(\\log n)O(logn)","O(n2)\\mathcal{O}(n^2)O(n2)",{"slug":19785,"kind":1592,"question":19790,"choices":20431,"correct":908,"multi":1595,"explanation":647},[20426,20427,20428,20429],{"slug":20019,"kind":1592,"question":20024,"choices":20433,"correct":999,"multi":1595,"explanation":647},[20434,20435,20154,20157],"Son coût est O(n)\\mathcal{O}(n)O(n) dans le meilleur des cas.","Son coût est O(n2)\\mathcal{O}(n^2)O(n2) quel que soit le contenu du tableau.",{"slug":20161,"kind":1592,"question":20437,"choices":20438,"correct":20160,"multi":700,"explanation":647},"Parmi les énoncés suivants sur les algorithmes gloutons, lesquels sont\ncorrects ? (plusieurs réponses)",[20177,20180,20183,20439],"Ils ont toujours une complexité O(n2)\\mathcal{O}(n^2)O(n2).",{"slug":20262,"kind":1592,"question":20267,"choices":20441,"correct":999,"multi":1595,"explanation":647},[20274,1565,20279,20282],{"slug":20286,"kind":20443,"question":20444,"answer":3067,"caseSensitive":1595,"tolerance":20445,"inputType":20446,"explanation":647},"free_text","La complexité de la dichotomie est \\mathcal{O}(\\\\_\\\\_\\\\_\\\\_\\\\_ \\, n).\nQuel mot (ou abréviation) manque entre les espaces ?",0,"string",{"slug":20303,"kind":20448,"question":20449,"items":20450,"explanation":647},"ordering","Ordonnez les étapes d'une recherche dichotomique d'une cible dans un\ntableau trié :",[20451,20452,20453,20454,20455,20456],"Initialiser gauche = 0 et droite = n - 1","Calculer m = (gauche + droite) \u002F\u002F 2","Comparer t[m] à la cible","Mettre à jour gauche ou droite selon la comparaison","Recommencer tant que gauche \u003C= droite","Retourner l'indice trouvé ou -1",{"slug":20358,"kind":20448,"question":20458,"items":20459,"explanation":647},"Ordonnez les étapes de l'algorithme k-NN pour classer un nouveau point :",[20373,20376,20460,20409,20412],"Sélectionner les kkk plus proches",{"title":18505,"description":20418},"1.nsi-1ere\u002Fph-algorithmique\u002Fchapitre.memo","iWoOQFSxUplPBKx4I216v5fMa70oHQG23jg4eoDO6as",1788035583572]