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

.128013l(9î _4:;=vm26-uS8w.s3/]+fr7gebh[pPicé05a,onkyd1x)t050V0E0Z0P0K0b0v0f0L0b0P0v0v0k010Z0K0I010406050v0q0m0m0P0B0U040r0R0b0q0@0R0S050x0~1012140|0I04051k1d1n0x1k0|0V0K0l0,0.0:0=0.0S0D0q0P0D0E0p0I0U0Z0G1b0f0G0K0D0G0b1P0G0Z0`050%0F0b0E1w0/0;011O1Q1S1Q0Z1Y1!1W0Z0B1l1K0,170v0I0P0S0=0n011$1y010A0)0E0S0P0m0E1W1{1}221(251!282a0`0a0f0J0B0R0I0R0v0K1a0S0f0#1_0B0B0E0L2v1d2d0S1l0x1K2I1=1@1?1X0V2f1z0K0S272s1W1t1v0-1%2S2U0S0R2Y1W0I2B1l2G2I2/0}1|2w2!232(0B110b1W0P1N2B0A0=030g0g0L2)0E1S2%0R0p0N0p0W0`0f0W1d0P2:2?0{2=2e2^1(2`2|2~300E32013436383a2V3d0p20040f0n3k3m1}3o2G2R013t0P2}1l2 0G313335370#3D2(3F0w3h0w3L2F3n0|3P3r0=3S3U053W3Y3z3!3C2T3E3e0h3h0h3-1e3/3p2@1x3s0R2{3T3v3X3x3Z3B3$3 3(3e0O3h0O452/3:2?3Q3@4f3{3A3#394l3c3e0o3h0o4r473;4a3?4c3u3V3w3y4z3~3b3F0C3h0C4I3N4t3q4L3R4N4e4P4g4R3}4k4U3e0s3h0s4Z2H4#492#4(4d3^3`4h3|4j4B4:0p0d3h0d4^3O4u3=4}4O3_4Q4i4A3%4D3f0N0`0W0N5a4`4v4)4 5h525j4C3F0W3g045B5r485t4~4x514S4/403f3H0W3K0x3l3.4!5G5d4w4+4y4.545N0W3*5D3,5S3M4_5W4%5Y5g4,5i4T5%425D445,5U5.4K4|5;504-535k5A4o5D4q5}465V602_5u5J645y550W4F5D4H6b2;1q2-1d2Y2L0V1@2Q5d4A2X1u1l2,0E2.3n5~1l4A6G2e0K0V0=352G5A3v6N6P655z3e3g0f2j0E6V6j5%1W5}6e1(0T0`0#0A6I5/4|0t3h6=6,3?0A0`2B0L0G0E0B700E0g281u0E6`5c4%0_040c7a4$610`0Z0E0X7k7g4{237d0Q6I0f6?2_0`0m0R0@6;6c2H7v1(7d0Y0i6I0|7C6L2w6U016Q2?3F3H5g7O5#663e206!296$7P6W557T6+7b6@3h0f7/7o3Q0v0V0`02030w0d0j7_7{7}7`7|7J7;7V0g6R3e5)7U6O7%6(4m0p3*7!2a6%5^8e897+7h237?7.7/2B0S0l0R0K1#0.0f1S0v7k2x0E0+2T1t0L8F0f0c0M0l270Z0q391!2a0S0Z0f0l6N0E0Y8E0+0R0L0L0q2A278J0+0#837L5G85870p5`8a8j5M8e428h7$7W6X8_6*5T6{018q3I7/8E8A2 700P0e2U0f7y7A2x1}0+8z9f9h1#7k7m0E0u8;2;3P8@7R4n6T8b92554o908|5$8e683-97999b0f7~7|9S807 9x6H9z9E869B0p6m8{8c8k5l4F9I9*8}9,959a7:970S0`8H0K8.7t7E0=0R0`0k9~977d0H0y9X3N8?9!8^4W4P858d5l4W9.9F5Nae3L9Q9 3R9`a47,23a104a37L7u970m0K0`5q7L7K9y4u9A1}3F4=af9!ahaM216#9J7X0paNao9baq6.040t1O1!at8o3sasazaqaw020b0Z0jay2/aAau3s0F0`2i7;5d7d7f8=9^7j7l7nb4a{0=7Ga*7p1(aw0pbd4va}04a b9a+bb0`b3aIboar049k0K7Bbsbebp047Ha97D9Z6V8^57aOaU9357ak7(5NbJaY9Q9@babu0Tbi5dawa^3na`btaCaEbE7M0faK0S5A5nbK9/9K5l5paS7#bL6kb;bSbTa!0`a%26bY5:0`bXa.97a:a=0jc561bkbmbz3Qb2b0c6bv7zbxcl4|bcc9bV0R6^041}0Vce7w049tb8cib10`0HcqcB0KcJbf0`0zcM3?c7cQ017da8ctbtb!b#3Nb%bAbubwby9YbVa6cT9_04c8cF7c0`0y7IaG84ac9$5B9Db|5%6ZaTb?aVc~2I3lbTd9c$4vcScXc%aw0zc!2Hdb5db)5Db+abbHc}7T2 ag9+5A7Zd3al8e5Q9=dadk4%a#cpdedcc:cAcNaxdi3Iaq0Scg27cTckbnc%c/c)dU0`bDc`dWb-c|aL6Y89dtaPdvd,b`8id4935(dCdDaZb5049{9}d(bZ0`9we1cm0P0I0I27cze5crbqc.a-c=edbCdobG7%8^0W8`d.d0dA8 dybPesd`d9dQegb$a/cOdOdE4|dm3jd%cib.67c d@6k9HeuaQ6Y9M5,aHc+6Md*b/6Y9(eqeO5%9-eRd:3f9(5,ap97a#2B8Q0B1cdI5X9`0S8I8Fdo0x6K1o6s0x6u1d0Z6wf72O2J0P1Z6F6t6C7K0#0%0)0v04.
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

