1 00:00:00,000 --> 00:00:08,532 >> [MIZIK jwe] 2 00:00:08,532 --> 00:00:12,060 >> ZAMYLA Chan: Premye bagay ou ta ka avi sou jwenn se ke nou deja 3 00:00:12,060 --> 00:00:13,450 te kòd ekri pou nou. 4 00:00:13,450 --> 00:00:15,160 Se sa yo rele Kòd distribisyon. 5 00:00:15,160 --> 00:00:18,000 Se konsa, nou pa ap jis ekri pwòp nou kòd nan grate ankò. 6 00:00:18,000 --> 00:00:22,800 Olye de sa, nou ap ranpli nan ki vid yo yo nan kèk Kòd pre-egziste. 7 00:00:22,800 --> 00:00:27,790 >> Pwogram nan find.c envit pou nimewo yo ranpli gwo pile zèb la, fouy la 8 00:00:27,790 --> 00:00:32,189 gwo pile zèb pou yon itilizatè soumèt zegwi, epi li fè sa lè w rele sòt ak 9 00:00:32,189 --> 00:00:35,590 rechèch, fonksyon defini nan helpers.c. 10 00:00:35,590 --> 00:00:37,670 Se konsa, find.c ki ekri nan Liv deja. 11 00:00:37,670 --> 00:00:40,770 Travay ou se ekri moun k'ap ede. 12 00:00:40,770 --> 00:00:41,870 >> Se konsa, sa n'ap fè? 13 00:00:41,870 --> 00:00:44,210 Nou ap mete ann aplikasyon de fonksyon. 14 00:00:44,210 --> 00:00:49,030 Search, ki retounen vre si yon valè yo te jwenn nan gwo pile zèb la, retounen 15 00:00:49,030 --> 00:00:51,370 fo si valè a se pa nan gwo pile zèb la. 16 00:00:51,370 --> 00:00:57,990 Lè sa a, n ap tou mete ann aplikasyon sòt ki klase etalaj la yo rele valè. 17 00:00:57,990 --> 00:00:59,960 >> Se konsa, kite a atake rechèch la. 18 00:00:59,960 --> 00:01:04,560 Se Search kounye a aplike kòm yon rechèch lineyè, men ou ka fè anpil 19 00:01:04,560 --> 00:01:05,550 pi bon pase sa a. 20 00:01:05,550 --> 00:01:09,910 Se rechèch lineyè aplike nan O nan tan n, ki se byen dousman. 21 00:01:09,910 --> 00:01:13,850 Malgre ke, li kapab fè rechèch nenpòt ki lis yo bay li. 22 00:01:13,850 --> 00:01:20,130 Travay ou se aplike binè rechèch, ki te gen kouri tan O nan boutèy n. 23 00:01:20,130 --> 00:01:21,130 Sa a trè vit. 24 00:01:21,130 --> 00:01:23,170 >> Men, gen yon bwi. 25 00:01:23,170 --> 00:01:27,600 Binè rechèch kapab sèlman rechèch nan lis pre-Ranje. 26 00:01:27,600 --> 00:01:30,370 Poukisa se sa? 27 00:01:30,370 --> 00:01:32,620 >> Oke kite pou yo gade nan yon egzanp. 28 00:01:32,620 --> 00:01:36,280 Bay yon etalaj de valè, gwo pile zèb la, nou pral rete la ap gade 29 00:01:36,280 --> 00:01:37,130 pou yon zegwi. 30 00:01:37,130 --> 00:01:40,460 Ak nan egzanp sa a, nonb antye ki pè a twa. 31 00:01:40,460 --> 00:01:44,130 Fason ke binè rechèch travay se ke nou konpare valè a presegondè nan 32 00:01:44,130 --> 00:01:48,370 etalaj nan zegwi a, anpil tankou ki jan nou louvri yon anyè nan mitan an 33 00:01:48,370 --> 00:01:50,660 paj nan semèn zewo. 34 00:01:50,660 --> 00:01:54,650 >> Se konsa, apre konpare valè a lekòl presegondè rive zegwi a, ou ka jete swa nan 35 00:01:54,650 --> 00:01:58,530 bò gòch oswa mwatye nan dwa nan etalaj la pa ke pi sere avèk limit ou. 36 00:01:58,530 --> 00:02:03,390 Nan ka sa a, depi twa, zegwi nou an, se mwens pase 10, valè a presegondè, nan 37 00:02:03,390 --> 00:02:05,990 dwa mare ka diminye. 38 00:02:05,990 --> 00:02:08,400 Men, eseye fè limit ou kòm sere ke posib. 39 00:02:08,400 --> 00:02:11,630 Si valè nan mitan an se pa zegwi a, Lè sa a, ou konnen ke ou pa bezwen 40 00:02:11,630 --> 00:02:13,010 gen ladan li nan rechèch ou an. 41 00:02:13,010 --> 00:02:17,310 Se konsa, ou ap dwat mare ka sere boulon la limit rechèch jis yon ti jan ti plis, 42 00:02:17,310 --> 00:02:21,770 yo ak sou sa ak pou fè jouk ou jwenn zegwi ou. 43 00:02:21,770 --> 00:02:23,480 >> Se konsa, sa pseudocode a sanble? 44 00:02:23,480 --> 00:02:28,420 Oke pandan n ap toujou ap chèche a lis la epi ou toujou gen eleman 45 00:02:28,420 --> 00:02:33,690 gade nan, nou pran la nan mitan lis la, epi konpare ke valè lekòl presegondè rive 46 00:02:33,690 --> 00:02:34,950 zegwi nou an. 47 00:02:34,950 --> 00:02:37,310 Si yo ap egal, Lè sa a, sa vle di nou te yo te jwenn zegwi a ak sa nou kapab 48 00:02:37,310 --> 00:02:38,990 retounen vre. 49 00:02:38,990 --> 00:02:42,870 >> Sinon, si zegwi a se mwens pase valè a presegondè, Lè sa a, sa vle di nou 50 00:02:42,870 --> 00:02:47,280 ka jete mwatye nan dwa, ak jis rechèch bò gòch la nan etalaj la. 51 00:02:47,280 --> 00:02:51,090 Sinon, nou pral fè rechèch la dwa bò nan etalaj la. 52 00:02:51,090 --> 00:02:54,410 Apre sa, nan fen a, si ou pa gen okenn plizyè eleman kite nan rechèch men ou 53 00:02:54,410 --> 00:02:58,050 pa jwenn zegwi ou ankò, lè sa a ou retounen fo paske zegwi a 54 00:02:58,050 --> 00:03:01,890 definitivman se pa nan gwo pile zèb la. 55 00:03:01,890 --> 00:03:05,270 >> Koulye a, yon bagay pwòp sou pseudocode sa a nan binè pou rechèch la se ke li kapab 56 00:03:05,270 --> 00:03:09,940 entèprete kòm swa yon repete oswa aplikasyon repetitif. 57 00:03:09,940 --> 00:03:13,810 Se konsa, li ta dwe repetitif si ou rele fonksyon rechèch la nan rechèch la 58 00:03:13,810 --> 00:03:17,350 fonksyone sou swa mwatye nan etalaj la. 59 00:03:17,350 --> 00:03:21,030 Nou pral kouvri rkursyon yon ti jan pita nan la kou, men konnen ke li se yon 60 00:03:21,030 --> 00:03:24,190 opsyon si ou ta renmen eseye. 61 00:03:24,190 --> 00:03:26,030 >> Koulye a, kite yo gade nan sòt. 62 00:03:26,030 --> 00:03:30,750 Triye pran yon etalaj ak nonb antye ki pè a n, ki se gwosè a nan etalaj la. 63 00:03:30,750 --> 00:03:34,030 Koulye a, gen divès kalite diferan nan kalite, epi ou ka gade kèk 64 00:03:34,030 --> 00:03:36,370 bout pantalon pou Demonstrasyon ak eksplikasyon. 65 00:03:36,370 --> 00:03:39,580 Kalite a retounen pou nou fonksyon sòt se anile. 66 00:03:39,580 --> 00:03:43,580 Se konsa, ki vle di ke nou pa pwal retounen nenpòt etalaj soti nan sòt. 67 00:03:43,580 --> 00:03:48,140 Nou ap aktyèlman pral chanje anpil nan etalaj ki te pase nan nou. 68 00:03:48,140 --> 00:03:52,290 >> Epi sa a, posib paske ranje yo te pase pa referans nan C. Koulye a, nou pral 69 00:03:52,290 --> 00:03:55,290 wè plis sou sa pita, men nan diferans esansyèl ant pase 70 00:03:55,290 --> 00:03:59,340 nan yon bagay tankou yon nonb antye relatif ak pase nan yon etalaj, se ke lè ou 71 00:03:59,340 --> 00:04:03,490 pase nan yon nonb antye ki pè, C se jis ale nan fè yon kopi ki nonb antye ki pè epi yo pase 72 00:04:03,490 --> 00:04:04,450 li nan fonksyon an. 73 00:04:04,450 --> 00:04:08,530 Varyab orijinal la pa pral chanje yon fwa se fonksyon an fini. 74 00:04:08,530 --> 00:04:12,480 Ak yon etalaj, nan lòt men an, li nan pa ale nan fè yon kopi, epi ou pral 75 00:04:12,480 --> 00:04:17,910 aktyèlman ap koreksyon nan trè etalaj tèt li. 76 00:04:17,910 --> 00:04:21,269 >> Se konsa, yon kalite sòt se sòt seleksyon an. 77 00:04:21,269 --> 00:04:24,750 Sòt seleksyon an travay pa kòmanse nan nan konmansman an, ak Lè sa a, ou repňte 78 00:04:24,750 --> 00:04:26,820 sou yo ak jwenn eleman ki pi piti a. 79 00:04:26,820 --> 00:04:30,710 Lè sa a, ou swap ki pi piti eleman ak yon sèl la an premye. 80 00:04:30,710 --> 00:04:34,360 Lè sa a, w ap ale nan eleman nan dezyèm , Jwenn pwochen pi piti a 81 00:04:34,360 --> 00:04:38,320 eleman, ak Lè sa a, swap ke ak nan dezyèm eleman nan etalaj la paske 82 00:04:38,320 --> 00:04:41,100 eleman nan premye se deja klase. 83 00:04:41,100 --> 00:04:45,370 Se konsa, Lè sa a, ou kontinye pou chak eleman nan idantifye pi piti a 84 00:04:45,370 --> 00:04:47,690 valè ak échanjé li soti. 85 00:04:47,690 --> 00:04:53,460 >> Paske, m'ap egal 0, eleman an trè premye n mwens 1, w ap ale nan konpare 86 00:04:53,460 --> 00:04:57,820 chak valè pwochen apre sa, epi jwenn endèks la ki gen valè nan minimòm. 87 00:04:57,820 --> 00:05:02,520 Yon fwa ou jwenn endèks la valè minimòm, ou ka swap ke valè nan etalaj 88 00:05:02,520 --> 00:05:05,930 minimòm ak etalaj I. 89 00:05:05,930 --> 00:05:09,760 >> Yon lòt kalite sòt ke ou ka aplike se sòt ti wonn. 90 00:05:09,760 --> 00:05:14,380 Se konsa, sòt ti wonn iterates sou lis la konpare eleman adjasan ak 91 00:05:14,380 --> 00:05:17,720 échanjé eleman yo ki yo nan lòd la mal. 92 00:05:17,720 --> 00:05:22,380 Apre sa, fason sa a, eleman ki pi gwo pral jarèt nan fen an. 93 00:05:22,380 --> 00:05:28,070 Apre sa, se lis la Ranje yon fwa pa plis eleman yo te échanjé. 94 00:05:28,070 --> 00:05:31,920 >> Se konsa, sa yo se de egzanp sòt algoritm ke ou ka aplike pou 95 00:05:31,920 --> 00:05:33,230 jwenn pwogram nan. 96 00:05:33,230 --> 00:05:37,350 Yon fwa ou fini sòt, epi ou te gen fè rechèch la, w ap fini. 97 00:05:37,350 --> 00:05:39,720 Non mwen se Zamyla, e sa se CS50. 98 00:05:39,720 --> 00:05:46,987 >> [MIZIK jwe]