1 00:00:00,000 --> 00:00:02,570 [Powered by Google Translate] [Seksyon 3 - plis konfòtab] 2 00:00:02,570 --> 00:00:05,070 [Rob Bowden - Inivèsite Harvard] 3 00:00:05,070 --> 00:00:07,310 >> [Sa a se CS50. - CS50.TV] 4 00:00:07,310 --> 00:00:12,700 >> Se konsa, se premye kesyon an etranj remak bwèf. 5 00:00:12,700 --> 00:00:17,480 Gdb pèmèt ou "dbug" yon pwogram, men, plis espesyalman, ki sa li fè ou fè? 6 00:00:17,480 --> 00:00:22,590 Mwen pral reponn ke yon moun, epi mwen pa konnen sa ki egzakteman espere, 7 00:00:22,590 --> 00:00:27,910 Se konsa, mwen ap devine yon bagay li a sou liy ki an li pèmèt ou etap pa etap 8 00:00:27,910 --> 00:00:31,540 mache nan pwogram nan, kominike avèk li, varyab chanjman, fè tout bagay sa yo - 9 00:00:31,540 --> 00:00:34,270 fondamantalman konplètman kontwole ekzekisyon nan yon pwogram 10 00:00:34,270 --> 00:00:38,410 ak enspekte nenpòt ki pati yo bay nan ekzekisyon an nan pwogram nan. 11 00:00:38,410 --> 00:00:43,030 Se konsa, sa yo karakteristik kite ou dbug bagay sa yo. 12 00:00:43,030 --> 00:00:44,830 Oke. 13 00:00:44,830 --> 00:00:50,520 Poukisa rechèch binè egzije pou yo yon etalaj Ranje? 14 00:00:50,520 --> 00:00:53,360 Ki moun ki vle reponn sa? 15 00:00:56,120 --> 00:01:00,070 [Elèv] Paske li pa travay si li pa nan Klase. >> Yeah. [Ri] 16 00:01:00,070 --> 00:01:04,910 Si li pa nan Ranje, lè sa a li nan enposib fann l 'nan mwatye 17 00:01:04,910 --> 00:01:07,850 ak konnen ke tout bagay sa yo bò gòch la ki pi piti a ak tout bagay sa yo dwa pou 18 00:01:07,850 --> 00:01:10,490 se pi gran pase valè mitan an. 19 00:01:10,490 --> 00:01:12,790 Se konsa, li bezwen yo dwe klase. 20 00:01:12,790 --> 00:01:14,170 Oke. 21 00:01:14,170 --> 00:01:17,570 Poukisa se sòt jarèt nan O nan okib n? 22 00:01:17,570 --> 00:01:23,230 nenpòt moun ki premye vle bay yon trè rapid BECA wo nivo nan sa ki sòt jarèt se? 23 00:01:25,950 --> 00:01:33,020 [Elèv] Ou fondamantalman ale nan chak eleman ak ou tcheke premye eleman yo kèk. 24 00:01:33,020 --> 00:01:37,150 Si yo ap soti nan kote ou swap yo, Lè sa a, ou tcheke pwochen eleman yo kèk ak sou sa. 25 00:01:37,150 --> 00:01:40,770 Lè ou rive nan fen a, Lè sa a, ou konnen ke se eleman ki pi gwo mete nan fen a, 26 00:01:40,770 --> 00:01:42,750 konsa ou inyore ke youn Lè sa a, w kenbe sou ale atravè tout, 27 00:01:42,750 --> 00:01:48,490 ak chak fwa ou gen yo tcheke yon sèl mwens eleman jiskaske ou fè pa gen okenn chanjman. >> Yeah. 28 00:01:48,490 --> 00:01:58,470 Yo rele li sòt jarèt paske si ou baskile etalaj la sou bò li yo Se konsa li leve, li desann, vètikal, 29 00:01:58,470 --> 00:02:03,100 Lè sa a, valè yo gwo ap plonje anba a ak valè yo ti pral jarèt moute sou tèt la. 30 00:02:03,100 --> 00:02:05,210 Sa a se li montre kouman li te resevwa non li yo. 31 00:02:05,210 --> 00:02:08,220 Ak yeah, ou jis ale nan. 32 00:02:08,220 --> 00:02:11,190 Ou kenbe ale nan etalaj la, échanjé valè ki pi gwo a 33 00:02:11,190 --> 00:02:14,040 jwenn valè yo pi gwo jouk anba a. 34 00:02:14,040 --> 00:02:17,500 >> Poukisa se li O nan okib n? 35 00:02:18,690 --> 00:02:24,620 Premyèman, nenpòt moun ki vle di poukisa li a O nan n okib? 36 00:02:24,620 --> 00:02:28,760 [Elèv] Paske pou chak kouri li ale fwa n. 37 00:02:28,760 --> 00:02:32,100 Ou kapab sèlman asire w ke ou te pran eleman nan pi gwo tout wout la desann, 38 00:02:32,100 --> 00:02:35,230 Lè sa a, ou gen repete sa pou kòm eleman anpil moun. >> Yeah. 39 00:02:35,230 --> 00:02:41,800 Se konsa, kenbe nan tèt ou ki sa gwo O vle di ak sa vle di Omega gwo. 40 00:02:41,800 --> 00:02:50,560 O nan gwo, se tankou anwo a mare l 'sou ki jan ralanti li ka aktyèlman kouri. 41 00:02:50,560 --> 00:02:58,990 Se konsa, lè li di O li a nan okib n, se pa O nan n oswa lòt moun li ta kapab kouri 42 00:02:58,990 --> 00:03:02,640 nan tan lineyè, men li se O nan n Gleason 43 00:03:02,640 --> 00:03:06,390 paske li se bòne pa O nan n Gleason. 44 00:03:06,390 --> 00:03:12,300 Si li la bòne pa O nan okib n, Lè sa a, li la limite tou pa n Gleason. 45 00:03:12,300 --> 00:03:20,280 Se konsa, li se n okib, ak nan ka a absoli pi move li pa ka fè pi bon pase okib n, 46 00:03:20,280 --> 00:03:22,830 ki se poukisa li a O nan n okib. 47 00:03:22,830 --> 00:03:31,200 Se konsa, yo wè ti tay matematik nan li montre kouman li vini soti nan gen n okib, 48 00:03:31,200 --> 00:03:40,530 si nou gen senk bagay sa yo nan lis nou an, premye fwa a ki jan anpil echanj nou ta ka potansyèlman bezwen fè 49 00:03:40,530 --> 00:03:47,170 yo nan lòd jwenn sa a? Se pou nou aktyèlman jis - 50 00:03:47,170 --> 00:03:52,040 Konbyen echanj nou pral gen fè nan kouri nan premye nan kalite jarèt nan etalaj la? 51 00:03:52,040 --> 00:03:53,540 [Elèv] n - 1. >> Yeah. 52 00:03:53,540 --> 00:03:58,340 >> Si gen 5 eleman, nou ap ale nan bezwen fè n - 1. 53 00:03:58,340 --> 00:04:01,100 Lè sa a, sou yon sèl nan dezyèm konbyen echanj nou pral gen a fè? 54 00:04:01,100 --> 00:04:03,440 [Elèv] n - 2. >> Yeah. 55 00:04:03,440 --> 00:04:11,640 , Twazyèm lan a pwal n - 3, ak Lè sa a, pou konvenyans Mwen pral ekri de nan dènye 56 00:04:11,640 --> 00:04:15,270 Lè sa a, kòm nou ap ale nan bezwen fè 2 echanj ak swap 1. 57 00:04:15,270 --> 00:04:19,899 Mwen devine yon sèl nan dènye ka oswa ka pa aktyèlman bezwen rive. 58 00:04:19,899 --> 00:04:22,820 Èske se yon swap? Mwen pa konnen. 59 00:04:22,820 --> 00:04:26,490 Se konsa, sa yo, se kantite lajan total ki nan echanj oswa omwen konparezon ou gen fè a. 60 00:04:26,490 --> 00:04:29,910 Menm si ou pa boukante, ou toujou bezwen konpare salè valè yo. 61 00:04:29,910 --> 00:04:33,910 Se konsa, gen n - 1 konparezon an kouri nan premye nan etalaj la. 62 00:04:33,910 --> 00:04:42,050 Si ou ordonne bagay sa yo, se pou yo aktyèlman fè li sis bagay konsa bagay sa yo pile joliman, 63 00:04:42,050 --> 00:04:44,790 ak Lè sa a, mwen pral fè 3, 2, 1. 64 00:04:44,790 --> 00:04:49,910 Se konsa, jis ranplase sa yo sòm total, nou vle wè kòman anpil konparezon nou fè 65 00:04:49,910 --> 00:04:52,700 nan algorithm a tout antye. 66 00:04:52,700 --> 00:04:56,550 Se konsa, si nou pote mesye sa yo desann isit la, 67 00:04:56,550 --> 00:05:07,470 Lè sa a, nou toujou ap jis adisyon konparezon sepandan anpil, te gen. 68 00:05:07,470 --> 00:05:13,280 Men, si nou rapò kantite sa yo ak nou rapò kantite sa yo ak nou rapò kantite sa yo, 69 00:05:13,280 --> 00:05:18,130 li la toujou menm pwoblèm nan. Nou jis rapò kantite moun ki gwoup an patikilye. 70 00:05:18,130 --> 00:05:22,400 >> Se konsa, kounye a nou ap adisyon 3 nan n. Li pa jis 3 an n. 71 00:05:22,400 --> 00:05:27,650 Li nan toujou pral fè n / 2 nan n. 72 00:05:27,650 --> 00:05:29,430 Se konsa, isit la nou rive gen 6. 73 00:05:29,430 --> 00:05:34,830 Si nou te gen 10 bagay sa yo, Lè sa a, nou te kapab fè sa a gwoupman pou 5 pè diferan de bagay sa yo 74 00:05:34,830 --> 00:05:37,180 ak fini ak n + n + n + n n +. 75 00:05:37,180 --> 00:05:45,840 Se konsa, ou toujou ap pral jwenn n / 2 nan n, ak kidonk sa a nou pral bout li soti nan n okib / 2. 76 00:05:45,840 --> 00:05:48,890 Se konsa, menm si li nan faktè a nan mwatye, ki k ap pase nan vini nan 77 00:05:48,890 --> 00:05:54,190 paske nan lefèt ke nan chak iterasyon sou etalaj la nou konpare 1 mwens 78 00:05:54,190 --> 00:05:58,040 pou ki nan ki jan nou jwenn sou la 2, men li la toujou N okib. 79 00:05:58,040 --> 00:06:01,650 Nou pa pran swen sou faktè a konstan nan yon mwatye. 80 00:06:01,650 --> 00:06:07,760 Se konsa, yon anpil nan bagay gwo O tankou sa a rpoz sou jis kalite ap fè sa a sòt de matematik, 81 00:06:07,760 --> 00:06:12,260 fè sòm total aritmetik ak jewometrik bagay seri yo, 82 00:06:12,260 --> 00:06:17,750 men pi fò nan yo nan kou sa a se trè dwat. 83 00:06:17,750 --> 00:06:19,290 Oke. 84 00:06:19,290 --> 00:06:24,430 Poukisa se sòt ensèsyon nan Omega nan n? Ki sa ki Omega vle di? 85 00:06:24,430 --> 00:06:27,730 [De elèv ki pale nan yon fwa - enkonpreansibl] >> Yeah. 86 00:06:27,730 --> 00:06:30,630 Omega ou ka panse a kòm pi ba mare l 'la. 87 00:06:30,630 --> 00:06:36,550 >> Se konsa, pa gen pwoblèm konbyen efikas algorithm ensèsyon sòt ou ye, se 88 00:06:36,550 --> 00:06:41,810 kèlkeswa lis la ki nan te pase nan, li toujou gen yo konpare omwen n bagay sa yo 89 00:06:41,810 --> 00:06:44,620 oswa li te repekte sou bagay sa yo n. 90 00:06:44,620 --> 00:06:47,280 Poukisa se sa? 91 00:06:47,280 --> 00:06:51,190 [Elèv] Paske si se lis la deja klase, lè sa a nan iterasyon nan premye 92 00:06:51,190 --> 00:06:54,080 ou ka sèlman garanti ke eleman an trè premye ki pi piti a, 93 00:06:54,080 --> 00:06:56,490 ak iterasyon nan dezyèm ou ka sèlman garanti de a an premye yo se 94 00:06:56,490 --> 00:07:00,010 paske ou pa konnen ki rès la nan lis la Ranje. >> Yeah. 95 00:07:00,010 --> 00:07:08,910 Si w pase nan yon lis konplètman Ranje, nan omwen nan anpil ou gen ale sou tout eleman ki 96 00:07:08,910 --> 00:07:12,180 yo wè ke pa gen anyen bezwen yo dwe te deplase alantou. 97 00:07:12,180 --> 00:07:14,720 Se konsa, pase sou lis la epi yo di oh, sa a se deja klase, 98 00:07:14,720 --> 00:07:18,240 li nan enposib pou ou pou w konnen li nan Ranje jiskaske ou tcheke chak eleman 99 00:07:18,240 --> 00:07:20,660 yo wè yo ke yo se nan Ranje lòd. 100 00:07:20,660 --> 00:07:25,290 Se konsa, pi ba a mare l 'sou sòt ensèsyon se Omega n. 101 00:07:25,290 --> 00:07:28,210 Kisa ki ka ki pi mal la kouri lè nan sòt fizyone, 102 00:07:28,210 --> 00:07:31,390 pi move ka ke yo te O gwo ankò? 103 00:07:31,390 --> 00:07:37,660 Se konsa, nan senaryo a ka pi mal, ki jan unifye sòt kouri? 104 00:07:42,170 --> 00:07:43,690 [Elèv] N boutèy demi lit n. >> Yeah. 105 00:07:43,690 --> 00:07:49,990 Pi rapid algoritm yo klasman jeneral se yon, n boutèy demi lit n. Ou pa ka fè pi byen. 106 00:07:51,930 --> 00:07:55,130 >> Gen ka espesyal, epi si nou gen tan jodi a - men nou pwobableman won't - 107 00:07:55,130 --> 00:07:59,330 nou te ka wè youn ki fè sa ki pi bon pase n boutèy demi lit n. 108 00:07:59,330 --> 00:08:04,050 Men, nan ka la an jeneral, ou pa kapab fè pi bon pase n boutèy demi lit n. 109 00:08:04,050 --> 00:08:09,680 Ak rantre sòt k ap pase yo dwe youn nan ou ta dwe konnen pou kou sa a ki se n boutèy demi lit n. 110 00:08:09,680 --> 00:08:13,260 Se konsa, nou pral aktyèlman ap mete ann aplikasyon sa jodi an. 111 00:08:13,260 --> 00:08:18,070 Epi finalman, nan pa plis ke twa fraz, ki jan fè travay sòt seleksyon? 112 00:08:18,070 --> 00:08:20,370 yon moun vle reponn, epi mwen pral konte fraz ou 113 00:08:20,370 --> 00:08:22,390 paske si w ale sou 3 - 114 00:08:25,530 --> 00:08:28,330 nenpòt moun ki sonje sòt seleksyon? 115 00:08:31,280 --> 00:08:37,809 Sòt seleksyon se nòmalman trè fasil a sonje jis nan non la. 116 00:08:37,809 --> 00:08:45,350 Ou jis repekte sou etalaj la, jwenn tou sa valè a pi gwo se oswa pi piti - 117 00:08:45,350 --> 00:08:47,290 kèlkeswa sa lòd w ap Fouye pous 118 00:08:47,290 --> 00:08:50,750 Se konsa, kite a di n ap Fouye soti nan pi piti pi gwo a. 119 00:08:50,750 --> 00:08:55,250 Ou repekte sou etalaj la, kap chèche kèlkeswa sa eleman minimòm-nan se, 120 00:08:55,250 --> 00:08:59,750 chwazi l ', li Lè sa a, jis boukante l' tou sa se nan plas an premye. 121 00:08:59,750 --> 00:09:04,090 Lè sa a, sou pas dezyèm sou etalaj la, gade pou eleman minimòm-nan ankò, 122 00:09:04,090 --> 00:09:07,490 chwazi l ', li Lè sa a, boukante l' ak sa ki nan nan yon pozisyon nan dezyèm fwa. 123 00:09:07,490 --> 00:09:10,650 Se konsa, nou jis davwa epi chwazi valè yo minimòm 124 00:09:10,650 --> 00:09:16,050 ak mete yo nan devan nan etalaj la jiskaske li se Klase. 125 00:09:19,210 --> 00:09:21,560 Kesyon sou sa? 126 00:09:21,560 --> 00:09:25,710 >> Sa yo inevitableman parèt nan fòm sa yo ou bezwen ranpli lè w ap soumèt pset la. 127 00:09:29,010 --> 00:09:32,360 Moun sa yo se fondamantalman repons yo bay moun. 128 00:09:32,360 --> 00:09:34,230 Oke, kidonk kounye a kodaj pwoblèm. 129 00:09:34,230 --> 00:09:40,140 Mwen deja voye soti sou imel - Eske yon moun pa jwenn ki imel? Oke. 130 00:09:40,140 --> 00:09:46,630 Mwen deja voye soti sou imel espas la ke nou ap pral lè l sèvi avèk, 131 00:09:46,630 --> 00:09:52,120 epi si ou klike sou non mwen - Se konsa, mwen panse mwen pral yo dwe nan pati anba a 132 00:09:52,120 --> 00:09:57,170 paske yo te r nan bak - men si ou klike sou non mwen ou pral wè 2 revizyon. 133 00:09:57,170 --> 00:10:02,650 Revizyon 1 yo pral mwen deja kopye ak kole kòd la nan Espas 134 00:10:02,650 --> 00:10:06,900 pou bagay la rechèch w ap ale nan gen a aplike. 135 00:10:06,900 --> 00:10:10,540 Ak Revizyon 2 yo pral bagay la sòt ke nou aplike apre sa. 136 00:10:10,540 --> 00:10:15,770 Se konsa, ou ka klike sou Revizyon mwen 1 ak travay apati de la. 137 00:10:17,350 --> 00:10:22,060 Epi, koulye a nou vle aplike rechèch binè. 138 00:10:22,060 --> 00:10:26,470 >> nenpòt moun ki vle jis bay yon eksplikasyon pseudocode wo nivo 139 00:10:26,470 --> 00:10:31,440 nan ki sa nou pwal gen pou fè pou rechèch? Yeah. 140 00:10:31,440 --> 00:10:36,170 [Elèv] Ou jis pran mitan an nan etalaj la ak wè si sa w ap chèche pou 141 00:10:36,170 --> 00:10:38,650 se mwens pase sa oswa plis pase sa. 142 00:10:38,650 --> 00:10:41,080 Men, si li nan mwens, ou ale nan mwatye a ki nan mwens, 143 00:10:41,080 --> 00:10:44,750 epi si li nan plis, ou ale nan mwatye a ki an plis, epi ou repete sa jiskaske ou jis jwenn yon sèl bagay. 144 00:10:44,750 --> 00:10:46,570 [Bowden] Yeah. 145 00:10:46,570 --> 00:10:51,320 Remake se etalaj nimewo nou an deja klase, 146 00:10:51,320 --> 00:10:57,190 Pou fè sa ki vle di ke nou kapab pran avantaj de sa ki epi nou te ka premye chèk, 147 00:10:57,190 --> 00:11:00,390 oke, mwen kap chèche nimewo a 50. 148 00:11:00,390 --> 00:11:03,720 Se konsa, mwen ka ale nan mitan yo. 149 00:11:03,720 --> 00:11:07,380 Mwayen se difisil defini a lè li yon nimewo menm de bagay sa yo, 150 00:11:07,380 --> 00:11:10,820 men kite yo jis di nou pral toujou tronke nan mitan an. 151 00:11:10,820 --> 00:11:14,420 Se konsa, isit la nou gen 8 bagay sa yo, se konsa mitan an ta dwe 16. 152 00:11:14,420 --> 00:11:17,330 Mwen kap chèche 50, se konsa 50 se pi gran pase 16. 153 00:11:17,330 --> 00:11:21,310 Se konsa, koulye a, mwen ka fondamantalman trete etalaj mwen kòm eleman sa yo. 154 00:11:21,310 --> 00:11:23,450 Mwen ka jete tout bagay soti nan 16 sou. 155 00:11:23,450 --> 00:11:27,440 Koulye a, etalaj mwen se jis eleman sa yo 4, epi mwen repete. 156 00:11:27,440 --> 00:11:31,910 Se konsa, Lè sa a, mwen vle jwenn mitan an ankò, ki a pwal 42. 157 00:11:31,910 --> 00:11:34,730 42 se mwens pase 50, se konsa mwen ka jete eleman sa yo de. 158 00:11:34,730 --> 00:11:36,890 Sa a se etalaj rete m 'yo. 159 00:11:36,890 --> 00:11:38,430 Mwen pral jwenn mwayen an ankò. 160 00:11:38,430 --> 00:11:42,100 Mwen devine 50 se te yon egzanp move paske mwen te toujou jete bagay sa yo nan bò gòch lan, 161 00:11:42,100 --> 00:11:48,280 men pa menm mezi, si mwen chèche pou yon bagay 162 00:11:48,280 --> 00:11:52,100 ak li a mwens pase eleman nan mwen kounye a chèche a, 163 00:11:52,100 --> 00:11:55,080 Lè sa a, mwen pral jete tout bagay sa yo bò dwat la. 164 00:11:55,080 --> 00:11:58,150 Se konsa, kounye a nou bezwen aplike sa. 165 00:11:58,150 --> 00:12:02,310 Remake ke nou bezwen pase nan gwosè. 166 00:12:02,310 --> 00:12:06,730 Nou kapab tou pa bezwen difisil-kòd gwosè. 167 00:12:06,730 --> 00:12:11,640 Se konsa, si nou debarase m de ki # defini - 168 00:12:19,630 --> 00:12:21,430 Oke. 169 00:12:21,430 --> 00:12:27,180 Kouman mwen ka joliman konnen sa ki gwosè a nan etalaj la nimewo kounye a se? 170 00:12:27,180 --> 00:12:30,950 >> Konbyen eleman yo nan etalaj la nimewo? 171 00:12:30,950 --> 00:12:33,630 [Elèv] Numbers, parantèz,. Longè? 172 00:12:33,630 --> 00:12:36,600 [Bowden] ki pa egziste nan C. 173 00:12:36,600 --> 00:12:38,580 Bezwen. Longè. 174 00:12:38,580 --> 00:12:42,010 Matris pa gen pwopriyete yo, kidonk pa genyen okenn pwopriyete longè ranje 175 00:12:42,010 --> 00:12:45,650 ki pral jis ba ou sepandan tan li k ap pase yo. 176 00:12:48,180 --> 00:12:51,620 [Elèv] Gade jan memwa li gen epi divize pa kantite lajan - >> Yeah. 177 00:12:51,620 --> 00:12:55,810 Se konsa, ki jan nou ka wè ki kantite memwa li gen? >> [Elèv] sizof. >> Yeah, sizof. 178 00:12:55,810 --> 00:13:01,680 Sizof se operatè a ki nan ale nan retounen gwosè a nan etalaj la nimewo yo. 179 00:13:01,680 --> 00:13:10,060 E se te pral fè sepandan anpil nonm antye relatif, gen fwa gwosè a nan yon nonb antye relatif 180 00:13:10,060 --> 00:13:14,050 depi lè sa a konbyen lajan memwa li la aktyèlman ap pran yo. 181 00:13:14,050 --> 00:13:17,630 Se konsa, si mwen vle ki kantite bagay sa yo nan etalaj la, 182 00:13:17,630 --> 00:13:20,560 Lè sa a, mwen pral vle divize pa gwosè a nan yon nonb antye relatif. 183 00:13:22,820 --> 00:13:26,010 Oke. Se konsa, ki pèmèt m 'pase nan gwosè isit la. 184 00:13:26,010 --> 00:13:29,430 Poukisa mwen bezwen pase nan gwosè nan tout? 185 00:13:29,430 --> 00:13:38,570 Poukisa nou pa mwen ka jis fè moute isit la int gwosè = sizof (gwo pile zèb) / sizof (Int)? 186 00:13:38,570 --> 00:13:41,490 Poukisa sa a pa travay? 187 00:13:41,490 --> 00:13:44,470 [Elèv] Se pa yon varyab mondyal. 188 00:13:44,470 --> 00:13:51,540 [Bowden] gwo pile zèb egziste e nou ap pase nan nimewo kòm gwo pile zèb 189 00:13:51,540 --> 00:13:54,700 ak sa a se kalite yon prefigurasyon nan sa ki nan ap vini yo. Yeah. 190 00:13:54,700 --> 00:14:00,170 [Elèv] gwo pile zèb se jis referans nan li, se konsa li ta retounen ki jan gwo ke referans se. 191 00:14:00,170 --> 00:14:02,150 Yeah. 192 00:14:02,150 --> 00:14:09,000 Mwen gen dout nan konferans ke ou te wè chemine a ankò vrèman, dwa? 193 00:14:09,000 --> 00:14:11,270 Nou te jis pale sou li. 194 00:14:11,270 --> 00:14:16,090 Se konsa, chemine a se kote tout nan varyab ou yo ale nan dwe estoke. 195 00:14:16,090 --> 00:14:19,960 >> Nenpòt memwa ki nan resevwa lajan pou varyab lokal ki pral nan chemine a, 196 00:14:19,960 --> 00:14:24,790 epi chak fonksyon vin espas pwòp li yo sou chemine a, ankadreman chemine pwòp li yo se sa ki sa yo rele. 197 00:14:24,790 --> 00:14:31,590 Se konsa, prensipal la gen ankadreman chemine li yo, ak andedan nan li ki pral egziste sa a etalaj nonb, 198 00:14:31,590 --> 00:14:34,270 epi li pral fè nan sizof gwosè (nimewo). 199 00:14:34,270 --> 00:14:38,180 Li nan pral gen gwosè nan nimewo divize pa gwosè nan eleman, 200 00:14:38,180 --> 00:14:42,010 men sa ki tout lavi nan lespas ankadreman chemine prensipal la. 201 00:14:42,010 --> 00:14:45,190 Lè nou rele rechèch, rechèch vin ankadreman chemine pwòp li yo, 202 00:14:45,190 --> 00:14:48,840 espas pwòp li yo nan magazen tout nan varyab lokal li yo. 203 00:14:48,840 --> 00:14:56,420 Men, sa yo agiman - pou gwo pile zèb se pa yon kopi sa a etalaj tout antye. 204 00:14:56,420 --> 00:15:00,990 Nou pa pase nan etalaj nan tout kòm yon kopi nan rechèch. 205 00:15:00,990 --> 00:15:04,030 Li jis pase yon referans ak sa yo ki etalaj. 206 00:15:04,030 --> 00:15:11,470 Se konsa, rechèch kapab jwenn aksè nan nimewo sa yo nan sa a referans. 207 00:15:11,470 --> 00:15:17,100 Li nan toujou gen aksè nan bagay sa yo ke ap viv andedan nan ankadreman chemine prensipal la, 208 00:15:17,100 --> 00:15:22,990 men fondamantalman, lè nou jwenn yo endikasyon yo, ki ta dwe byento, 209 00:15:22,990 --> 00:15:24,980 sa a se sa endikasyon yo ye. 210 00:15:24,980 --> 00:15:29,400 Endikasyon yo se jis referans sou bagay sa yo, epi ou ka sèvi ak bagèt gen aksè a bagay sa yo 211 00:15:29,400 --> 00:15:32,030 yo ki nan ankadreman chemine lòt bagay '. 212 00:15:32,030 --> 00:15:37,660 Se konsa, menm si nimewo se lokal yo prensipal yo, nou ka toujou jwenn aksè li nan sa a konsèy. 213 00:15:37,660 --> 00:15:41,770 Men, depi li nan jis yon konsèy ak li nan jis yon referans, 214 00:15:41,770 --> 00:15:45,040 sizof (gwo pile zèb) jis retounen gwosè a nan referans nan tèt li. 215 00:15:45,040 --> 00:15:47,950 Li pa retounen gwosè a nan bagay la li nan lonje dwèt yo. 216 00:15:47,950 --> 00:15:51,110 Li pa retounen gwosè aktyèl la nan nimewo yo. 217 00:15:51,110 --> 00:15:55,660 Se konsa, sa a pa ale nan travay kòm nou vle l 'bay. 218 00:15:55,660 --> 00:15:57,320 >> Kesyon sou sa? 219 00:15:57,320 --> 00:16:03,250 Endikasyon pral fè wout nou nan an detay siyifikativman plis esyon nan semèn kap vini yo. 220 00:16:06,750 --> 00:16:13,740 Ak sa a se poukisa yon anpil nan bagay sa yo ke ou wè, ki pi bagay sa yo rechèch oswa bagay sa yo sòt, 221 00:16:13,740 --> 00:16:16,990 yo ap prèske tout pral bezwen pran gwosè aktyèl la nan etalaj la, 222 00:16:16,990 --> 00:16:20,440 paske se nan C, nou pa gen okenn lide ki sa gwosè a nan etalaj la se. 223 00:16:20,440 --> 00:16:22,720 Ou bezwen manuelman pase l pous 224 00:16:22,720 --> 00:16:27,190 Epi ou pa ka manuelman pase nan etalaj nan tout paske w ap sèlman pase nan referans a 225 00:16:27,190 --> 00:16:30,390 epi li pa ka jwenn gwosè a nan referans a. 226 00:16:30,390 --> 00:16:32,300 Oke. 227 00:16:32,300 --> 00:16:38,160 Se konsa, kounye a nou vle aplike sa ki te eksplike anvan. 228 00:16:38,160 --> 00:16:41,530 Ou ka travay sou li pou yon minit, 229 00:16:41,530 --> 00:16:45,250 epi ou pa gen enkyete sou jwenn tout bagay parfe 100% ap travay. 230 00:16:45,250 --> 00:16:51,410 Jis ekri moute pseudocode a mwatye pou ki jan ou panse ke li ta dwe travay. 231 00:16:52,000 --> 00:16:53,630 Oke. 232 00:16:53,630 --> 00:16:56,350 Pa gen bezwen konplètman fè ak sa a ankò. 233 00:16:56,350 --> 00:17:02,380 Men, nenpòt moun ki santi yo konfòtab avèk sa yo gen twò lwen, 234 00:17:02,380 --> 00:17:05,599 tankou yon bagay nou ka travay avèk ansanm? 235 00:17:05,599 --> 00:17:09,690 nenpòt moun ki vle travay kòm volontè? Oswa mwen pral owaza chwazi. 236 00:17:12,680 --> 00:17:18,599 Li pa gen yo dwe gen dwa nan nenpòt ki mezi men yon bagay nou ka modifye nan yon eta k ap travay. 237 00:17:18,599 --> 00:17:20,720 [Elèv] Sure. >> Okay. 238 00:17:20,720 --> 00:17:27,220 Se konsa, ou ka sove dat revizyon an pa klike sou icon an ti Save. 239 00:17:27,220 --> 00:17:29,950 Ou se Ramya, dwa? >> [Elèv] Yeah. >> [Bowden] Okay. 240 00:17:29,950 --> 00:17:35,140 Se konsa, koulye a, mwen kapab wè revizyon ou yo ak tout moun ka rale moute dat revizyon an. 241 00:17:35,140 --> 00:17:38,600 Ak isit la nou genyen - Okay. 242 00:17:38,600 --> 00:17:43,160 Se konsa, Ramya ale avèk solisyon an repetitif, ki se definitivman yon solisyon ki valid. 243 00:17:43,160 --> 00:17:44,970 Gen de fason ou ka fè pwoblèm sa a. 244 00:17:44,970 --> 00:17:48,060 Ou kapab swa fè li iterativman oswa recursive. 245 00:17:48,060 --> 00:17:53,860 Pifò pwoblèm ou rankontre ke yo ka fè recursive kapab tou gen pou fè iterativman. 246 00:17:53,860 --> 00:17:58,510 Se konsa, isit la nou te fè l 'recursive. 247 00:17:58,510 --> 00:18:03,730 >> yon moun vle defini sa li vle di fè yon fonksyon repetitif? 248 00:18:07,210 --> 00:18:08,920 [Elèv] Lè ou gen yon fonksyon rele tèt li 249 00:18:08,920 --> 00:18:13,470 ak Lè sa a, rele tèt li jouk li rive soti ak vrè ak vre. >> Yeah. 250 00:18:13,470 --> 00:18:17,680 Yon fonksyon repetitif se jis yon fonksyon ki fè apèl tèt li. 251 00:18:17,680 --> 00:18:24,140 Gen twa bagay sa yo gwo ke yon fonksyon repetitif yo dwe gen. 252 00:18:24,140 --> 00:18:27,310 Premye a se evidamman, li rele tèt li. 253 00:18:27,310 --> 00:18:29,650 Dezyèm la se ka a baz. 254 00:18:29,650 --> 00:18:33,390 Se konsa, nan kèk pwen fonksyon a bezwen sispann rele tèt li, 255 00:18:33,390 --> 00:18:35,610 ak se sa ki ka a baz se pou. 256 00:18:35,610 --> 00:18:43,860 Se konsa, isit la nou konnen ke nou ta dwe sispann, nou ta dwe bay moute nan rechèch nou an 257 00:18:43,860 --> 00:18:48,150 lè kòmansman egal fen - epi nou pral ale sou ki sa sa vle di. 258 00:18:48,150 --> 00:18:52,130 Men, finalman, bagay la pase sa a, se enpòtan pou fonksyon repetitif: 259 00:18:52,130 --> 00:18:59,250 fonksyon yo dwe yon jan kanmenm apwoche ka a baz. 260 00:18:59,250 --> 00:19:04,140 Renmen si ou pa ap aktyèlman mete ajou anyen lè ou fè dezyèm apèl la repetitif, 261 00:19:04,140 --> 00:19:07,880 si w ap literalman jis rele fonksyon nan ankò avèk agiman yo menm 262 00:19:07,880 --> 00:19:10,130 e pa gen varyab mondyal te chanje oswa yon lòt bagay, 263 00:19:10,130 --> 00:19:14,430 ou pa janm pral rive nan ka a baz, nan ka sa a ki nan move. 264 00:19:14,430 --> 00:19:17,950 Li pral yon rkursyon enfini ak yon debòde chemine. 265 00:19:17,950 --> 00:19:24,330 Men, isit la nou wè ke update la k ap pase depi nou ap mete ajou kòmanse + fen / 2, 266 00:19:24,330 --> 00:19:28,180 n ap mete ajou agiman nan fen isit la, nou ap mete ajou agiman an kòmanse isit la. 267 00:19:28,180 --> 00:19:32,860 Se konsa, nan tout apèl yo avèk repetitif nou ap mete ajou yon bagay. Oke. 268 00:19:32,860 --> 00:19:38,110 ou vle mache nou nan solisyon ou a? >> Sure. 269 00:19:38,110 --> 00:19:44,270 Mwen sèvi ak SearchHelp pou ke chak fwa mwen fè sa a rele fonksyon 270 00:19:44,270 --> 00:19:47,910 Mwen gen nan kòmansman an nan kote mwen kap chèche nan etalaj la ak fen an 271 00:19:47,910 --> 00:19:49,380 nan kote m ap gade etalaj la. 272 00:19:49,380 --> 00:19:55,330 >> Nan chak etap ki kote l ye li di li nan eleman nan mitan, ki se kòmansman + fen / 2, 273 00:19:55,330 --> 00:19:58,850 se ke egal a ki sa nou ap chèche pou? 274 00:19:58,850 --> 00:20:04,650 Men, si li se, Lè sa a, nou jwenn li, e mwen devine ki vin pase moute nivo yo nan rkursyon. 275 00:20:04,650 --> 00:20:12,540 Men, si ke se pa vre, lè sa a nou tcheke si ke valè mitan nan etalaj la se twò gwo, 276 00:20:12,540 --> 00:20:19,320 nan ka sa a nou gade nan mwatye a gòch nan etalaj la pa pral soti nan kòmansman endèks mitan an. 277 00:20:19,320 --> 00:20:22,710 Ak otreman nou fè mwatye nan fen. 278 00:20:22,710 --> 00:20:24,740 [Bowden] Okay. 279 00:20:24,740 --> 00:20:27,730 Ki sanble bon. 280 00:20:27,730 --> 00:20:36,640 Oke, kidonk yon koup bagay sa yo, ak aktyèlman, sa a se yon bagay trè wo nivo 281 00:20:36,640 --> 00:20:41,270 ke ou pa janm pral bezwen konnen pou kou sa a, men li se vre. 282 00:20:41,270 --> 00:20:46,080 Fonksyon repetitif, ou toujou tande yo ke yo se yon kontra move 283 00:20:46,080 --> 00:20:51,160 paske si w recursive rele tèt ou twòp fwa, ou jwenn debòde chemine 284 00:20:51,160 --> 00:20:54,990 depi, jan mwen te di anvan, chak fonksyon vin ankadreman chemine pwòp li yo. 285 00:20:54,990 --> 00:20:59,500 Se konsa, chak apèl nan fonksyon an repetitif vin ankadreman chemine pwòp li yo. 286 00:20:59,500 --> 00:21:04,140 Se konsa, si ou fè apèl 1,000 repetitif, ou jwenn 1,000 ankadreman chemine, 287 00:21:04,140 --> 00:21:08,390 epi byen vit ou mennen nan ki gen twò anpil ankadreman chemine ak bagay sa yo jis kraze. 288 00:21:08,390 --> 00:21:13,480 Se konsa, Se poutèt sa fonksyon repetitif yo jeneralman move. 289 00:21:13,480 --> 00:21:19,370 Men, gen yon sou bèl nan fonksyon repetitif rele fonksyon ke-repetitif, 290 00:21:19,370 --> 00:21:26,120 ak sa a k ap pase yo yon egzanp sou yon sèl kote si du a remake sa a 291 00:21:26,120 --> 00:21:29,920 epi li ta dwe, mwen panse ke - nan sonnen si w pase li-O2 a drapo 292 00:21:29,920 --> 00:21:33,250 Lè sa a, li ap remake sa a se ke repetitif ak fè bagay sa yo bon. 293 00:21:33,250 --> 00:21:40,050 >> Li pral jam itilize ankadreman an pil menm sou yo ak sou ankò pou chak apèl repetitif. 294 00:21:40,050 --> 00:21:47,010 Se konsa, depi w ap itilize ankadreman an pil menm, ou pa bezwen enkyete sou 295 00:21:47,010 --> 00:21:51,690 janm chemine debòde, ak nan menm tan an, tankou ou te di anvan, 296 00:21:51,690 --> 00:21:56,380 kote yon fwa ou retounen vre, Lè sa a, li gen retounen moute tout moun sa yo ankadreman chemine 297 00:21:56,380 --> 00:22:01,740 ak apèl la 10yèm SearchHelp gen pou l retounen 9yèm a, gen pou l retounen 8yèm la. 298 00:22:01,740 --> 00:22:05,360 Se konsa, ki pa bezwen rive lè fonksyon yo se ke repetitif. 299 00:22:05,360 --> 00:22:13,740 Se konsa, sa ki fè sa a ke fonksyon repetitif se pre-avi ke pou nenpòt ki rele yo bay searchHelp 300 00:22:13,740 --> 00:22:18,470 rele nan repetitif ke li nan fè a se sa ki li nan retounen. 301 00:22:18,470 --> 00:22:25,290 Se konsa, nan rele nan premye SearchHelp, nou swa imedyatman retounen fo, 302 00:22:25,290 --> 00:22:29,590 imedyatman retounen vre, oswa nou fè yon apèl repetitif SearchHelp 303 00:22:29,590 --> 00:22:33,810 kote sa n ap retounen se sa ki ki rele ki retounen. 304 00:22:33,810 --> 00:22:51,560 Epi nou pa ta ka fè sa a si nou te fè yon bagay tankou int x = SearchHelp, retounen x 2 *, 305 00:22:51,560 --> 00:22:55,440 sèlman kèk chanjman o aza. 306 00:22:55,440 --> 00:23:01,470 >> Se konsa, kounye a sa a rele repetitif, sa a int x = SearchHelp repetitif rele, 307 00:23:01,470 --> 00:23:05,740 li gen plis ke repetitif paske li gen aktyèlman retounen 308 00:23:05,740 --> 00:23:10,400 tounen nan yon ankadreman chemine anvan pou ke ki rele anvan fonksyon an 309 00:23:10,400 --> 00:23:13,040 ka Lè sa a, fè yon bagay ki gen valè lè li retounen. 310 00:23:13,040 --> 00:23:22,190 Se konsa, sa a se pa ke repetitif, men ki sa nou te genyen anvan se joliman ke repetitif. Yeah. 311 00:23:22,190 --> 00:23:27,000 [Elèv] pa ta dwe ka a dezyèm baz tcheke premye 312 00:23:27,000 --> 00:23:30,640 paske se la te kapab fè yon sitiyasyon kote lè ou pase l agiman an 313 00:23:30,640 --> 00:23:35,770 ou te kòmanse = fen, men yo se valè a zegwi. 314 00:23:35,770 --> 00:23:47,310 Kesyon an pa te nou ka kouri antre nan ka a kote fen se valè a zegwi 315 00:23:47,310 --> 00:23:52,000 oswa kòmanse = fen, kòmsadwa, kòmanse = fen 316 00:23:52,000 --> 00:23:59,480 epi ou pa gen aktyèlman tcheke ke valè patikilye ankò, 317 00:23:59,480 --> 00:24:03,910 Lè sa a, kòmanse + fen / 2 se jis pral fè menm valè a. 318 00:24:03,910 --> 00:24:07,890 Men, nou te deja tounen fo e nou pa janm aktyèlman tcheke valè an. 319 00:24:07,890 --> 00:24:14,240 Se konsa, omwen nan anpil, nan rele an premye, si gwosè se 0, lè sa a nou vle tounen fo. 320 00:24:14,240 --> 00:24:17,710 Men, si gwosè se 1, lè sa a kòmanse pa pral nan fen egal, 321 00:24:17,710 --> 00:24:19,820 epi n ap omwen tcheke eleman nan yon sèl. 322 00:24:19,820 --> 00:24:26,750 Men mwen panse ke ou se dwa nan ke nou ka fini nan yon ka kote kòmanse + fen / 2, 323 00:24:26,750 --> 00:24:31,190 kòmansman fini moute yo te menm bagay la kòm kòmansman + fen / 2, 324 00:24:31,190 --> 00:24:35,350 men nou pa janm aktyèlman tcheke ke eleman. 325 00:24:35,350 --> 00:24:44,740 >> Se konsa, si nou premye tcheke se eleman nan mitan valè a nou ap chèche pou yo, 326 00:24:44,740 --> 00:24:47,110 Lè sa a, nou ka imedyatman retounen vre. 327 00:24:47,110 --> 00:24:50,740 Lòt Bagay yo si yo ap egal, Lè sa a, gen nan pa gen pwen nan kontinye 328 00:24:50,740 --> 00:24:58,440 depi nou ap jis pral mete ajou nan yon ka kote nou yo se sou yon etalaj sèl-eleman. 329 00:24:58,440 --> 00:25:01,110 Si se sa ki eleman sèl se pa yon sèl an ke nou ap chèche pou yo, 330 00:25:01,110 --> 00:25:03,530 Lè sa a, tout bagay se sa ki mal. Yeah. 331 00:25:03,530 --> 00:25:08,900 [Elèv] bagay la se ke depi gwosè se aktyèlman pi gwo pase ki kantite eleman nan etalaj la, 332 00:25:08,900 --> 00:25:13,070 gen deja yon kourbur - >> Se konsa, pral gwosè - 333 00:25:13,070 --> 00:25:19,380 [Elèv] Di si etalaj la te gwosè 0, Lè sa a, SearchHelp a pral aktyèlman tcheke gwo pile zèb nan 0 334 00:25:19,380 --> 00:25:21,490 sou apèl la an premye. 335 00:25:21,490 --> 00:25:25,300 Etalaj la gen gwosè 0, se konsa 0 a se - >> Yeah. 336 00:25:25,300 --> 00:25:30,750 Genyen yon lòt bagay ki - li ta ka bon. Se pou nou panse. 337 00:25:30,750 --> 00:25:40,120 Se konsa, si etalaj la te gen 10 eleman ak yon sèl nan mitan nou ap ale nan tcheke se endèks 5, 338 00:25:40,120 --> 00:25:45,700 se konsa nou ap tcheke 5, epi kite pou yo di ke valè a se mwens. 339 00:25:45,700 --> 00:25:50,720 Se konsa, nou ap voye tout bagay lwen 5 pati. 340 00:25:50,720 --> 00:25:54,030 Se konsa, kòmanse + fen / 2 a pwal fen nouvo nou an, 341 00:25:54,030 --> 00:25:57,450 Se konsa wi, li te toujou ale nan rete pi lwen pase nan fen etalaj la. 342 00:25:57,450 --> 00:26:03,570 Si li nan yon ka si li te menm oswa enpè, alò nou ta tcheke, di, 4, 343 00:26:03,570 --> 00:26:05,770 men nou toujou ap jete - 344 00:26:05,770 --> 00:26:13,500 Se konsa, yeah, fen se toujou pral fè pi lwen pase fen aktyèl la nan etalaj la. 345 00:26:13,500 --> 00:26:18,350 Se konsa, eleman sa yo nou ap konsantre sou, fen a toujou ale nan fè yon sèl la apre sa. 346 00:26:18,350 --> 00:26:24,270 Se konsa, si kòmansman fè sa ki janm fen egal, nou se nan yon etalaj de gwosè 0. 347 00:26:24,270 --> 00:26:35,600 >> Bagay a lòt mwen te panse se nou ap mete ajou kòmansman yo dwe kòmanse + fen / 2, 348 00:26:35,600 --> 00:26:44,020 kidonk sa a se ka a ke mwen gen pwoblèm ak travay, ki kote kòmanse + fen / 2 349 00:26:44,020 --> 00:26:46,820 se eleman ki nou ap tcheke. 350 00:26:46,820 --> 00:26:58,150 Se pou nou di nou te gen sa a etalaj 10-eleman. Kèlkeswa. 351 00:26:58,150 --> 00:27:03,250 Se konsa, kòmanse + fen / 2 a pwal yon bagay tankou sa a yon sèl, 352 00:27:03,250 --> 00:27:07,060 epi si sa a pa valè a, di nou vle mete ajou. 353 00:27:07,060 --> 00:27:10,060 Valè a se pi gwo, se konsa nou vle fè yon gade nan sa a mwatye nan etalaj la. 354 00:27:10,060 --> 00:27:15,910 Se konsa, kouman nou ap mete ajou kòmanse, nou ap mete ajou kòmansman kounye a gen sa a eleman. 355 00:27:15,910 --> 00:27:23,790 Men, sa a ka toujou travay, oswa omwen nan anpil, ou kapab fè kòmansman + fen / 2 + 1. 356 00:27:23,790 --> 00:27:27,850 [Elèv] Ou pa bezwen yo dwe kòmanse + fen [fèbl] >> Yeah. 357 00:27:27,850 --> 00:27:33,240 Nou te deja tcheke sa a eleman ak konnen li pa yon sèl la nou ap chèche pou. 358 00:27:33,240 --> 00:27:36,800 Se konsa, nou pa bezwen mete ajou kòmansman yo dwe sa a eleman. 359 00:27:36,800 --> 00:27:39,560 Nou ka jis sote li epi mete ajou kòmanse yo dwe sa a eleman. 360 00:27:39,560 --> 00:27:46,060 ¶ Eske gen tout tan yon ka, kite la di, ke sa a te fen, 361 00:27:46,060 --> 00:27:53,140 se konsa Lè sa a, kòmanse ta dwe sa a, kòmanse + fen / 2 ta dwe sa a, 362 00:27:53,140 --> 00:28:00,580 kòmanse + fen - Yeah, mwen panse ke li ka fini nan rkursyon enfini. 363 00:28:00,580 --> 00:28:12,690 Se pou nou di li nan jis yon etalaj de gwosè 2 oswa yon etalaj de gwosè 1. Mwen panse ke sa a ap travay. 364 00:28:12,690 --> 00:28:19,490 Se konsa, kounye a, kòmanse se ke eleman ak fen se 1 apre li. 365 00:28:19,490 --> 00:28:24,110 Se konsa, eleman a ke nou ap ale nan tcheke se yon sèl sa a, 366 00:28:24,110 --> 00:28:29,400 ak Lè sa a, lè nou mete ajou kòmanse, nou ap mete ajou kòmansman yo dwe 0 + 1/2, 367 00:28:29,400 --> 00:28:33,160 ki se ale nan fini nou tounen ak kòmansman yo te sa a eleman. 368 00:28:33,160 --> 00:28:36,210 >> Se konsa, nou ap tcheke eleman an menm sou yo ak sou ankò. 369 00:28:36,210 --> 00:28:43,310 Se konsa, sa a se ka a kote tout apèl repetitif dwe aktyèlman mete ajou yon bagay. 370 00:28:43,310 --> 00:28:48,370 Se konsa, nou bezwen fè kòmansman + fen / 2 + 1, oswa lòt moun gen nan yon ka 371 00:28:48,370 --> 00:28:50,710 kote nou pa ap aktyèlman mete ajou kòmanse. 372 00:28:50,710 --> 00:28:53,820 Tout moun wè sa? 373 00:28:53,820 --> 00:28:56,310 Oke. 374 00:28:56,310 --> 00:29:03,860 nenpòt moun ki gen kesyon sou sa a solisyon an oswa kòmantè nenpòt ki plis? 375 00:29:05,220 --> 00:29:10,280 Oke. nenpòt moun ki gen yon repete solisyon ki nou kapab tout gade nan? 376 00:29:17,400 --> 00:29:20,940 Èske nou tout nou fè l 'recursive? 377 00:29:20,940 --> 00:29:25,950 Oswa tou Mwen devine si ou louvri fanm lan, Lè sa a, ou ka gen écrase youn anvan ou yo. 378 00:29:25,950 --> 00:29:28,810 li otomatikman sove? Mwen pa pozitif. 379 00:29:35,090 --> 00:29:39,130 nenpòt moun ki te repete? 380 00:29:39,130 --> 00:29:42,430 Nou ka mache atravè li ansanm si se pa. 381 00:29:46,080 --> 00:29:48,100 Lide a a pwal menm bagay la. 382 00:30:00,260 --> 00:30:02,830 Repete solisyon an. 383 00:30:02,830 --> 00:30:07,140 Nou pwal vle fondamantalman fè lide a menm 384 00:30:07,140 --> 00:30:16,530 kote nou vle kenbe tras nan fen a nouvo sou etalaj la ak nan kòmansman an nouvo sou etalaj la 385 00:30:16,530 --> 00:30:18,510 ak fè sa sou yo ak sou. 386 00:30:18,510 --> 00:30:22,430 Men, si sa n ap kenbe tras de kòm kòmansman ak nan fen a tout tan kwaze, 387 00:30:22,430 --> 00:30:29,020 Lè sa a, nou pa t 'jwenn li epi nou ka retounen fo. 388 00:30:29,020 --> 00:30:37,540 Se konsa, kouman mwen fè sa? Nenpòt moun ki gen sijesyon, oswa kòd postal pou m 'nan rale moute? 389 00:30:42,190 --> 00:30:47,450 [Elèv] Eske yon riban pandan y ap. >> Yeah. 390 00:30:47,450 --> 00:30:49,450 Ou yo ale nan vle fè yon riban. 391 00:30:49,450 --> 00:30:51,830 >> Eske ou te gen kòd mwen te kapab rale moute a, oswa sa yo te ou pral sijere? 392 00:30:51,830 --> 00:30:56,340 [Elèv] mwen panse sa. >> Tout dwa. Sa fè bagay sa yo pi fasil. Ki sa ki te ou rele? 393 00:30:56,340 --> 00:30:57,890 [Elèv] Lucas. 394 00:31:00,140 --> 00:31:04,190 Revizyon 1. Oke. 395 00:31:04,190 --> 00:31:13,200 Ba se ki sa nou rele kòmanse anvan. 396 00:31:13,200 --> 00:31:17,080 Up se pa byen ki sa nou rele fen anvan. 397 00:31:17,080 --> 00:31:22,750 Aktyèlman, fen se kounye a nan etalaj la. Li nan yon eleman nou ta dwe konsidere. 398 00:31:22,750 --> 00:31:26,890 Se konsa, ba se 0, moute se gwosè a nan etalaj la - 1, 399 00:31:26,890 --> 00:31:34,780 e kounye a, nou ap loupin, epi n ap tcheke - 400 00:31:34,780 --> 00:31:37,340 Mwen devine ou ka mache atravè li. 401 00:31:37,340 --> 00:31:41,420 Ki sa ki te panse ou nan sa a? Mache nou nan kòd ou a. 402 00:31:41,420 --> 00:31:49,940 [Elèv] Sure. Gade nan valè a gwo pile zèb nan mitan an ak li konpare l ak zegwi. 403 00:31:49,940 --> 00:31:58,520 Se konsa, si li nan pi gran pase zegwi ou a, Lè sa a, ou vle - oh, aktyèlman, ki ta dwe fè bak. 404 00:31:58,520 --> 00:32:05,180 W ap ale nan vle jete mwatye nan dwa, epi konsa yeah, ki ta dwe wout la. 405 00:32:05,180 --> 00:32:08,830 [Bowden] Se konsa, sa a ta dwe mwens? Se ke sa ou te di? >> [Elèv] Yeah. 406 00:32:08,830 --> 00:32:10,390 [Bowden] Okay. Mwens. 407 00:32:10,390 --> 00:32:15,700 Se konsa, si sa nou ap chèche a se ki pi piti pase ki sa nou vle, 408 00:32:15,700 --> 00:32:19,410 Lè sa a, yeah, nou vle jete mwatye nan bò gòch, 409 00:32:19,410 --> 00:32:22,210 ki vle di nou ap mete ajou tout sa nou ap konsidere 410 00:32:22,210 --> 00:32:26,610 pa deplase ba a dwat a etalaj la. 411 00:32:26,610 --> 00:32:30,130 Sa a sanble bon. 412 00:32:30,130 --> 00:32:34,550 Mwen panse ke li gen pwoblèm nan menm ke nou te di sou yon sèl anvan an, 413 00:32:34,550 --> 00:32:49,760 kote si ba se 0 ak moute se 1, lè sa a ba + moute / 2 ki pral mete kanpe yo dwe menm bagay la ankò. 414 00:32:49,760 --> 00:32:53,860 >> E menm si sa a pa ka a, li se toujou pi efikas omwen nan anpil 415 00:32:53,860 --> 00:32:57,630 jis jete eleman nan nou jis te gade, nou konnen sa ki mal. 416 00:32:57,630 --> 00:33:03,240 Se konsa, ba + moute / 2 + 1 - >> [elèv] Ki ta dwe nan lòt fason. 417 00:33:03,240 --> 00:33:05,900 [Bowden] Oswa sa a yo ta dwe - 1 ak youn nan lòt yo ta dwe + 1. 418 00:33:05,900 --> 00:33:09,580 [Elèv] Lè ta dwe gen yon doub egal siy. >> [Bowden] Yeah. 419 00:33:09,580 --> 00:33:11,340 [Elèv] Yeah. 420 00:33:14,540 --> 00:33:15,910 Oke. 421 00:33:15,910 --> 00:33:21,280 Epi finalman, kounye a ke nou gen sa a 1 + - 1 bagay, 422 00:33:21,280 --> 00:33:31,520 se li - li pa ta ka - se li tout tan posib pou ba fini ak yon valè ki pi konsekan pase a? 423 00:33:35,710 --> 00:33:40,320 Mwen panse ke fason a sèlman ki ka rive - Eske li posib? >> [Elèv] Mwen pa konnen. 424 00:33:40,320 --> 00:33:45,220 Men, si li vin twonke ak Lè sa a, vin mwens ke 1 ak Lè sa a, - >> Yeah. 425 00:33:45,220 --> 00:33:47,480 [Elèv] Li ta pètèt jwenn messed yo. 426 00:33:49,700 --> 00:33:53,940 Mwen panse ke li ta dwe bon sèlman paske 427 00:33:53,940 --> 00:33:58,800 pou l 'bay fini pi ba yo ta dwe fè egal, mwen panse ke. 428 00:33:58,800 --> 00:34:03,070 Men, si yo yo egal, lè sa a nou pa ta fè riban a pandan y ap yo kòmanse avèk yo 429 00:34:03,070 --> 00:34:06,670 ak nou jis ta yo te retounen valè la. Se konsa, mwen panse ke nou ap bon kounye an. 430 00:34:06,670 --> 00:34:11,530 Remake menm si pwoblèm sa a se pa repetitif, 431 00:34:11,530 --> 00:34:17,400 kalite la menm nan lide aplike kote nou kapab wè ki jan sa a pou fasil prèt tèt li 432 00:34:17,400 --> 00:34:23,659 a yon solisyon repetitif pa lefèt ke nou ap jis mete ajou endis yo sou yo ak sou ankò, 433 00:34:23,659 --> 00:34:29,960 nou ap fè pwoblèm nan pi piti ak pi piti, nou ap konsantre sou yon gwoup ki sot nan etalaj la. 434 00:34:29,960 --> 00:34:40,860 [Elèv] Si ba se 0 ak moute se 1, yo ta tou de gen 0 + 1/2, ki ta ale nan 0, 435 00:34:40,860 --> 00:34:44,429 ak Lè sa a, yon sèl ta dwe + 1, youn ta dwe - 1. 436 00:34:47,000 --> 00:34:50,870 [Elèv] Kote nou tcheke egalite? 437 00:34:50,870 --> 00:34:55,100 Renmen si yon sèl nan mitan an se aktyèlman zegwi? 438 00:34:55,100 --> 00:34:58,590 Nou pa kounye a ap fè sa? Oh! 439 00:35:00,610 --> 00:35:02,460 Si it's - 440 00:35:05,340 --> 00:35:13,740 Wi. Nou pa ka jis fè tès la desann isit la paske kite a di mitan an premye - 441 00:35:13,740 --> 00:35:16,430 [Elèv] Li nan aktyèlman renmen pa jete mare an. 442 00:35:16,430 --> 00:35:20,220 Se konsa, si ou jete mare a, ou gen yo tcheke li premye oswa kèlkeswa sa. 443 00:35:20,220 --> 00:35:23,350 Ah. Yeah. >> [Elèv] Yeah. 444 00:35:23,350 --> 00:35:29,650 Se konsa, kounye a nou te jete lwen youn nan nou kounye a gade, 445 00:35:29,650 --> 00:35:33,260 ki vle di nou koulye a bezwen yo te genyen tou 446 00:35:33,260 --> 00:35:44,810 si (gwo pile zèb [(ba + moute) / 2] == zegwi), Lè sa a, nou ka retounen vre. 447 00:35:44,810 --> 00:35:52,070 Epi si mwen mete lòt bagay oswa jis si, sa vle di literalman menm bagay la 448 00:35:52,070 --> 00:35:57,110 paske sa a ta yo te retounen vre. 449 00:35:57,110 --> 00:36:01,450 Se konsa, mwen pral mete lòt bagay si, men li pa gen pwoblèm. 450 00:36:01,450 --> 00:36:10,440 >> Se konsa, lòt bagay si sa a lòt bagay, sa a, e sa se yon bagay ki komen m 'fè 451 00:36:10,440 --> 00:36:14,340 kote menm si li se ka a kote tout bagay se yon bon bagay isit la, 452 00:36:14,340 --> 00:36:22,780 tankou ki ba kapab pa janm dwe pi gran pase moute, li pa rezònman vo sou si sa a, se vre. 453 00:36:22,780 --> 00:36:28,010 Se konsa, ou ka byen jan ou di pandan y ap ba se mwens pase oswa egal a 454 00:36:28,010 --> 00:36:30,720 oswa pandan y ap ba se mwens pase 455 00:36:30,720 --> 00:36:35,300 Se konsa, si yo se tout tan egal oswa ki ba k ap pase nan pase moute, 456 00:36:35,300 --> 00:36:40,130 Lè sa a, nou ka kraze soti nan sa a riban. 457 00:36:41,410 --> 00:36:44,630 Adrese kesyon, enkyetid, kòmantè? 458 00:36:47,080 --> 00:36:49,270 Oke. Sa a sanble bon. 459 00:36:49,270 --> 00:36:52,230 Koulye a, nou vle fè zèl. 460 00:36:52,230 --> 00:37:04,030 Si nou ale nan revizyon dezyèm m 'yo, nou wè nimewo sa yo menm, 461 00:37:04,030 --> 00:37:07,550 Men, koulye a, yo pa ankò nan Ranje lòd. 462 00:37:07,550 --> 00:37:12,840 E nou vle aplike sòt lè l sèvi avèk nenpòt ki algorithm nan O nan n boutèy demi lit n. 463 00:37:12,840 --> 00:37:17,240 Se konsa, ki algorithm ou panse nou ta dwe aplike isit la? >> [Elèv] fuzyone zèl. 464 00:37:17,240 --> 00:37:23,810 [Bowden] Yeah. Rantre sòt se O (n boutèy demi lit n), se konsa sa a, se sa n ap pral fè a. 465 00:37:23,810 --> 00:37:26,680 Ak pwoblèm nan a pwal trè sanblab, 466 00:37:26,680 --> 00:37:31,920 kote li fasil prèt tèt li nan yon solisyon repetitif. 467 00:37:31,920 --> 00:37:35,580 Nou kapab tou vini ak yon solisyon repete si nou vle, 468 00:37:35,580 --> 00:37:42,540 men rkursyon pral pi fasil isit la epi nou dwe fè rkursyon. 469 00:37:45,120 --> 00:37:49,530 Mwen devine nou pral mache nan sòt unifye an premye, 470 00:37:49,530 --> 00:37:54,280 byenke gen yon videyo bèl sou sòt unifye deja. [Ri] 471 00:37:54,280 --> 00:37:59,780 Se konsa, rantre sòt gen - Mwen gaspiye anpil nan papye sa a. 472 00:37:59,780 --> 00:38:02,080 Oh, gen nan yon sèl bò gòch. 473 00:38:02,080 --> 00:38:03,630 Se konsa, rantre. 474 00:38:08,190 --> 00:38:12,470 Oh, 1, 3, 5. 475 00:38:26,090 --> 00:38:27,440 Oke. 476 00:38:29,910 --> 00:38:33,460 Unifye pran de ranje ki apa a. 477 00:38:33,460 --> 00:38:36,780 Endividyèlman sa yo ranje de yo tou de Ranje. 478 00:38:36,780 --> 00:38:40,970 Se konsa, sa a etalaj, 1, 3, 5, Klase. Sa a etalaj, 0, 2, 4, Klase. 479 00:38:40,970 --> 00:38:46,710 Kounye a ki sa unifye ta dwe fè se konbine yo nan yon etalaj yon sèl ki se pwòp tèt li Ranje. 480 00:38:46,710 --> 00:38:57,130 Se konsa, nou vle yon etalaj de gwosè 6 ki pral gen eleman sa yo andedan nan li 481 00:38:57,130 --> 00:38:59,390 nan Ranje lòd. 482 00:38:59,390 --> 00:39:03,390 >> Se konsa, nou ka pran avantaj de lefèt ke sa yo ranje de yo Ranje 483 00:39:03,390 --> 00:39:06,800 fè sa nan tan lineyè, 484 00:39:06,800 --> 00:39:13,510 lineyè siyifikasyon tan si sa a etalaj se x gwosè ak sa a se y gwosè, 485 00:39:13,510 --> 00:39:20,970 Lè sa a, algorithm nan total yo ta dwe O (x + y). Oke. 486 00:39:20,970 --> 00:39:23,150 Se konsa, sijesyon. 487 00:39:23,150 --> 00:39:26,030 [Elèv] t 'kapab nou kòmanse sou bò goch la? 488 00:39:26,030 --> 00:39:30,150 Se konsa, ou pral mete 0 a desann premye ak Lè sa a, 1 an ak Lè sa a, isit la ou se nan 2 a. 489 00:39:30,150 --> 00:39:33,320 Se konsa, li kalite tankou ou gen yon tab ki nan k ap deplase a dwat la. >> [Bowden] Yeah. 490 00:39:33,320 --> 00:39:41,070 Pou toude, ni nan sa yo ranje si nou jis konsantre sou eleman ki leftmost. 491 00:39:41,070 --> 00:39:43,530 Paske tou de ranje yo Ranje, nou konnen ke eleman sa yo 2 492 00:39:43,530 --> 00:39:46,920 yo se eleman ki pi piti nan swa etalaj. 493 00:39:46,920 --> 00:39:53,500 Se konsa, ki vle di ke 1 nan 2 sa yo eleman yo dwe eleman ki pi piti a nan etalaj uni nou an. 494 00:39:53,500 --> 00:39:58,190 Li jis konsa k ap pase ki pi piti a se youn nan sou tan an dwa sa a. 495 00:39:58,190 --> 00:40:02,580 Se konsa, nou pran 0, insert li sou bò gòch la paske 0 se mwens pase 1, 496 00:40:02,580 --> 00:40:08,210 pou pran 0, insert l 'nan pozisyon premye nou an, epi Lè sa a, nou mete ajou sa a 497 00:40:08,210 --> 00:40:12,070 kounye a konsantre sou eleman la an premye. 498 00:40:12,070 --> 00:40:14,570 Epi, koulye a nou repete. 499 00:40:14,570 --> 00:40:20,670 Se konsa, kounye a nou konpare 2 ak 1. 1 se pi piti, se konsa nou pral insert 1. 500 00:40:20,670 --> 00:40:25,300 Nou mete ajou sa a konsèy nan pwen sa a nèg. 501 00:40:25,300 --> 00:40:33,160 Koulye a, nou fè l 'ankò, se konsa 2. Sa a pral mete ajou, konpare sa yo 2, 3. 502 00:40:33,160 --> 00:40:37,770 Sa a dènye nouvèl yo, Lè sa a, 4 ak 5. 503 00:40:37,770 --> 00:40:42,110 Se konsa, ki se unifye. 504 00:40:42,110 --> 00:40:49,010 >> Li ta dwe trè klè ke li se tan lineyè depi nou jis ale atravè chak eleman yon fwa. 505 00:40:49,010 --> 00:40:55,980 E ke se etap nan pi gwo nan aplikasyon unifye sòt ap fè sa a. 506 00:40:55,980 --> 00:40:59,330 Epi li pa ki difisil. 507 00:40:59,330 --> 00:41:15,020 Yon bagay koup enkyete sou se nan kite l 'di nou te Fusion 1, 2, 3, 4, 5, 6. 508 00:41:15,020 --> 00:41:30,930 Nan ka sa a nou fini nan senaryo a kote sa a yon sèl ki pral yo dwe pi piti, 509 00:41:30,930 --> 00:41:36,160 Lè sa a, nou mete ajou sa a konsèy, sa a yon sèl ki pral yo dwe pi piti, mete ajou sa a, 510 00:41:36,160 --> 00:41:41,280 yon sèl sa a nan pi piti, e kounye a, ou gen yo rekonèt 511 00:41:41,280 --> 00:41:44,220 lè ou te aktyèlman kouri soti nan eleman yo konpare avèk yo. 512 00:41:44,220 --> 00:41:49,400 Depi nou deja itilize sa a etalaj antye, 513 00:41:49,400 --> 00:41:55,190 tout bagay nan sa a etalaj kounye a jis mete nan isit la. 514 00:41:55,190 --> 00:42:02,040 Se konsa, si nou janm kouri antre nan pwen kote yonn nan ranje nou an, ap konplètman fizyone deja, 515 00:42:02,040 --> 00:42:06,510 Lè sa a, nou jis pran tout eleman ki nan etalaj nan lòt epi antre yo nan nan fen etalaj la. 516 00:42:06,510 --> 00:42:13,630 Se konsa, nou ka jis insert 4, 5, 6. Oke. 517 00:42:13,630 --> 00:42:18,070 Sa a se yon sèl bagay yo gade soti pou li a. 518 00:42:22,080 --> 00:42:26,120 Aplike ki ta dwe etap 1. 519 00:42:26,120 --> 00:42:32,600 Rantre sòt Lè sa a, ki baze sou ki, li nan 2 etap, 2 etap timoun. 520 00:42:38,800 --> 00:42:42,090 Se pou nou jis bay sa a etalaj. 521 00:42:57,920 --> 00:43:05,680 Se konsa, rantre sòt, etap 1 se recursive kraze etalaj la nan mwatye. 522 00:43:05,680 --> 00:43:09,350 Se konsa, fann sa a etalaj nan mwatye. 523 00:43:09,350 --> 00:43:22,920 Nou kounye a gen 4, 15, 16, 50 ak 8, 23, 42, 108. 524 00:43:22,920 --> 00:43:25,800 Epi, koulye a nou fè l 'ankò epi nou fann sa yo nan mwatye. 525 00:43:25,800 --> 00:43:27,530 Mwen te jis pral fè l 'sou bò sa a. 526 00:43:27,530 --> 00:43:34,790 Se konsa, 4, 15 ak 16, 50. 527 00:43:34,790 --> 00:43:37,440 Nou ta fè menm bagay la sou isit la. 528 00:43:37,440 --> 00:43:40,340 Epi, koulye a nou fann l 'nan mwatye ankò. 529 00:43:40,340 --> 00:43:51,080 E nou gen 4, 15, 16, 50. 530 00:43:51,080 --> 00:43:53,170 Se konsa, ki se ka baz nou an. 531 00:43:53,170 --> 00:44:00,540 Yon fwa ranje yo se nan gwosè 1, Lè sa a, nou sispann ak division a nan mwatye. 532 00:44:00,540 --> 00:44:03,190 >> Kounye a ki sa nou fè ak sa a? 533 00:44:03,190 --> 00:44:15,730 Nou fini sa a pral tou kraze desann nan 8, 23, 42, ak 108. 534 00:44:15,730 --> 00:44:24,000 Se konsa, kounye a ke nou ap nan pwen sa a, kounye a etap de nan sòt unifye se jis fusion pè sou lis yo. 535 00:44:24,000 --> 00:44:27,610 Se konsa, nou vle rantre sa yo. Nou jis rele rantre. 536 00:44:27,610 --> 00:44:31,410 Nou konnen unifye ap retounen sa yo nan Ranje lòd. 537 00:44:31,410 --> 00:44:33,920 4, 15. 538 00:44:33,920 --> 00:44:41,440 Koulye a, nou vle rantre sa yo, li ki pral retounen yon lis ki gen sa yo ki nan Ranje lòd, 539 00:44:41,440 --> 00:44:44,160 16, 50. 540 00:44:44,160 --> 00:44:57,380 Nou rantre sa yo - Mwen pa ka ekri - 8, 23 ak 42, 108. 541 00:44:57,380 --> 00:45:02,890 Se konsa, nou gen pè uni yon fwa. 542 00:45:02,890 --> 00:45:05,140 Koulye a, nou jis rantre ankò. 543 00:45:05,140 --> 00:45:10,130 Remake chak nan sa yo bay lis se Klase nan tèt li, 544 00:45:10,130 --> 00:45:15,220 ak Lè sa a, nou ka jis rantre sa yo bay lis yo ka resevwa yon lis ki gen yon gwosè 4 ki se Klase 545 00:45:15,220 --> 00:45:19,990 ak rantre sa yo bay lis de yo ka resevwa yon lis ki gen yon gwosè 4 ki se Klase. 546 00:45:19,990 --> 00:45:25,710 Epi finalman, nou ka rantre sa yo bay lis de nan gwosè 4 yo jwenn youn lis ki gen yon gwosè 8 ki se Klase. 547 00:45:25,710 --> 00:45:34,030 Se konsa, yo wè ke sa a se an jeneral n n boutèy demi lit, nou deja wè unifye se lineyè, 548 00:45:34,030 --> 00:45:40,390 Se konsa, lè nou ap fè fas ak fusion sa yo, se konsa tankou pri an jeneral nan unifye 549 00:45:40,390 --> 00:45:43,410 pou de sa yo bay lis se jis 2 paske - 550 00:45:43,410 --> 00:45:49,610 Oswa byen, li la O nan n, men n isit la se jis eleman sa yo 2, kidonk li a 2. 551 00:45:49,610 --> 00:45:52,850 Ak sa yo 2 yo pral 2 ak sa yo 2 yo pral 2 ak sa yo 2 yo pral 2, 552 00:45:52,850 --> 00:45:58,820 se konsa atravè tout nan melanje sa yo ke nou bezwen fè, nou fini fè n. 553 00:45:58,820 --> 00:46:03,210 Tankou 2 + 2 + 2 + 2 se 8, ki se n, 554 00:46:03,210 --> 00:46:08,060 Se konsa se pri a Fusion nan sa a seri n. 555 00:46:08,060 --> 00:46:10,810 Lè sa a, menm bagay la isit la. 556 00:46:10,810 --> 00:46:16,980 Nou pral rantre sa yo 2, Lè sa a, sa yo 2, ak endividyèlman sa a unifye pral pran kat operasyon yo, 557 00:46:16,980 --> 00:46:23,610 sa a unifye pral pran kat operasyon yo, men yon lòt fwa ankò, ant tout sa yo, 558 00:46:23,610 --> 00:46:29,030 nou fini Fusion n bagay total, e konsa etap sa a pran n. 559 00:46:29,030 --> 00:46:33,670 Se konsa, chak nivo pran eleman n ap fizyone. 560 00:46:33,670 --> 00:46:36,110 >> Ak konbyen nivo ki genyen? 561 00:46:36,110 --> 00:46:40,160 Nan chak nivo, etalaj nou ap grandi pa gwosè 2. 562 00:46:40,160 --> 00:46:44,590 Mwen ranje nou yo se nan gwosè 1, isit la yo ap nan gwosè 2, isit la yo ap nan gwosè 4, 563 00:46:44,590 --> 00:46:46,470 epi finalman, yo ap nan gwosè 8. 564 00:46:46,470 --> 00:46:56,450 Se konsa, depi li double pwensip, gen pwal gen yon total de boutèy demi lit n nan nivo sa yo. 565 00:46:56,450 --> 00:47:02,090 Se konsa, avèk boutèy demi lit n nivo, chak nivo endividyèl pran n operasyon total, 566 00:47:02,090 --> 00:47:05,720 nou jwenn yon boutèy demi lit n n algorithm. 567 00:47:05,720 --> 00:47:07,790 Kesyon? 568 00:47:08,940 --> 00:47:13,320 Èske moun deja fè pwogrè sou kòman yo aplike sa a? 569 00:47:13,320 --> 00:47:18,260 Èske nenpòt moun ki deja nan yon eta kote mwen ka jis rale moute kòd yo? 570 00:47:20,320 --> 00:47:22,260 Mwen ka bay yon minit. 571 00:47:24,770 --> 00:47:27,470 Sa a yon sèl ki pral yo dwe dire pi lontan. 572 00:47:27,470 --> 00:47:28,730 Mwen trè rekòmande rive ankò - 573 00:47:28,730 --> 00:47:30,510 Ou pa oblije fè rkursyon pou unifye 574 00:47:30,510 --> 00:47:33,750 paske yo fè rkursyon pou fizyone, w ap ale nan dwe pase yon pakèt moun sou gwosè diferan. 575 00:47:33,750 --> 00:47:37,150 Ou kapab, men li la anmèdan. 576 00:47:37,150 --> 00:47:43,720 Men, rkursyon pou sòt tèt li se trè fasil. 577 00:47:43,720 --> 00:47:49,190 Ou jis literalman rele sòt sou mwatye agoch, sòt sou mwatye dwat. Oke. 578 00:47:51,770 --> 00:47:54,860 Nenpòt moun ki gen bagay mwen ka rale moute ankò? 579 00:47:54,860 --> 00:47:57,540 Oswa lòt moun Mwen pral ba yon minit. 580 00:47:58,210 --> 00:47:59,900 Oke. 581 00:47:59,900 --> 00:48:02,970 Nenpòt moun ki gen yon bagay nou ka travay avèk? 582 00:48:05,450 --> 00:48:09,680 Oswa lòt moun nou pral jis travay avèk sa a ak Lè sa a, elaji soti nan la. 583 00:48:09,680 --> 00:48:14,050 >> Nenpòt moun ki gen plis pase sa a ke mwen ka rale moute? 584 00:48:14,050 --> 00:48:17,770 [Elèv] Yeah. Ou ka rale moute m '. >> Tout dwa. 585 00:48:17,770 --> 00:48:19,730 Wi! 586 00:48:22,170 --> 00:48:25,280 [Elèv] Te gen yon anpil nan kondisyon yo. >> Oh, tire. Èske ou ka - 587 00:48:25,280 --> 00:48:28,110 [Elèv] mwen gen pou konsève pou li. >> Yeah. 588 00:48:32,420 --> 00:48:35,730 Se konsa, nou te fè sa fè unifye la separeman. 589 00:48:35,730 --> 00:48:38,570 Oh, men li la pa tèlman move. 590 00:48:39,790 --> 00:48:41,650 Oke. 591 00:48:41,650 --> 00:48:47,080 Se konsa, sòt se tèt li jis rele mergeSortHelp. 592 00:48:47,080 --> 00:48:49,530 Eksplike nou kisa mergeSortHelp fè. 593 00:48:49,530 --> 00:48:55,700 [Elèv] MergeSortHelp bèl anpil fè de etap sa yo prensipal yo, 594 00:48:55,700 --> 00:49:01,270 ki se yo sòt chak mwatye nan etalaj la epi lè sa a rantre tou de peyi yo. 595 00:49:04,960 --> 00:49:08,050 [Bowden] Oke, kidonk, ban m 'yon dezyèm fwa. 596 00:49:10,850 --> 00:49:13,210 Mwen panse ke sa a - >> [elèv] mwen bezwen - 597 00:49:17,100 --> 00:49:19,400 Yeah. Mwen manke yon bagay. 598 00:49:19,400 --> 00:49:23,100 Nan fizyone, Mwen reyalize ke mwen bezwen yo kreye yon etalaj nouvo 599 00:49:23,100 --> 00:49:26,530 paske mwen pa ta ka fè l 'nan plas. >> Wi. Ou pa kapab. Kòrèk. 600 00:49:26,530 --> 00:49:28,170 [Elèv] Se konsa, mwen kreye yon etalaj nouvo. 601 00:49:28,170 --> 00:49:31,510 Mwen bliye nan fen rantre re chanje-. 602 00:49:31,510 --> 00:49:34,490 Oke. Nou bezwen yon etalaj nouvo. 603 00:49:34,490 --> 00:49:41,000 Nan sòt fizyone, sa a se prèske toujou vrè. 604 00:49:41,000 --> 00:49:44,340 Yon pati nan pri a nan yon algorithm pi bon tan-ki gen bon konprann 605 00:49:44,340 --> 00:49:47,310 se prèske toujou ki bezwen sèvi ak yon ti jan pi plis memwa. 606 00:49:47,310 --> 00:49:51,570 Se konsa, isit la, pa gen pwoblèm ki jan ou fè rantre sòt, 607 00:49:51,570 --> 00:49:54,780 ou ta inevitableman bezwen sèvi ak kèk memwa siplemantè. 608 00:49:54,780 --> 00:49:58,240 Li oswa li te kreye yon etalaj nouvo. 609 00:49:58,240 --> 00:50:03,400 Lè sa a, ou di nan fen a nou jis bezwen yon kopi nouvo etalaj nan etalaj orijinal la. 610 00:50:03,400 --> 00:50:04,830 [Elèv] Mwen panse ke se konsa, yeah. 611 00:50:04,830 --> 00:50:08,210 Mwen pa konnen si ki travay an tèm de konte pa referans oswa kèlkeswa sa - 612 00:50:08,210 --> 00:50:11,650 Yeah, li pral travay. >> [Elèv] Okay. 613 00:50:20,620 --> 00:50:24,480 Eske ou te eseye kouri sa a? >> [Elèv] Non, pa ankò. >> Okay. 614 00:50:24,480 --> 00:50:28,880 Eseye kouri l ', li Lè sa a, mwen pral pale sou sa pou yon dezyèm fwa. 615 00:50:28,880 --> 00:50:35,200 [Elèv] mwen bezwen gen tout prototip yo fonksyon ak tout bagay, menm si, dwa? 616 00:50:37,640 --> 00:50:40,840 Fonksyon prototip yo. Oh, ou vle di tankou - Wi. 617 00:50:40,840 --> 00:50:43,040 Triye ap rele mergeSortHelp. 618 00:50:43,040 --> 00:50:47,390 >> Se konsa, nan lòd pou sòt yo rele mergeSortHelp, mergeSortHelp yo dwe swa yo te defini 619 00:50:47,390 --> 00:50:56,370 anvan sòt oswa nou jis bezwen pwototip la. Jis kopye epi keratin sa. 620 00:50:56,370 --> 00:50:59,490 Ak Menm jan tou, mergeSortHelp ap rele fizyone, 621 00:50:59,490 --> 00:51:03,830 men unifye pa te defini ankò, pou nou ka jis kite mergeSortHelp konnen 622 00:51:03,830 --> 00:51:08,700 ki se sa ki rantre ki pral sanble, epi ki nan sa. 623 00:51:09,950 --> 00:51:15,730 Se konsa, mergeSortHelp. 624 00:51:22,770 --> 00:51:32,660 Nou gen yon pwoblèm isit la kote nou pa gen okenn ka baz. 625 00:51:32,660 --> 00:51:38,110 MergeSortHelp se repetitif, se konsa nenpòt fonksyon repetitif 626 00:51:38,110 --> 00:51:42,610 ki pral bezwen kèk sòt de ka baz konnen kilè pou w sispann recursive rele tèt li. 627 00:51:42,610 --> 00:51:45,590 Ki sa ki ka baz nou an pral fè isit la? Yeah. 628 00:51:45,590 --> 00:51:49,110 [Elèv] Si gwosè a se 1 an? >> [Bowden] Wi. 629 00:51:49,110 --> 00:51:56,220 Se konsa, tankou nou te wè dwa a, nou te sispann ranje divize 630 00:51:56,220 --> 00:52:01,850 yon fwa nou ale nan ranje nan gwosè 1, ki inevitableman yo Ranje tèt yo. 631 00:52:01,850 --> 00:52:09,530 Se konsa, si gwosè egal 1, nou konnen se etalaj la deja klase, 632 00:52:09,530 --> 00:52:12,970 pou nou ka jis retounen. 633 00:52:12,970 --> 00:52:16,880 >> Avi sa a, se anile, donk nou pa retounen anyen patikilye, nou jis retounen. 634 00:52:16,880 --> 00:52:19,580 Oke. Se konsa, sa a, se ka baz nou an. 635 00:52:19,580 --> 00:52:27,440 Mwen devine ka baz nou an ta ka tou si nou rive yo dwe fusion yon etalaj de gwosè 0, 636 00:52:27,440 --> 00:52:30,030 nou pwobableman vle sispann nan kèk pwen, 637 00:52:30,030 --> 00:52:33,610 pou nou ka jis di gwosè mwens pase 2 oswa mwens pase oswa egal a 1 638 00:52:33,610 --> 00:52:37,150 pou ke sa a ap travay pou nenpòt ki etalaj kounye a. 639 00:52:37,150 --> 00:52:38,870 Oke. 640 00:52:38,870 --> 00:52:42,740 Se konsa, sa a, se ka baz nou an. 641 00:52:42,740 --> 00:52:45,950 Koulye a, ou vle mache nou nan unifye? 642 00:52:45,950 --> 00:52:49,140 Ki sa tout ka sa yo vle di? 643 00:52:49,140 --> 00:52:54,480 Up isit la, nou ap jis ap fè lide la menm, - nan 644 00:52:56,970 --> 00:53:02,470 [Elèv] mwen bezwen yo dwe pase gwosè ak tout apèl yo avèk yo mergeSortHelp. 645 00:53:02,470 --> 00:53:10,080 Mwen te ajoute gwosè kòm yon prensipal plis epi li pa la, tankou gwosè / 2. 646 00:53:10,080 --> 00:53:16,210 [Bowden] Oh, gwosè / 2, gwosè / 2. >> [Elèv] Yeah, epi tou li nan fonksyon ki pi wo a kòm byen. 647 00:53:16,210 --> 00:53:21,320 [Bowden] isit la? >> [Elèv] Jis gwosè. >> [Bowden] Oh. Size, gwosè? >> [Elèv] Yeah. 648 00:53:21,320 --> 00:53:23,010 [Bowden] Okay. 649 00:53:23,010 --> 00:53:26,580 Kite m 'panse ke pou yon dezyèm fwa. 650 00:53:26,580 --> 00:53:28,780 nou kouri antre nan yon pwoblèm? 651 00:53:28,780 --> 00:53:33,690 Nou toujou ap trete bò gòch la kòm 0. >> [Elèv] No 652 00:53:33,690 --> 00:53:36,340 Sa a se sa ki mal tou. Sorry. Li ta dwe kòmanse. Yeah. 653 00:53:36,340 --> 00:53:39,230 [Bowden] Okay. Mwen renmen sa pi byen. 654 00:53:39,230 --> 00:53:43,880 Ak yon fen. Oke. 655 00:53:43,880 --> 00:53:47,200 Se konsa, kounye a ou vle mache nou nan unifye? >> [Elèv] Okay. 656 00:53:47,200 --> 00:53:52,150 Mwen jis mache nan sa a etalaj nouvo ke mwen te kreye. 657 00:53:52,150 --> 00:53:57,420 Gwosè li se gwosè a nan pòsyon ki pou etalaj la ke nou vle yo Ranje 658 00:53:57,420 --> 00:54:03,460 ak ap eseye jwenn eleman a ke mwen ta dwe mete nan etap la etalaj nouvo. 659 00:54:03,460 --> 00:54:10,140 Se konsa, fè sa, premye mwen tcheke si mwatye nan gòch nan etalaj la kontinye ap gen nenpòt ki plis eleman, 660 00:54:10,140 --> 00:54:14,260 epi si li fè sa pa, Lè sa a, ou ale desann nan ki kondisyon lòt moun, ki jis di 661 00:54:14,260 --> 00:54:20,180 oke, sa yo dwe nan etalaj nan dwa yo, epi nou pral mete sa nan endèks la aktyèl la newArray. 662 00:54:20,180 --> 00:54:27,620 >> Lè sa a, otreman, mwen tcheke si yo bò dwat la etalaj la tou fini, 663 00:54:27,620 --> 00:54:30,630 nan ka sa a mwen jis mete nan bò gòch li. 664 00:54:30,630 --> 00:54:34,180 Sa pa ta ka aktyèlman ap nesesè. Mwen pa si. 665 00:54:34,180 --> 00:54:40,970 Men, de tout fason, de lòt chèk la Kilès nan de a ki pi piti nan bò gòch la oswa dwa a. 666 00:54:40,970 --> 00:54:49,770 Epi tou li nan chak ka, mwen incrementing kèlkeswa sa ki kontneur mwen kantite. 667 00:54:49,770 --> 00:54:52,040 [Bowden] Okay. 668 00:54:52,040 --> 00:54:53,840 Ki sanble bon. 669 00:54:53,840 --> 00:54:58,800 nenpòt moun ki gen kòmantè oswa enkyetid oswa kesyon? 670 00:55:00,660 --> 00:55:07,720 Se konsa, kat ka yo ke nou gen yo pote bagay sa yo nan jis ke yo te - oswa li sanble senk - 671 00:55:07,720 --> 00:55:13,100 men nou dwe konsidere si gen etalaj gòch la kouri soti nan bagay sa yo nou bezwen fizyone, 672 00:55:13,100 --> 00:55:16,390 si etalaj nan dwa kouri soti nan bagay sa yo nou bezwen rantre - 673 00:55:16,390 --> 00:55:18,400 Mwen lonje dwèt nan pa gen anyen. 674 00:55:18,400 --> 00:55:21,730 Se konsa, si etalaj gòch la kouri soti nan bagay sa yo oswa yo te etalaj nan dwa kouri soti nan bagay sa yo. 675 00:55:21,730 --> 00:55:24,320 Moun sa yo ki se de ka. 676 00:55:24,320 --> 00:55:30,920 Nou menm tou nou bezwen ka a trivial nan si wi ou non bagay la bò gòch se mwens pase sa ki dwat. 677 00:55:30,920 --> 00:55:33,910 Lè sa a, nou vle chwazi bagay la bò gòch. 678 00:55:33,910 --> 00:55:37,630 Moun sa yo se ka yo. 679 00:55:37,630 --> 00:55:40,990 Se konsa, sa a te dwat, pou ki nan sa. 680 00:55:40,990 --> 00:55:46,760 Etalaj kite. Li nan 1, 2, 3. Oke. Se konsa, yeah, sa yo se bagay sa yo kat nou ta ka vle fè. 681 00:55:50,350 --> 00:55:54,510 Epi nou pa pral ale sou plis pase yon repete solisyon an. 682 00:55:54,510 --> 00:55:55,980 Mwen pa ta rekòmande - 683 00:55:55,980 --> 00:56:03,070 Rantre sòt ki se yon egzanp yon fonksyon ki se tou de se pa ke repetitif, 684 00:56:03,070 --> 00:56:07,040 li pa fasil fè li ke repetitif, 685 00:56:07,040 --> 00:56:13,450 men tou li pa trè fasil a fè li repete. 686 00:56:13,450 --> 00:56:16,910 Sa a se trè fasil. 687 00:56:16,910 --> 00:56:19,170 Sa a egzekisyon sòt fizyone, 688 00:56:19,170 --> 00:56:22,140 fizyone, pa gen pwoblèm sa ou fè sa, w ap ale nan bati unifye. 689 00:56:22,140 --> 00:56:29,170 >> Se konsa, rantre sòt bati sou tèt unifye recursive se jis liy sa yo twa. 690 00:56:29,170 --> 00:56:34,700 Iterativman, li se plis annwiyeu e plis difisil yo reflechi sou. 691 00:56:34,700 --> 00:56:41,860 Men, remake ke se pa ke repetitif depi mergeSortHelp - lè li rele tèt li - 692 00:56:41,860 --> 00:56:46,590 li toujou bezwen fè bagay sa yo apre sa a retounen apèl repetitif. 693 00:56:46,590 --> 00:56:50,830 Se konsa, sa a ankadreman chemine yo dwe kontinye egziste menm apre w rele sa a. 694 00:56:50,830 --> 00:56:54,170 Lè sa a, lè w rele sa a, ankadreman an chemine yo dwe kontinye egziste 695 00:56:54,170 --> 00:56:57,780 paske menm apre sa rele, nou toujou bezwen rantre. 696 00:56:57,780 --> 00:57:01,920 Epi li se nontrivial fè sa-a ke repetitif. 697 00:57:04,070 --> 00:57:06,270 Kesyon? 698 00:57:08,300 --> 00:57:09,860 Tout dwa. 699 00:57:09,860 --> 00:57:13,400 Se konsa, pral tounen nan sòt - oh, gen nan de bagay sa yo mwen vle montre. Oke. 700 00:57:13,400 --> 00:57:17,840 Ale tounen nan sòt, nou pral fè sa byen vit. 701 00:57:17,840 --> 00:57:21,030 Oswa rechèch. Triye? Triye. Yeah. 702 00:57:21,030 --> 00:57:22,730 Ale tounen nan kòmansman yo nan zèl. 703 00:57:22,730 --> 00:57:29,870 Nou vle kreye yon algorithm ki kalite etalaj la lè l sèvi avèk nenpòt ki algorithm 704 00:57:29,870 --> 00:57:33,660 nan O n. 705 00:57:33,660 --> 00:57:40,860 Se konsa, kouman sa a posib? nenpòt moun ki gen nenpòt ki sòt de - 706 00:57:40,860 --> 00:57:44,300 Mwen te diskite anvan an - 707 00:57:44,300 --> 00:57:48,300 Si nou ap sou yo amelyore, sòti n boutèy demi lit n O nan n, 708 00:57:48,300 --> 00:57:51,450 nou yo te amelyore algorithm nou an tan-gen bon konprann, 709 00:57:51,450 --> 00:57:55,250 ki vle di ki sa nou pral bezwen fè pou fè moute pou sa? 710 00:57:55,250 --> 00:57:59,520 [Elèv] Espas. >> Yeah. Nou ap pral lè l sèvi avèk plis espas. 711 00:57:59,520 --> 00:58:04,490 Epi li pa menm jis plis espas, li nan espas exponentielle plis. 712 00:58:04,490 --> 00:58:14,320 Se konsa, mwen panse ke sa a ki kalite algorithm se yon bagay pseudo, pseudo polynom - 713 00:58:14,320 --> 00:58:18,980 pseudo - Mwen pa ka sonje. Pseudo yon bagay. 714 00:58:18,980 --> 00:58:22,210 Men, li la paske nou bezwen sèvi ak espas tèlman 715 00:58:22,210 --> 00:58:28,610 ke sa a se possible, men se pa reyalis. 716 00:58:28,610 --> 00:58:31,220 >> Ak ki jan nou reyalize sa a? 717 00:58:31,220 --> 00:58:36,810 Nou ka reyalize sa a si nou garanti ke nenpòt eleman patikilye nan etalaj la 718 00:58:36,810 --> 00:58:39,600 se pi ba a yon gwosè a sèten. 719 00:58:42,070 --> 00:58:44,500 Se konsa, kite yo jis di ke gwosè se 200, 720 00:58:44,500 --> 00:58:48,130 nenpòt eleman nan yon etalaj se pi ba a gwosè 200. 721 00:58:48,130 --> 00:58:51,080 Ak sa a se aktyèlman trè reyalis. 722 00:58:51,080 --> 00:58:58,660 Ou ka trè fasil gen yon etalaj ke ou konnen tout bagay nan li 723 00:58:58,660 --> 00:59:00,570 a pwal mwens pase kèk nimewo. 724 00:59:00,570 --> 00:59:07,400 Renmen si w gen kèk vektè absoliman masiv oswa yon bagay 725 00:59:07,400 --> 00:59:11,810 men ou konnen tout bagay a pwal ant 0 ak 5, 726 00:59:11,810 --> 00:59:14,790 Lè sa a, li la pral fè siyifikativman pi vit fè sa. 727 00:59:14,790 --> 00:59:17,930 Apre yo fin mare a sou nenpòt ki nan eleman yo se 5, 728 00:59:17,930 --> 00:59:21,980 kidonk sa a mare, se sa ki konbyen memwa w ap ale nan dwe lè l sèvi avèk. 729 00:59:21,980 --> 00:59:26,300 Se konsa, mare la se 200. 730 00:59:26,300 --> 00:59:32,960 Nan teyori gen se toujou yon mare depi yon nonb antye relatif kapab fèt sèlman jiska 4 milya dola, 731 00:59:32,960 --> 00:59:40,600 men sa a ireyèl depi lè sa a nou ta dwe lè l sèvi avèk espas 732 00:59:40,600 --> 00:59:44,400 sou lòd la nan 4 milya dola. Se konsa, ke a ireyèl. 733 00:59:44,400 --> 00:59:47,060 Men, isit la nou pral di mare nou an, se 200. 734 00:59:47,060 --> 00:59:59,570 Jwe fent la ap fè l 'nan O nan n se nou fè yon lòt etalaj rele nan yo konsidere gwosè mare l'. 735 00:59:59,570 --> 01:00:10,470 Se konsa, aktyèlman, sa a se yon chemen kout pou - Mwen aktyèlman pa konnen si rezone sa a. 736 01:00:11,150 --> 01:00:15,330 Men, nan GCC omwen nan anpil - rezone I'm asepte fè li twò - 737 01:00:15,330 --> 01:00:18,180 sa a pral jis inisyalize etalaj nan tout yo dwe 0s. 738 01:00:18,180 --> 01:00:25,320 Se konsa, si mwen pa vle fè sa, Lè sa a, mwen te kapab fè pou separeman (Int mwen = 0; 739 01:00:25,320 --> 01:00:31,500 mwen <'mare, mwen + +) ak konte [mwen] = 0; 740 01:00:31,500 --> 01:00:35,260 Se konsa, kounye a tout bagay se inisyalizèd a 0. 741 01:00:35,260 --> 01:00:39,570 Mwen repekte sou etalaj m 'yo, 742 01:00:39,570 --> 01:00:51,920 ak sa m ap fè la a mwen konte kantite chak - Ann al desann isit la. 743 01:00:51,920 --> 01:00:55,480 Nou gen 4, 15, 16, 50, 8, 23, 42, 108. 744 01:00:55,480 --> 01:01:00,010 Sa mwen ap konte se nimewo a nan evènman nan chak nan sa yo eleman. 745 01:01:00,010 --> 01:01:03,470 Se pou nou aktyèlman ajoute yon koup plis nan isit la ak kèk either. 746 01:01:03,470 --> 01:01:11,070 Se konsa, valè a nou gen isit la, valè sa a nan a pwal etalaj [mwen]. 747 01:01:11,070 --> 01:01:14,850 Se konsa, Val te kapab 4 oswa 8 oswa kèlkeswa sa. 748 01:01:14,850 --> 01:01:18,870 Epi, koulye a mwen konte konbyen nan ki valè mwen te wè, 749 01:01:18,870 --> 01:01:21,230 Se konsa konte [Val] + +; 750 01:01:21,230 --> 01:01:29,430 Apre sa, konte a pral sanble yon bagay tankou 0001. 751 01:01:29,430 --> 01:01:42,190 Se pou nou fè konte [Val] - mare l '+ 1. 752 01:01:42,190 --> 01:01:48,230 >> Koulye a, sa se sèlman nan kont pou lefèt ke nou ap kòmanse soti nan 0. 753 01:01:48,230 --> 01:01:50,850 Se konsa, si 200 a pwal nimewo pi gwo nou an, 754 01:01:50,850 --> 01:01:54,720 Lè sa a, 0 a 200 se 201 bagay sa yo. 755 01:01:54,720 --> 01:02:01,540 Se konsa, konte, li pral gade tankou 00001 paske nou gen yon sèl 4. 756 01:02:01,540 --> 01:02:10,210 Lè sa a, n ap gen 0001 kote nou pral gen yon 1 nan endèks la 8yèm nan konte. 757 01:02:10,210 --> 01:02:14,560 Nou pwal genyen yon 2 nan endèks la 23rd nan konte. 758 01:02:14,560 --> 01:02:17,630 Nou pwal genyen yon 2 nan endèks la 42nd nan konte. 759 01:02:17,630 --> 01:02:21,670 Se konsa, nou ka sèvi ak konte. 760 01:02:34,270 --> 01:02:44,920 Se konsa, num_of_item = konte [mwen]. 761 01:02:44,920 --> 01:02:52,540 Se konsa, si num_of_item se 2, sa vle di nou vle insert 2 nan nimewo a mwen 762 01:02:52,540 --> 01:02:55,290 nan Ranje etalaj nou an. 763 01:02:55,290 --> 01:03:02,000 Se konsa, nou bezwen kenbe tras nan ki jan lwen nou se nan etalaj la. 764 01:03:02,000 --> 01:03:05,470 Se konsa, = endèks 0. 765 01:03:05,470 --> 01:03:09,910 Etalaj - Mwen pral jis ekri li. 766 01:03:16,660 --> 01:03:18,020 Counts - 767 01:03:19,990 --> 01:03:28,580 etalaj [endèks + +] = mwen; 768 01:03:28,580 --> 01:03:32,490 Se ke sa m 'vle? Mwen panse ke sa a, se sa m 'vle. 769 01:03:35,100 --> 01:03:38,290 Wi, sa a sanble bon. Oke. 770 01:03:38,290 --> 01:03:43,050 Se konsa, tout moun konprann ki sa bi pou yo etalaj konte mwen, se yon? 771 01:03:43,050 --> 01:03:48,140 Li se konte kantite evènman nan chak nan nimewo sa yo. 772 01:03:48,140 --> 01:03:51,780 Lè sa a, mwen iteration sou ki etalaj konte, 773 01:03:51,780 --> 01:03:57,190 ak pozisyon nan on nan etalaj la konte 774 01:03:57,190 --> 01:04:01,930 se nimewo a nan mwen an ki ta dwe parèt nan Ranje etalaj m 'yo. 775 01:04:01,930 --> 01:04:06,840 Se poutèt sa konte nan 4 a pwal 1 776 01:04:06,840 --> 01:04:11,840 ak konte nan 8 a pwal 1, konte nan 23 a pwal 2. 777 01:04:11,840 --> 01:04:16,900 Se konsa, lè sa a jan anpil nan yo mwen vle insert nan Ranje etalaj m 'yo. 778 01:04:16,900 --> 01:04:19,200 Lè sa a, mwen jis fè sa. 779 01:04:19,200 --> 01:04:28,960 Mwen mete num_of_item mwen an nan Ranje etalaj m 'yo. 780 01:04:28,960 --> 01:04:31,670 >> Kesyon? 781 01:04:32,460 --> 01:04:43,100 Se konsa, ankò, sa a se tan lineyè depi nou yo se jis iteration sou sa a yon fwa, 782 01:04:43,100 --> 01:04:47,470 men li la tou lineyè nan sa ki nan nimewo sa a k ap pase yo, 783 01:04:47,470 --> 01:04:50,730 ak se konsa li lou depann de sa ki mare-w la. 784 01:04:50,730 --> 01:04:53,290 Ak yon mare nan 200, ki nan pa tèlman move. 785 01:04:53,290 --> 01:04:58,330 Si mare ou a pwal 10,000, Lè sa a, sa a, se yon ti kras pi mal, 786 01:04:58,330 --> 01:05:01,360 Men, si mare ou a pral nan gen 4 milya dola, ki nan konplètman ireyèl 787 01:05:01,360 --> 01:05:07,720 ak sa a etalaj ki pral gen yo dwe nan gwosè 4 milya dola, ki se ireyèl. 788 01:05:07,720 --> 01:05:10,860 Se konsa, sa a, se sa. Kesyon? 789 01:05:10,860 --> 01:05:13,270 [Fèbl repons elèv] >> Okay. 790 01:05:13,270 --> 01:05:15,710 Mwen reyalize yon lòt bagay lè nou te ale atravè tout. 791 01:05:17,980 --> 01:05:23,720 Mwen panse ke pwoblèm nan te nan a Lucas ak pwobableman chak yon sèl nou te wè. 792 01:05:23,720 --> 01:05:26,330 Mwen konplètman bliye. 793 01:05:26,330 --> 01:05:31,040 Bagay la sèlman mwen te vle fè kòmantè sou se ke lè w ap fè fas ak bagay sa yo tankou endis yo, 794 01:05:31,040 --> 01:05:38,320 ou pa janm reyèlman wè sa a lè w ap ekri yon pou riban, 795 01:05:38,320 --> 01:05:41,120 men teknikman, nenpòt lè w ap fè fas ak sa yo endis yo, 796 01:05:41,120 --> 01:05:45,950 ou ta dwe bèl anpil toujou fè fas ak nonm antye relatif siye. 797 01:05:45,950 --> 01:05:53,850 Rezon ki fè la pou sa a se lè w ap fè fas ak siyen nonm antye yo, 798 01:05:53,850 --> 01:05:56,090 pou si ou gen 2 siyen nonm antye relatif, epi ou ajoute yo ansanm 799 01:05:56,090 --> 01:06:00,640 ak yo fini twò gwo, lè sa a ou fini ak yon chif negatif. 800 01:06:00,640 --> 01:06:03,410 Se konsa, se sa ki debòde nonb antye relatif se. 801 01:06:03,410 --> 01:06:10,500 >> Si m 'ajoute 2 milya dola ak 1 milya dola, mwen fini ak milya dola negatif 1. 802 01:06:10,500 --> 01:06:15,480 Sa a ki jan nonm antye relatif travay sou òdinatè. 803 01:06:15,480 --> 01:06:17,510 Se konsa, pwoblèm nan ak lè l sèvi avèk - 804 01:06:17,510 --> 01:06:23,500 Sa a se amann eksepte si ba k ap pase yo 2 milya dola ak moute k ap pase yo 1 milya dola, 805 01:06:23,500 --> 01:06:27,120 Lè sa a, sa a se pral negatif 1 milya dola ak Lè sa a, nou pral divize ki pa 2 806 01:06:27,120 --> 01:06:29,730 ak fini ak milyon dola negatif 500. 807 01:06:29,730 --> 01:06:33,760 Se konsa, sa a se sèlman yon pwoblèm si ou rive dwe chèche nan yon etalaj 808 01:06:33,760 --> 01:06:38,070 nan dè milya de bagay sa yo. 809 01:06:38,070 --> 01:06:44,050 Men, si + ba moute k ap pase nan debòde, lè sa a sa a, se yon pwoblèm. 810 01:06:44,050 --> 01:06:47,750 Osito ke nou fè yo siye, lè sa a 2 milya dola plis 1 milya dola se 3 milya dola. 811 01:06:47,750 --> 01:06:51,960 3 milya dola divize pa 2 se 1.5 milya dola. 812 01:06:51,960 --> 01:06:55,670 Se konsa, le pli vit ke yo ap siye, tout bagay la bon nèt. 813 01:06:55,670 --> 01:06:59,900 Se konsa, ki la tou yon pwoblèm lè w ap ekri ou pou pasan, 814 01:06:59,900 --> 01:07:03,940 ak aktyèlman, li pwobableman fè li otomatikman. 815 01:07:09,130 --> 01:07:12,330 Li pral aktyèlman jis rele nan ou. 816 01:07:12,330 --> 01:07:21,610 Se konsa, si nimewo sa a se twò gwo yo dwe nan jis nonb antye relatif yon men li ta anfòm nan yon nonb antye relatif siye, 817 01:07:21,610 --> 01:07:24,970 li pral rele nan ou, se konsa ke poutèt sa ou pa janm reyèlman kouri antre nan pwoblèm nan. 818 01:07:29,150 --> 01:07:34,820 Ou ka wè yon endèks pa janm a pwal negatif, 819 01:07:34,820 --> 01:07:39,220 epi konsa lè w ap iteration sou plis pase yon etalaj, 820 01:07:39,220 --> 01:07:43,970 ou ka prèske toujou di siye int mwen, men ou pa vrèman gen a. 821 01:07:43,970 --> 01:07:47,110 Tout bagay ap mache nan travay bèl anpil jis kòm byen. 822 01:07:48,740 --> 01:07:50,090 Oke. [Murmura] Ki sa ki lè li ye? 823 01:07:50,090 --> 01:07:54,020 Bagay la pase mwen te vle montre - epi mwen pral jis fè li vrèman rapid. 824 01:07:54,020 --> 01:08:03,190 Ou konnen ki jan nou te # defini pou nou ka # defini MAX kòm 5 oswa yon bagay? 825 01:08:03,190 --> 01:08:05,940 Pa kite nan fè MAX. # Defini mare l 'kòm 200. Sa a ki sa nou te fè sa anvan. 826 01:08:05,940 --> 01:08:10,380 Ki defini yon konstan, ki se jis pral dwe kopye ak kole 827 01:08:10,380 --> 01:08:13,010 tout kote nou rive ekri mare l '. 828 01:08:13,010 --> 01:08:18,189 >> Se konsa, nou ka aktyèlman fè plis ak # defini. 829 01:08:18,189 --> 01:08:21,170 Nou ka # defini fonksyon. 830 01:08:21,170 --> 01:08:23,410 Yo ap pa reyèlman fonksyon, men nou pwal rele yo fonksyon. 831 01:08:23,410 --> 01:08:36,000 Yon egzanp ta kapab yon bagay tankou MAX (x, y) defini kòm (x 01:08:40,660 Se konsa, ou ta dwe jwenn itilize sentaks operatè tèrsyèr, 833 01:08:40,660 --> 01:08:49,029 men se x mwens pase y? Retounen y, lòt bagay retounen x. 834 01:08:49,029 --> 01:08:54,390 Se konsa, ou ka wè ou ka fè sa a yon separe fonksyon, 835 01:08:54,390 --> 01:09:01,399 ak fonksyon an ta ka tankou bouleen MAX pran 2 agiman, retounen sa a. 836 01:09:01,399 --> 01:09:08,340 Sa a se youn nan yo menm ki mwen wè ki pi komen fè tankou sa a. Nou rele yo makro. 837 01:09:08,340 --> 01:09:11,790 Sa a se yon macro. 838 01:09:11,790 --> 01:09:15,859 Sa a se jis sentaks la pou li. 839 01:09:15,859 --> 01:09:18,740 Ou ka ekri yon macro fè tou sa ou vle. 840 01:09:18,740 --> 01:09:22,649 Ou souvan wè makro pou debogaj printfs ak lòt bagay. 841 01:09:22,649 --> 01:09:29,410 Se konsa, yon kalite printf, gen konstan espesyal nan C tankou souliye LINE souliye, 842 01:09:29,410 --> 01:09:31,710 2 insist LINE souliye, 843 01:09:31,710 --> 01:09:37,550 ak gen nan tou mwen panse ke 2 insist fonksyone. Ke sa ta kapab li. Yon bagay tankou sa. 844 01:09:37,550 --> 01:09:40,880 Moun sa yo ki bagay sa yo pral ranplase ak non an nan fonksyon an 845 01:09:40,880 --> 01:09:42,930 oswa nimewo a nan liy lan ke w ap sou. 846 01:09:42,930 --> 01:09:48,630 Anpil fwa, ou ekri debogaj printfs ki desann isit la mwen te kapab Lè sa a, jis ekri 847 01:09:48,630 --> 01:09:54,260 Dbug epi li pral enprime nimewo a liy ak fonksyon ke mwen rive yo dwe nan 848 01:09:54,260 --> 01:09:57,020 ke li rankontre ki deklarasyon dbug. 849 01:09:57,020 --> 01:09:59,550 Epi ou ka tou enprime lòt bagay. 850 01:09:59,550 --> 01:10:05,990 Se konsa, yon sèl bagay ou ta dwe gade deyò pou se si mwen rive # defini DOUBLE_MAX 851 01:10:05,990 --> 01:10:11,380 kòm yon bagay tankou 2 * y ak 2 * x. 852 01:10:11,380 --> 01:10:14,310 Se konsa, pou rezon sa a, ou rive fè sa anpil. 853 01:10:14,310 --> 01:10:16,650 Se konsa, fè l 'yon macro. 854 01:10:16,650 --> 01:10:18,680 Sa a se aktyèlman kase. 855 01:10:18,680 --> 01:10:23,050 Mwen ta rele l 'pa fè yon bagay tankou DOUBLE_MAX (3, 6). 856 01:10:23,050 --> 01:10:27,530 Se konsa, sa yo dwe retounen? 857 01:10:28,840 --> 01:10:30,580 [Elèv] 12. 858 01:10:30,580 --> 01:10:34,800 Wi, 12 yo ta dwe tounen, ak 12 yo voye li tounen. 859 01:10:34,800 --> 01:10:43,350 3 vin ranplase pou x, 6 vin ranplase pou y, epi nou retounen 2 * 6, ki se 12. 860 01:10:43,350 --> 01:10:47,710 Kounye a ki sa sou sa a? Kisa yo ta dwe tounen? 861 01:10:47,710 --> 01:10:50,330 [Elèv] 14. >> Idealman, 14. 862 01:10:50,330 --> 01:10:55,290 Pwoblèm lan se ke kouman regle defini travay, sonje ke se byen yon kopi literal ak keratin 863 01:10:55,290 --> 01:11:00,160 nan tout bagay bèl anpil konsa, sa ki sa a ki pral kapab entèprete kòm 864 01:11:00,160 --> 01:11:11,270 se 3 mwens pase 1 plis, 6, 2 fwa 1 plis, 6, 2 fwa 3. 865 01:11:11,270 --> 01:11:19,780 >> Se konsa, pou rezon sa a ou prèske toujou vlope tout bagay nan parantèz. 866 01:11:22,180 --> 01:11:25,050 Nenpòt varyab ou prèske toujou vlope nan parantèz. 867 01:11:25,050 --> 01:11:29,570 Gen ka kote ou pa bezwen, tankou mwen konnen ke mwen pa bezwen fè sa isit la 868 01:11:29,570 --> 01:11:32,110 paske mwens pase se bèl anpil toujou jis ale nan travay, 869 01:11:32,110 --> 01:11:34,330 byenke ki pa ta ka menm dwe vre. 870 01:11:34,330 --> 01:11:41,870 Si gen yon bagay ridikil tankou DOUBLE_MAX (1 == 2), 871 01:11:41,870 --> 01:11:49,760 Lè sa a, ki nan pwal jwenn ranplase ak 3 mwens pase 1 egal egal 2, 872 01:11:49,760 --> 01:11:53,460 e konsa Lè sa a, li la pral fè 3 mwens pase 1, ke 2 egal, 873 01:11:53,460 --> 01:11:55,620 ki se pa sa nou vle. 874 01:11:55,620 --> 01:12:00,730 Se konsa, yo nan lòd yo anpeche okenn operatè priyorite pwoblèm, 875 01:12:00,730 --> 01:12:02,870 toujou vlope nan parantèz. 876 01:12:03,290 --> 01:12:07,700 Oke. Epi sa a, l ', 5:30. 877 01:12:08,140 --> 01:12:12,470 Si w gen nenpòt kesyon sou pset a, fè nou konnen. 878 01:12:12,470 --> 01:12:18,010 Li ta dwe plezi, ak edisyon an aker tou se pi plis reyalis 879 01:12:18,010 --> 01:12:22,980 pase edisyon an aker nan la ane pase a, pou nou espere ke yon anpil nan ou eseye li. 880 01:12:22,980 --> 01:12:26,460 Ane pase a te trè akablan yo. 881 01:12:28,370 --> 01:12:30,000 >> [CS50.TV]