.128013l(9î _4:;=vTm26-uS8w.s3/]+fr7gebh[pPicé05qa,onkFyd1x)t050Y0F0$0R0L0b0w0f0M0b0R0w0w0k010$0L0J010406050w0r0n0n0R0C0X040s0T0b0r0`0T0U050y111315170 0J04051n1g1q0y1n0 0Y0L0l0/0;0?0^0;0U0E0r0R0E0F0q0J0X0$0H1e0f0H0L0E0H0b1S0H0$0}050*0G0b0F1z0=0@011R1T1V1T0$1#1%1Z0$0C1o1N0/1a0w0J0R0U0^0o011)1B010B0,0F0U0R0n0F1Z1~20251+281%2b2d0}0a0f0K0C0T0J0T0w0L1d0U0f0(1|0C0C0F0M2y1g2g0U1o0y1N2L1^1`1_1!0Y2i1C0L0U2a2v1Z1w1y0:1*2V2X0U0T2#1Z0J2E1o2J2L2=101 2z2%262+0C140b1Z0R1Q2E0B0^030g0g0M2,0F1V2*0T0q0Z3g0}0f0Z1g0R2?2_0~2^2h2{1+2}2 31330F350137393b3d2Y3g0q23040f0o3m3o203q2J2U013v0R301o320H3436383a0(3F2+3H0x3j0x3N2I3p0 3R3t0^3U3W053Y3!3B3$3E2W3G3h0h3j0h3/1h3;3r2`1A3u0T2~3V3x3Z3z3#3D3(413*3h0P3j0P472=3=2_3S3_4h3}3C3%3c4n3f3h0p3j0p4t493?4c3^4e3w3X3y3A4B403e3H0D3j0D4K3P4v3s4N3T4P4g4R4i4T3 4m4W3h0t3j0t4#2K4%4b2(4*4f3`3|4j3~4l4D4=0q0d3j0d4`3Q4w3@4 4Q3{4S4k4C3)4F3g0O0}0Z0O5c4|4x4+515j545l4E3H0Z0Z5q3l0y3n3:4$4a5v504z534U4;423g3J0Z3M5H3O4{5L5f4y4-4A4:565S0Z3,045,5t5!4)5$5i4.5k4V5+445.465X5J5Z4M4~5?524/555m5C4q5.4s5 485K622|5w5O665A570Z4H5.4J6d2@1t2:1g2#2O0Y1`2T5f4C2!1x1o2/0F2;3p601o4C6I2h0L0Y0^382J5C3x6P6R675B3h5E0f2m0F6X6l5+1Z5 6g1+0V0}0(0B6K5;4~0u3j6@6.3^0B0}2E0M0H0F0C720F0g2b1x770G0T1a6|5e4)0|040c7f4(630}0$0F0!7p7l4}267i0S6K0f6^2|0}0n0T0`6?6e2K7A1+7i0#0i6K0 7H6N2z6W016S2_3H3J5i7T5)683h236$2c6(7U6Y577Y6-7g6_3j0f7@7t3S0w0Y0}02030x0d0j7~80827 817O7_7!0g6T3h5-7Z6Q7,6*4o0q3,7)2d6)5`8j8e7:7m267{7?7@2E0U0l0T0L1(0r2z7c1a0N2a0f2W1w0Q1G0U0$0f0;0f2/0N0w2a0M1(0T0r6$1P0(887Q5L8a8c0q5|8f8o5R8j448m7+7#6Z8.6,5I6}018v3K7@8R32720R0e2X0f7D7F2A200.8S96981(7p7r0F0v8)2@3R8,7W4p6V8g8`574q8^8;5*8j6a3/8 91930f83819J85849o6J9q9v8b9s0q6o8:8h8p5n4H9z9X8=9Z8}927^8 0U7o2s0r0l0F7y7J0^0T0}0k9?8 0V0M0}0W3V8W9O3P8+9R8-4Y4R8a8i5n4Y9#9w5Sa93N9H9@3T0}0L9|7;269_049{7Q7z8 0n0L0}5s7Q7P9p4w9r203H4@aa9RacaI246%9A7$0qaJaj93al6:040u1R1%ap8t3uana$7u1+as020b0$0jau2=awaq3u0G0}2l7_5f7i7k8*9,7o7q7sb1a^0^7La*3Sas0qba5#a`04a|b6a%b80}b0aEbkam049b0L7Gboa+bl040#be4)0T6`04200YbA4~bC0}2+0$bH7B041^8!9;a}7h0}7NaC89a79T59aKaQ8{59af7-5Sb#aU9H9+b7bq0VbNa,9`b@0^ayaAa47I9Q6X8-5r9ub%6m5pb*aM6!5p2L3nb/aV9}0}aZ29b`b=cka-a/0jck0Ubgbibv3Sa bT7nbr7Ebtcx7v0}bzavalbJbE0UbGcGb2bPb49=bjbw017i0IcCa(04aocMb;as0Acq0}b?cRcv0}0zcm9`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+aG0U5C8edJaLdL3g8laPdbaR5,9)dlb/dY9.bRcQdq8 asd$2Kd(3S9~0}0m0C0regd{cud}5C8/e1dP8j0Z8@e6ageB8/5XebedcYd!ek3KeKcZehc#0}c%dw3SdA5Gd5d|dFd~6!9Deze78{0Z9yeEb+eB9D5XaD9PaFe#5C9Ve)eFdd9!e.c93g9VeIdmbpaX2E0$0r0C1feVc bP9/bSbX8*0y6M1r6u0y6w1g0$6yfq2R2M0R1$6H6v6E7P0(0*0,0w04.

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