Aller au contenu

Recherche naïve

II. Recherche textuelle naïve⚓︎

Regarder les 5 premières minutes de la vidéo de l'introduction.

L'algorithme naïf et l'algorithme de Horspool en vidéo : Recherche textuelle

Illustration de l'algorithme

Auteur : Gilles Lassus

gif naif

Animation de Nicolas Revéret

Recherche naïve

Algorithme de recherche naïve

Compléter ci-dessous :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013kg[:î r);Sé/(.lo4y,6b=ac1x5+ud3t28_Pw7evp-fh09mn]is050E0N0G0x0Y0p0Z0g0y0p0x0Z0Z0w010G0Y0P010406050Z0D0V0V0x0h0s040k0q0p0D0@0q0W050m0~1012140|0P04051k1d1n0m1k0|0E0Y0O0,0.0:0=0.0W0c0D0x0c0N0Q0P0s0G0S1b0g0S0Y0c0S0p1P0S0G0`050%0v0p0N1w0/0;011O1Q1S1Q0G1Y1!1W0G0h1l1K0,170Z0P0x0W0=0H011$1y010R0)0N0W0x0V0N1W1{1}221(251!282a0`0a0g0K0h0q0P0q0Z0Y1a0W0g0#1_0h0h0N0y2v1d2d0W1l0m1K2I1=1@1?1X0E2f1z0Y0W272s1W1t1v0-1%2S2U0W0q2Y1W0P2B1l2G2I2/0}1|2w2!232(0h110p1W0x1N2B0R0=030J0J0y2)0N1S2%0q0Q0T0Q0z0`0g0z1d0x2:2?0{2=2e2^1(2`2|2~300N32013436383a2V3d0Q20040g0H3k3m1}3o2G2R013t0x2}1l2 0S313335370#3D2(3F0F3h0F3L2F3n0|3P3r0=3S3U053W3Y3z3!3C2T3E3e0r3h0r3-1e3/3p2@1x3s0q2{3T3v3X3x3Z3B3$3 3(3e0B3h0B452/3:2?3Q3@4f3{3A3#394l3c3e0u3h0u4r473;4a3?4c3u3V3w3y4z3~3b3F0M3h0M4I3N4t3q4L3R4N4e4P4g4R3}4k4U3e0I3h0I4Z2H4#492#4(4d3^3`4h3|4j4B4:0Q0U3h0U4^3O4u3=4}4O3_4Q4i4A3%4D3f0T0`0z0T5a4`4v4)4 5h525j4C3F0z3g045B5r485t4~4x514S4/403f3H0z3K0m3l3.4!5G5d4w4+4y4.545N0z3*5D3,5S3M4_5W4%5Y5g4,5i4T5%425D445,5U5.4K4|5;504-535k5A4o5D4q5}465V602_5u5J645y550z4F5D4H6b2;1q2-1d2Y2L0E1@2Q5d4A2X1u1l2,0N2.3n5~1l4A6G2e0Y0E0=352G5A3v6N6P655z3e3g0g2j0N6V6j5%1W5}6e1(0b0`0#0R6I0g5/610R0`2B0y0S0N0h6|0N0J281u0N6I6@230_040n766,3?0`0G0N0A7g7c5c4%790t6=773s0`0V0q0@6;6c2H7q0=790i0e6I0|7x6L2w6U016Q2?3F3H5g7J5#663e206!296$7K6W557O6+7l4|0L3h0g7+7k4$4|0Z0E0`02030F0U0j7?7^7`7@7_7E7-7I6O7Y6R3e5)7P837R6X0Q3*7V2a6%5^4m8c6*5T7d017:7*7+2B0W0O0q0Y1#0.0g1S0Z7g2x0N0+2T1t0y8D0g0n0l0O270G0D391!2a0W0G0g0O6N0N0i8C0+0q0y0y0D2A278H0+0#807G5G7Q0J850Q5`888g5M8i428e7X8a558_7$7.238o3I7+8C8y2 6|0x0f2U0g7t7v2x1}0+8x9d9f1#7g7i0N0o8/2;3P8=8@688`7Y6(8i4o8 8{5$9E8k7H3Q97990g7{7_9Q7}7|9v6H9x898?7M4E6T9Y9D5l4F9G9C8h9)9K9O7z3R0`8F0Y8,7p8m0q0`0w9`7%780`0d0X9V3N8;9Y8@4W4P8=9(4V216#9H7S0Qaa3L9:8m0W9?9 951(9|049~7G6?8m0V0Y0`5q7G7F9w4u9y9!0Q4=ab9%9-3F4=9+915NaKal999;6.040L1O1!aq4{2_apaw9;at020p0G0jav2/axa03s0v0`2i813Q797b8:an7f7h7jb0a@7A0`0ia$3Qat0Qba5Xa_04a{b5arb77aa|5X7s7u0Y7waFbk017B7DaDa|aH1}3F57aLah8b57aQ7Z5NbDaU9O7,b1040bbe4%ata;3na?buazaBa57y9X6V8@5p9$bF6k5nbIad6Y5n2I3lbNaV8maXaZ26bS610`bRa*9{7=a.0jb~2_bgbibta%1(a~bn5:bp7vcf4|7Bc7as7)041}0Ecm7e049rb4cba}a2cja(040YcAas0`0CcEctc1cx5d79a4c2b601bUbV3NbXccct9ibrcIbvczbjcW9=bQc!cNbx4sbza8aI5Bb+9,8|5lc=b/aN6Y5CbMb^b_cQaoc*cPbuat0CcT2HcV3QbZ5Db#9LbA0W5A7O2 acc|5Oaf7Wb,5%7#b@d0aW9?bsbW9;d3cKdzc3aud93IdAc927c+0`a cLcg04cYdya68mbwdfa7b(c;87dlaMc^5A8dagc@9Ic_875,d0bNdA9?0W8G8Dc!at9uc%4v0`0x0P0P27crd}cMdMc!d3cDe57mb8dWb%84c;8_d#dr8i0z8~d*aRel93dub^d=cCcscRcGdGdb5ddd3jbyd}dh67c?epc_9FeobJel9A5,aE9WaGc:bB6Y6m9BeJ5A9*eMb:3feXd/d1buaX2B8O0h1cd5c(e9d@9^d_eE6q6K1o6s0m6u1d0G6wf22O2J0x1Z6F6t6C7F0#0%0)0Z04.
Version booléenne de l'algorithme de recherche naïve

