[MIZIK jwe] ZAMYLA Chan: Premye bagay ou ta ka avi sou jwenn se ke nou deja te kòd ekri pou nou. Se sa yo rele Kòd distribisyon. Se konsa, nou pa ap jis ekri pwòp nou kòd nan grate ankò. Olye de sa, nou ap ranpli nan ki vid yo yo nan kèk Kòd pre-egziste. Pwogram nan find.c envit pou nimewo yo ranpli gwo pile zèb la, fouy la gwo pile zèb pou yon itilizatè soumèt zegwi, epi li fè sa lè w rele sòt ak rechèch, fonksyon defini nan helpers.c. Se konsa, find.c ki ekri nan Liv deja. Travay ou se ekri moun k'ap ede. Se konsa, sa n'ap fè? Nou ap mete ann aplikasyon de fonksyon. Search, ki retounen vre si yon valè yo te jwenn nan gwo pile zèb la, retounen fo si valè a se pa nan gwo pile zèb la. Lè sa a, n ap tou mete ann aplikasyon sòt ki klase etalaj la yo rele valè. Se konsa, kite a atake rechèch la. Se Search kounye a aplike kòm yon rechèch lineyè, men ou ka fè anpil pi bon pase sa a. Se rechèch lineyè aplike nan O nan tan n, ki se byen dousman. Malgre ke, li kapab fè rechèch nenpòt ki lis yo bay li. Travay ou se aplike binè rechèch, ki te gen kouri tan O nan boutèy n. Sa a trè vit. Men, gen yon bwi. Binè rechèch kapab sèlman rechèch nan lis pre-Ranje. Poukisa se sa? Oke kite pou yo gade nan yon egzanp. Bay yon etalaj de valè, gwo pile zèb la, nou pral rete la ap gade pou yon zegwi. Ak nan egzanp sa a, nonb antye ki pè a twa. Fason ke binè rechèch travay se ke nou konpare valè a presegondè nan etalaj nan zegwi a, anpil tankou ki jan nou louvri yon anyè nan mitan an paj nan semèn zewo. Se konsa, apre konpare valè a lekòl presegondè rive zegwi a, ou ka jete swa nan bò gòch oswa mwatye nan dwa nan etalaj la pa ke pi sere avèk limit ou. Nan ka sa a, depi twa, zegwi nou an, se mwens pase 10, valè a presegondè, nan dwa mare ka diminye. Men, eseye fè limit ou kòm sere ke posib. Si valè nan mitan an se pa zegwi a, Lè sa a, ou konnen ke ou pa bezwen gen ladan li nan rechèch ou an. Se konsa, ou ap dwat mare ka sere boulon la limit rechèch jis yon ti jan ti plis, yo ak sou sa ak pou fè jouk ou jwenn zegwi ou. Se konsa, sa pseudocode a sanble? Oke pandan n ap toujou ap chèche a lis la epi ou toujou gen eleman gade nan, nou pran la nan mitan lis la, epi konpare ke valè lekòl presegondè rive zegwi nou an. Si yo ap egal, Lè sa a, sa vle di nou te yo te jwenn zegwi a ak sa nou kapab retounen vre. Sinon, si zegwi a se mwens pase valè a presegondè, Lè sa a, sa vle di nou ka jete mwatye nan dwa, ak jis rechèch bò gòch la nan etalaj la. Sinon, nou pral fè rechèch la dwa bò nan etalaj la. Apre sa, nan fen a, si ou pa gen okenn plizyè eleman kite nan rechèch men ou pa jwenn zegwi ou ankò, lè sa a ou retounen fo paske zegwi a definitivman se pa nan gwo pile zèb la. Koulye a, yon bagay pwòp sou pseudocode sa a nan binè pou rechèch la se ke li kapab entèprete kòm swa yon repete oswa aplikasyon repetitif. Se konsa, li ta dwe repetitif si ou rele fonksyon rechèch la nan rechèch la fonksyone sou swa mwatye nan etalaj la. Nou pral kouvri rkursyon yon ti jan pita nan la kou, men konnen ke li se yon opsyon si ou ta renmen eseye. Koulye a, kite yo gade nan sòt. Triye pran yon etalaj ak nonb antye ki pè a n, ki se gwosè a nan etalaj la. Koulye a, gen divès kalite diferan nan kalite, epi ou ka gade kèk bout pantalon pou Demonstrasyon ak eksplikasyon. Kalite a retounen pou nou fonksyon sòt se anile. Se konsa, ki vle di ke nou pa pwal retounen nenpòt etalaj soti nan sòt. Nou ap aktyèlman pral chanje anpil nan etalaj ki te pase nan nou. Epi sa a, posib paske ranje yo te pase pa referans nan C. Koulye a, nou pral wè plis sou sa pita, men nan diferans esansyèl ant pase nan yon bagay tankou yon nonb antye relatif ak pase nan yon etalaj, se ke lè ou pase nan yon nonb antye ki pè, C se jis ale nan fè yon kopi ki nonb antye ki pè epi yo pase li nan fonksyon an. Varyab orijinal la pa pral chanje yon fwa se fonksyon an fini. Ak yon etalaj, nan lòt men an, li nan pa ale nan fè yon kopi, epi ou pral aktyèlman ap koreksyon nan trè etalaj tèt li. Se konsa, yon kalite sòt se sòt seleksyon an. Sòt seleksyon an travay pa kòmanse nan nan konmansman an, ak Lè sa a, ou repňte sou yo ak jwenn eleman ki pi piti a. Lè sa a, ou swap ki pi piti eleman ak yon sèl la an premye. Lè sa a, w ap ale nan eleman nan dezyèm , Jwenn pwochen pi piti a eleman, ak Lè sa a, swap ke ak nan dezyèm eleman nan etalaj la paske eleman nan premye se deja klase. Se konsa, Lè sa a, ou kontinye pou chak eleman nan idantifye pi piti a valè ak échanjé li soti. Paske, m'ap egal 0, eleman an trè premye n mwens 1, w ap ale nan konpare chak valè pwochen apre sa, epi jwenn endèks la ki gen valè nan minimòm. Yon fwa ou jwenn endèks la valè minimòm, ou ka swap ke valè nan etalaj minimòm ak etalaj I. Yon lòt kalite sòt ke ou ka aplike se sòt ti wonn. Se konsa, sòt ti wonn iterates sou lis la konpare eleman adjasan ak échanjé eleman yo ki yo nan lòd la mal. Apre sa, fason sa a, eleman ki pi gwo pral jarèt nan fen an. Apre sa, se lis la Ranje yon fwa pa plis eleman yo te échanjé. Se konsa, sa yo se de egzanp sòt algoritm ke ou ka aplike pou jwenn pwogram nan. Yon fwa ou fini sòt, epi ou te gen fè rechèch la, w ap fini. Non mwen se Zamyla, e sa se CS50. [MIZIK jwe]