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

.128013bî];=wlSd[f-:431(gnah.p/+uerovm)6 x72i,y9éc8s_Ptk05050j0B0W0u0M0h0T0I0R0h0u0T0T0f010W0M0x010406050T0A0F0F0u0C0O040i0D0h0A0@0D0t050y0~1012140|0x04051k1d1n0y1k0|0j0M0E0,0.0:0=0.0t0s0A0u0s0B0m0x0O0W0v1b0I0v0M0s0v0h1P0v0W0`050%0b0h0B1w0/0;011O1Q1S1Q0W1Y1!1W0W0C1l1K0,170T0x0u0t0=0L011$1y010l0)0B0t0u0F0B1W1{1}221(251!282a0`0a0I0V0C0D0x0D0T0M1a0t0I0#1_0C0C0B0R2v1d2d0t1l0y1K2I1=1@1?1X0j2f1z0M0t272s1W1t1v0-1%2S2U0t0D2Y1W0x2B1l2G2I2/0}1|2w2!232(0C110h1W0u1N2B0l0=030U0U0R2)0B1S2%0D0m0Y0m0q0`0I0q1d0u2:2?0{2=2e2^1(2`2|2~300B32013436383a2V3d0m20040I0L3k3m1}3o2G2R013t0u2}1l2 0v313335370#3D2(3F0p3h0p3L2F3n0|3P3r0=3S3U053W3Y3z3!3C2T3E3e0o3h0o3-1e3/3p2@1x3s0D2{3T3v3X3x3Z3B3$3 3(3e0Z3h0Z452/3:2?3Q3@4f3{3A3#394l3c3e0H3h0H4r473;4a3?4c3u3V3w3y4z3~3b3F0K3h0K4I3N4t3q4L3R4N4e4P4g4R3}4k4U3e0S3h0S4Z2H4#492#4(4d3^3`4h3|4j4B4:0m0P3h0P4^3O4u3=4}4O3_4Q4i4A3%4D3f0Y0`0q0Y5a4`4v4)4 5h525j4C3F0q3g045B5r485t4~4x514S4/403f3H0q3K0y3l3.4!5G5d4w4+4y4.545N0q3*5D3,5S3M4_5W4%5Y5g4,5i4T5%425D445,5U5.4K4|5;504-535k5A4o5D4q5}465V602_5u5J645y550q4F5D4H6b2;1q2-1d2Y2L0j1@2Q5d4A2X1u1l2,0B2.3n5~1l4A6G2e0M0j0=352G5A3v6N6P655z3e3g0I2j0B6V6j5%1W5}6e1(0X0`0#0l6I5/4|0g3h6=6,3?0l0`2B0R0v0B0C700B0U281u0B6`5c4%0_040r7a4$610`0W0B0J7k7g4{237d0N6I0I6?2_0`0F0D0@6;6c2H7v1(7d0G0n6I0|7C6L2w6U016Q2?3F3H5g7O5#663e206!296$7P6W557T6+7b6@3h0I7/7o3Q0T0j0`02030p0P0e7_7{7}7`7|7J7;7V0U6R3e5)7U6O7%6(4m0m3*7!2a6%5^8e897+7h237?7.7/2B0t0E0D0M1#0.0I1S0T7k2x0B0+2T1t0R8F0I0r0Q0E270W0A391!2a0t0W0I0E6N0B0G8E0+0D0R0R0A2A278J0+0#837L5G85870m5`8a8j5M8e428h7$7W6X8_6*5T6{018q3I7/8E8A2 700u0c2U0I7y7A2x1}0+8z9f9h1#7k7m0B0w8;2;3P8@7R4n6T8b92554o908|5$8e683-97999b0I7~7|9S807 9x6H9z9E869B0m6m8{8c8k5l4F9I9*8}9,959a7:970t0`8H0M8.7t7E0=0D0`0f9~977d0k0d9X3N8?9!8^4W4P858d5l4W9.9F5Nae3L9Q9 3R9`a47,23a104a37L7u970F0M0`5q7L7K9y4u9A1}3F4=af9!ahaM216#9J7X0maNao9baq6.040g1O1!at8o3sasazaqaw020h0W0eay2/aAau3s0b0`2i7;5d7d7f8=9^7j7l7nb4a{0=7Ga*7p1(aw0mbd4va}04a b9a+bb0`b3aIboar049k0M7Bbsbebp047Ha97D9Z6V8^57aOaU9357ak7(5NbJaY9Q9@babu0Xbi5dawa^3na`btaCaEbE7M0IaK0t5A5nbK9/9K5l5paS7#bL6kb;bSbTa!0`a%26bY5:0`bXa.97a:a=0ec561bkbmbz3Qb2b0c6bv7zbxcl4|bcc9bV0D6^041}0jce7w049tb8cib10`0kcqcB0McJbf0`0zcM3?c7cQ017da8ctbtb!b#3Nb%bAbubwby9YbVa6cT9_04c8cF7c0`0d7IaG84ac9$5B9Db|5%6ZaTb?aVc~2I3lbTd9c$4vcScXc%aw0zc!2Hdb5db)5Db+abbHc}7T2 ag9+5A7Zd3al8e5Q9=dadk4%a#cpdedcc:cAcNaxdi3Iaq0tcg27cTckbnc%c/c)dU0`bDc`dWb-c|aL6Y89dtaPdvd,b`8id4935(dCdDaZb5049{9}d(bZ0`9we1cm0u0x0x27cze5crbqc.a-c=edbCdobG7%8^0q8`d.d0dA8 dybPesd`d9dQegb$a/cOdOdE4|dm3jd%cib.67c d@6k9HeuaQ6Y9M5,aHc+6Md*b/6Y9(eqeO5%9-eRd:3f9(5,ap97a#2B8Q0C1cdI5X9`0t8I8Fdo0y6K1o6s0y6u1d0W6wf72O2J0u1Z6F6t6C7K0#0%0)0T04.
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

.128013bî];=wlSd[f-:431(gnah.pF/+uerovm)q6 x72i,y9éc8s_PtTk05050j0C0Y0u0O0h0V0K0T0h0u0V0V0f010Y0O0x010406050V0B0G0G0u0D0Q040i0E0h0B0`0E0t050z111315170 0x04051n1g1q0z1n0 0j0O0F0/0;0?0^0;0t0s0B0u0s0C0m0x0Q0Y0v1e0K0v0O0s0v0h1S0v0Y0}050*0b0h0C1z0=0@011R1T1V1T0Y1#1%1Z0Y0D1o1N0/1a0V0x0u0t0^0N011)1B010l0,0C0t0u0G0C1Z1~20251+281%2b2d0}0a0K0X0D0E0x0E0V0O1d0t0K0(1|0D0D0C0T2y1g2g0t1o0z1N2L1^1`1_1!0j2i1C0O0t2a2v1Z1w1y0:1*2V2X0t0E2#1Z0x2E1o2J2L2=101 2z2%262+0D140h1Z0u1Q2E0l0^030W0W0T2,0C1V2*0E0m0q3g0}0K0q1g0u2?2_0~2^2h2{1+2}2 31330C350137393b3d2Y3g0m23040K0N3m3o203q2J2U013v0u301o320v3436383a0(3F2+3H0p3j0p3N2I3p0 3R3t0^3U3W053Y3!3B3$3E2W3G3h0o3j0o3/1h3;3r2`1A3u0E2~3V3x3Z3z3#3D3(413*3h0$3j0$472=3=2_3S3_4h3}3C3%3c4n3f3h0J3j0J4t493?4c3^4e3w3X3y3A4B403e3H0M3j0M4K3P4v3s4N3T4P4g4R4i4T3 4m4W3h0U3j0U4#2K4%4b2(4*4f3`3|4j3~4l4D4=0m0R3j0R4`3Q4w3@4 4Q3{4S4k4C3)4F3g0#0}0q0#5c4|4x4+515j545l4E3H0q0q5q3l0z3n3:4$4a5v504z534U4;423g3J0q3M5H3O4{5L5f4y4-4A4:565S0q3,045,5t5!4)5$5i4.5k4V5+445.465X5J5Z4M4~5?524/555m5C4q5.4s5 485K622|5w5O665A570q4H5.4J6d2@1t2:1g2#2O0j1`2T5f4C2!1x1o2/0C2;3p601o4C6I2h0O0j0^382J5C3x6P6R675B3h5E0K2m0C6X6l5+1Z5 6g1+0!0}0(0l6K5;4~0g3j6@6.3^0l0}2E0T0v0C0D720C0W2b1x770b0E1a6|5e4)0|040r7f4(630}0Y0C0L7p7l4}267i0P6K0K6^2|0}0G0E0`6?6e2K7A1+7i0H0n6K0 7H6N2z6W016S2_3H3J5i7T5)683h236$2c6(7U6Y577Y6-7g6_3j0K7@7t3S0V0j0}02030p0R0e7~80827 817O7_7!0W6T3h5-7Z6Q7,6*4o0m3,7)2d6)5`8j8e7:7m267{7?7@2E0t0F0E0O1(0B2z7c1a0S2a0K2W1w0I1G0t0Y0K0;0K2/0S0V2a0T1(0E0B6$1P0(887Q5L8a8c0m5|8f8o5R8j448m7+7#6Z8.6,5I6}018v3K7@8R32720u0c2X0K7D7F2A200.8S96981(7p7r0C0w8)2@3R8,7W4p6V8g8`574q8^8;5*8j6a3/8 91930K83819J85849o6J9q9v8b9s0m6o8:8h8p5n4H9z9X8=9Z8}927^8 0t7o2s0B0F0C7y7J0^0E0}0f9?8 0!0T0}0y3V8W9O3P8+9R8-4Y4R8a8i5n4Y9#9w5Sa93N9H9@3T0}0O9|7;269_049{7Q7z8 0G0O0}5s7Q7P9p4w9r203H4@aa9RacaI246%9A7$0maJaj93al6:040g1R1%ap8t3uana$7u1+as020h0Y0eau2=awaq3u0b0}2l7_5f7i7k8*9,7o7q7sb1a^0^7La*3Sas0mba5#a`04a|b6a%b80}b0aEbkam049b0O7Gboa+bl040Hbe4)0E6`04200jbA4~bC0}2+0YbH7B041^8!9;a}7h0}7NaC89a79T59aKaQ8{59af7-5Sb#aU9H9+b7bq0!bNa,9`b@0^ayaAa47I9Q6X8-5r9ub%6m5pb*aM6!5p2L3nb/aV9}0}aZ29b`b=cka-a/0eck0tbgbibv3Sa bT7nbr7Ebtcx7v0}bzavalbJbE0tbGcGb2bPb49=bjbw017i0kcCa(04aocMb;as0Acq0}b?cRcv0}0dcm9`a=3pa@bp9-cz7FcWbxcVc+5#c)c{cTc-bW4ubYc19T5Dc49$9B5nd9c89Y5C5Ecc9*cecfb;c^c*a?cHb_c!c@d0dtcSc$ckb|5.b~7R8KbZaH6!7Y32abdgdHaO7*c55+7/cddlaWanbuc=aldoc/atc;3Pc?cScra{2ad1cwc~5=7CcAdWa58 7Ld449c+aG0t5C8edJaLdL3g8laPdbaR5,9)dlb/dY9.bRcQdq8 asd$2Kd(3S9~0}0Z0D0Begd{cud}5C8/e1dP8j0q8@e6ageB8/5XebedcYd!ek3KeKcZehc#0}c%dw3SdA5Gd5d|dFd~6!9Deze78{0q9yeEb+eB9D5XaD9PaFe#5C9Ve)eFdd9!e.c93g9VeIdmbpaX2E0Y0B0D1feVc bP9/bSbX8*0z6M1r6u0z6w1g0Y6yfq2R2M0u1$6H6v6E7P0(0*0,0V04.

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).