Re-écrire l'algorithme précédent en s'arrêtant dès qu'une occurrence de motif est trouvée dans texte.

La fonction renverra uniquement un booléen.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013kg[:î r);Sé/q(.loF4y,6b=ac1x5+ud3t28_Pw7evp-fh0T9mn]is050G0P0I0z0#0q0$0g0A0q0z0$0$0y010I0#0R010406050$0F0Y0Y0z0h0u040k0r0q0F0`0r0Z050m111315170 0R04051n1g1q0m1n0 0G0#0Q0/0;0?0^0;0Z0c0F0z0c0P0S0R0u0I0U1e0g0U0#0c0U0q1S0U0I0}050*0x0q0P1z0=0@011R1T1V1T0I1#1%1Z0I0h1o1N0/1a0$0R0z0Z0^0J011)1B010T0,0P0Z0z0Y0P1Z1~20251+281%2b2d0}0a0g0M0h0r0R0r0$0#1d0Z0g0(1|0h0h0P0A2y1g2g0Z1o0m1N2L1^1`1_1!0G2i1C0#0Z2a2v1Z1w1y0:1*2V2X0Z0r2#1Z0R2E1o2J2L2=101 2z2%262+0h140q1Z0z1Q2E0T0^030L0L0A2,0P1V2*0r0S0B3g0}0g0B1g0z2?2_0~2^2h2{1+2}2 31330P350137393b3d2Y3g0S23040g0J3m3o203q2J2U013v0z301o320U3436383a0(3F2+3H0H3j0H3N2I3p0 3R3t0^3U3W053Y3!3B3$3E2W3G3h0t3j0t3/1h3;3r2`1A3u0r2~3V3x3Z3z3#3D3(413*3h0D3j0D472=3=2_3S3_4h3}3C3%3c4n3f3h0w3j0w4t493?4c3^4e3w3X3y3A4B403e3H0O3j0O4K3P4v3s4N3T4P4g4R4i4T3 4m4W3h0K3j0K4#2K4%4b2(4*4f3`3|4j3~4l4D4=0S0X3j0X4`3Q4w3@4 4Q3{4S4k4C3)4F3g0V0}0B0V5c4|4x4+515j545l4E3H0B0B5q3l0m3n3:4$4a5v504z534U4;423g3J0B3M5H3O4{5L5f4y4-4A4:565S0B3,045,5t5!4)5$5i4.5k4V5+445.465X5J5Z4M4~5?524/555m5C4q5.4s5 485K622|5w5O665A570B4H5.4J6d2@1t2:1g2#2O0G1`2T5f4C2!1x1o2/0P2;3p601o4C6I2h0#0G0^382J5C3x6P6R675B3h5E0g2m0P6X6l5+1Z5 6g1+0b0}0(0T6K0g5;630T0}2E0A0U0P0h6~0P0L2b1x730x0r1a6K6_260|040o7b6.3^0}0I0P0C7l7h5e4)7e0v6@7c3u0}0Y0r0`6?6e2K7v0^7e0i0e6K0 7C6N2z6W016S2_3H3J5i7O5)683h236$2c6(7P6Y577T6-7q4~0N3j0g7:7p4(4~0$0G0}02030H0X0j7{7}7 7|7~7J7=7N6Q7%6T3h5-7U887W6Z0S3,7!2d6)5`4o8h6,5I7i017^7/7:2E0Z0Q0r0#1(0F2z781a0l2a0g2W1w0n1G0Z0I0g0;0g2/0l0$2a0A1(0r0F6$1P0(857L5L7V0L8a0S5|8d8l5R8n448j7$8f578.7+7?268t3K7:8P326~0z0f2X0g7y7A2A200.8Q94961(7l7n0P0p8%2@3R8*8,6a8/7%6*8n4q8@8:5*9v8p7M3S8 910g807~9H82819m6J9o8e8+7R4G6V9P9u5n4H9x9t8m9W9B9F7E3T7k2s0F0Q0P7u8r0r0}0y9/7,260b0A0}0s3V8U9M3P8)9P8,4Y4R8*9V4X246%9y7X0Sa53N9%8r0Z0}0#9@8}1+9;049?7L6^8r0Y0#0}5s7L7K9n4w9p9R0S4@a69U9!3H4@9Y8_5SaGag919(6:040N1R1%am4}2|akaY3Sap020q0I0jar2=at9^3u0x0}2l863S7e7g8(ai7k7m7oa|a:7F0}0ia$5fap0Sb65=a=04a@b1anb37fa^5#7x7z0#7BaBbg017Gba4~0r7.04200Gbt26bv0}2+0IbA7w041^8Y9-bj7r0}7Iaza^aD203H59aHac8g59aM7(5SbVaQ9F7;a}040bbG0^apa-3pa/bqavaxa07D9O6X8,5r9TbX6m5pb!a86!5p2L3nb)aR8raTaV29b.9)b,cga(a*0jcg0ZbcbebpaZ1+a`bM63bl7Acv7db4cjbwbycna~9jczct0}0dcI7j04alas9(ap0EcFcibfcsbh0!cj9=b;3Pb?cXch99bncMbrcKc-ajcVcra_0}0!bP4ubRa3aE5Dc09Z8;5nc c4aJ6!5Ec890caahb2chb-cQ9:9=cUdfa.cR0}cTdgddb^5.b`9CbS0Z5C7T32a7d65Taa7#c15+7*c9dbaSakbob=9(c;dkdNdhaqc$2Kc(4xcp2ac-cucW4xcxc,d$5f7Gc`49d$dv5C8cdzaId2d;dD8kd19zd38c5Xdbb)dO9*bK9.dpbqb:cg9`0}0W0h0Fe6c{d/c}bT6!8.d?dF8n0B8?abd|adeq9$dJb+cPdldSdU3Ke3cOc!04doeAdqawdsbQeib}c~9renet8g0B9wesaNep9r5XaA9NaCejdw6!6o9seYd39XeXb#epe,e0cbddaT2E0I0F0h1fe7c)c;bJ9,egd.6s6M1r6u0m6w1g0I6yfe2R2M0z1$6H6v6E7K0(0*0,0$04.

Temps de recherches

Avant de commencer

Vous devez travailler sur Basthon

Télécharger dans le même dossier :

Dans Basthon ouvrir temps_naif.ipynb, puis dans temps_naif.ipynb ouvrir pg798.txt (cliquer sur OK).