1 00:00:00,000 --> 00:00:03,332 >> [TÓNLIST spila] 2 00:00:03,332 --> 00:00:06,490 >> ANDI Peng: Velkomin í viku 3 af lið. 3 00:00:06,490 --> 00:00:09,550 Takk, strákar, fyrir allt að koma þessari fyrri byrjunartíma dag. 4 00:00:09,550 --> 00:00:11,466 Við höfum fengið gott, lítið náinn hópur í dag. 5 00:00:11,466 --> 00:00:14,570 Svo vonandi munum við fá til ljúka, kannski, snemma, 6 00:00:14,570 --> 00:00:15,780 svolítið snemma í dag. 7 00:00:15,780 --> 00:00:22,057 Svo fljótt, bara nokkrar afmælisdagur dagskrá í dag. 8 00:00:22,057 --> 00:00:23,890 Áður en við byrjum, við erum að fara að fara bara yfir 9 00:00:23,890 --> 00:00:28,910 nokkrar stuttar skipulagningar málefni, pset spurningar, debrief, svoleiðis. 10 00:00:28,910 --> 00:00:30,250 Og þá munum við kafa rétt í. 11 00:00:30,250 --> 00:00:34,710 Við munum nota aflúsara heitir GDB til byrja debunking kóða okkar, sem David 12 00:00:34,710 --> 00:00:36,550 útskýrði í fyrirlestri um daginn. 13 00:00:36,550 --> 00:00:39,420 Við munum fara yfir fjórum tegundum af konar. 14 00:00:39,420 --> 00:00:42,310 Við munum fara yfir þau ansi hratt þar sem þeir eru mjög ákafur. 15 00:00:42,310 --> 00:00:45,710 En veit að allar skyggnur og Kóðinn er alltaf á netinu. 16 00:00:45,710 --> 00:00:50,810 Svo ekki hika við, að sýn þinni til fara til baka og taka a líta á það. 17 00:00:50,810 --> 00:00:53,930 >> Við munum fara í gegnum asymptotic merki, sem 18 00:00:53,930 --> 00:00:55,944 er bara fínt leið að segja "runtimes," 19 00:00:55,944 --> 00:00:58,360 þar sem við höfum stóra O, sem David útskýrði í fyrirlestri. 20 00:00:58,360 --> 00:01:01,550 Og við höfum einnig Omega, sem er lægri bundinn afturkreistingur. 21 00:01:01,550 --> 00:01:06,450 Og við munum tala aðeins meira í-dýpt um hvernig þeir vinna. 22 00:01:06,450 --> 00:01:10,160 Og loks, munum við fara yfir tvöfaldur leit, vegna þess að mikið af ykkur sem hafa nú þegar 23 00:01:10,160 --> 00:01:15,190 leit á psets þínum sennilega vita að það er spurning sem er í pset þinn. 24 00:01:15,190 --> 00:01:17,470 Svo þú munt alla vera hamingjusamur að við ná þessu í dag. 25 00:01:17,470 --> 00:01:20,610 >> Og loks, á þínum kafla viðbrögð, ég reyndar 26 00:01:20,610 --> 00:01:23,000 á vinstri um 15 mínútur í enda að fara bara yfir 27 00:01:23,000 --> 00:01:27,730 flutningsgetu pset3, einhverjar spurningar, kannski smá leiðsögn, ef þú vilt, 28 00:01:27,730 --> 00:01:28,990 áður en við byrjum forritun. 29 00:01:28,990 --> 00:01:30,890 Svo skulum reyna að komast í gegnum efni ansi fljótt. 30 00:01:30,890 --> 00:01:33,880 Og þá getum við eyða einhverjum tíma taka fleiri spurningar fyrir pset. 31 00:01:33,880 --> 00:01:35,230 OK. 32 00:01:35,230 --> 00:01:39,570 >> Fljótt, svo bara nokkrar Tilkynningar Áður en við byrjum í dag. 33 00:01:39,570 --> 00:01:45,410 Í fyrsta lagi, velkomið að gera það í gegnum tvo psets þínum. 34 00:01:45,410 --> 00:01:49,432 Ég skoðaði á your-- já, við skulum fá umferð lófaklapp fyrir það eitt. 35 00:01:49,432 --> 00:01:51,140 Reyndar var ég í raun, mjög hrifinn. 36 00:01:51,140 --> 00:01:55,800 Ég farið fyrsta pset fyrir ykkur Síðustu viku og þið gerðu ótrúlegt. 37 00:01:55,800 --> 00:01:58,290 >> Style var á lið auk nokkurra athugasemda. 38 00:01:58,290 --> 00:02:00,660 Gakktu úr skugga um að þú ert alltaf athugasemdir kóðann þinn. 39 00:02:00,660 --> 00:02:03,040 En psets þínir voru á lið. 40 00:02:03,040 --> 00:02:05,549 Og halda henni upp. 41 00:02:05,549 --> 00:02:08,090 Og það er gott fyrir flokkara til sjá að þú krakkar eru að setja 42 00:02:08,090 --> 00:02:10,704 í eins mikið átak í stíl og hönnun í kóðanum þínum 43 00:02:10,704 --> 00:02:12,120 að við viljum að þú að sjá. 44 00:02:12,120 --> 00:02:16,450 Þannig að ég ætla liggur meðfram þakklæti mitt fyrir the hvíla af the Tas. 45 00:02:16,450 --> 00:02:19,210 >> Þó að það séu Nokkrum debrief spurningar 46 00:02:19,210 --> 00:02:22,010 Ég vil bara að fara yfir það myndi gera bæði líf mitt 47 00:02:22,010 --> 00:02:24,900 og mikið af öðrum TAS "lifir svolítið auðveldara. 48 00:02:24,900 --> 00:02:28,220 Í fyrsta lagi, ég hef tekið eftir þessu framhjá week-- hvernig margir af þú 49 00:02:28,220 --> 00:02:32,301 hafa verið í gangi check50 á númerið þitt áður en þú sendir? 50 00:02:32,301 --> 00:02:32,800 OK. 51 00:02:32,800 --> 00:02:36,690 Svo allir ættu að vera að gera check50, because-- a secret-- við í raun 52 00:02:36,690 --> 00:02:41,540 hlaupa check50 sem hluta af réttmæti okkar forskriftir fyrir prófanir númerið þitt. 53 00:02:41,540 --> 00:02:45,480 Þannig að ef númerið þitt er galli check50, að öllum líkindum, 54 00:02:45,480 --> 00:02:47,570 það er líklega að fara að ekki stöðva okkar eins og heilbrigður. 55 00:02:47,570 --> 00:02:49,320 Stundum þú krakkar hafa rétt svör. 56 00:02:49,320 --> 00:02:52,200 Eins og í gráðugur, sum þú hefur rétt númer, 57 00:02:52,200 --> 00:02:53,960 þú prentar bara út smá auka efni. 58 00:02:53,960 --> 00:02:55,940 Og að auka efni reyndar ekki að athuga, 59 00:02:55,940 --> 00:02:58,440 vegna þess að tölvan er ekki raunverulega vita hvað það er að leita að. 60 00:02:58,440 --> 00:03:00,981 Og svo það verður bara að keyra í gegnum, sjá að framleiðsla þinn styður ekki 61 00:03:00,981 --> 00:03:03,810 passa það sem við búast svarið að vera, og merkja það er rangt. 62 00:03:03,810 --> 00:03:06,560 >> Og ég veit að gerðist í sum tilvik þínum í þessari viku. 63 00:03:06,560 --> 00:03:09,870 Svo ég fór aftur og höndunum endurmetnar kóða allra. 64 00:03:09,870 --> 00:03:12,780 Í framtíðinni þó, vinsamlegast, vinsamlegast tryggja 65 00:03:12,780 --> 00:03:14,570 að þú ert að keyra athuga 50 á kóðann þinn. 66 00:03:14,570 --> 00:03:17,970 Vegna þess að það er góður af a sársauki fyrir TA að þurfa að fara til baka og höndunum regrade 67 00:03:17,970 --> 00:03:21,197 hvert einasta pset fyrir hvert einn, lítið ungfrú dæmi. 68 00:03:21,197 --> 00:03:22,530 Svo gerði ég ekki taka burt allir stig. 69 00:03:22,530 --> 00:03:25,210 Ég held að ég tók af kannski einn eða tveir fyrir hönnun. 70 00:03:25,210 --> 00:03:27,710 Í framtíðinni þó, ef þú ert galli check50, 71 00:03:27,710 --> 00:03:31,330 stig verða tekin burt fyrir misskilning. 72 00:03:31,330 --> 00:03:35,020 >> Ennfremur eru psets vegna föstudögum á hádegi. 73 00:03:35,020 --> 00:03:38,990 Ég held að það er sjö mínútna seint náð tímabil sem við gefum þér. 74 00:03:38,990 --> 00:03:42,434 Per Harvard tíma, þá eru þeir leyft að vera sjö mínútum of seint að öllu. 75 00:03:42,434 --> 00:03:44,350 Svo hér í Yale, munum við fylgja sem eins og heilbrigður. 76 00:03:44,350 --> 00:03:47,910 En ansi mikið á 12:07, ef pset er ekki í, 77 00:03:47,910 --> 00:03:49,720 það er að fara að vera merkt sem seint. 78 00:03:49,720 --> 00:03:53,160 Og svo á meðan það er merkt eins seint, TA-- ég 79 00:03:53,160 --> 00:03:54,870 enn að fara að vera yfirferð psets þína. 80 00:03:54,870 --> 00:03:56,760 Svo þú munt enn sjá einkunn birtast. 81 00:03:56,760 --> 00:03:58,820 Hins vegar veit að á í lok misseris, 82 00:03:58,820 --> 00:04:02,270 allt seint psets verður bara að vera sjálfkrafa núllstilltur af tölvunni. 83 00:04:02,270 --> 00:04:04,490 >> Við gerum þetta fyrir tveimur ástæðum. 84 00:04:04,490 --> 00:04:09,220 Einn, stundum fáum við afsakaði, eins afsakanir deildarforseta, 85 00:04:09,220 --> 00:04:10,762 síðar að ég veit ekki um enn. 86 00:04:10,762 --> 00:04:13,761 Þannig að við eins og til að tryggja að við erum að flokka allt bara í tilfelli, eins og ég er 87 00:04:13,761 --> 00:04:15,080 vantar afsökun Dean er. 88 00:04:15,080 --> 00:04:17,000 Og í öðru lagi, að halda í huga, þú getur samt 89 00:04:17,000 --> 00:04:19,370 taka einn pset að hefur fullt stig umfang. 90 00:04:19,370 --> 00:04:21,430 Og svo við eins og að einkunn öll psets þínum bara 91 00:04:21,430 --> 00:04:24,730 til að tryggja að svigrúm er þar og þú ert að reyna þá. 92 00:04:24,730 --> 00:04:29,150 Svo jafnvel ef það er of seint, þú munt enn fá kredit fyrir umfang stig, held ég. 93 00:04:29,150 --> 00:04:33,730 >> Svo boðskapur af the saga er, gera viss psets eru í þann tíma. 94 00:04:33,730 --> 00:04:38,350 Og ef þeir eru ekki í þann tíma, veit að það er ekki mikill. 95 00:04:38,350 --> 00:04:41,678 Já, áður en ég flyt á, er einhver með einhverjar spurningar varðandi pset viðbrögð? 96 00:04:41,678 --> 00:04:42,178 Já. 97 00:04:42,178 --> 00:04:43,630 >> Áhorfendur: Vissir þú að segja að við getur sleppt eitt af psets? 98 00:04:43,630 --> 00:04:44,296 >> ANDI Peng: Já. 99 00:04:44,296 --> 00:04:47,050 Svo er það níu psets heild á meðan á önn. 100 00:04:47,050 --> 00:04:50,610 Og ef þú hefur svigrúm points-- svo svigrúm er bara, 101 00:04:50,610 --> 00:04:53,567 ansi mikið, þú ert að reyna að vandamál, þú ert að setja í tíma, 102 00:04:53,567 --> 00:04:56,150 ert þú að sýna að þú hafir sýndi þú hefur lesið sérstakur. 103 00:04:56,150 --> 00:04:57,191 Það er ansi mikið svigrúm. 104 00:04:57,191 --> 00:04:59,370 Og ef þú ert að uppfylla umfang stig, við 105 00:04:59,370 --> 00:05:03,360 getur sleppt lægsta einn af fullt umfang. 106 00:05:03,360 --> 00:05:06,790 Svo er það í þína þágu til ljúka og reyna allar pset. 107 00:05:06,790 --> 00:05:10,320 >> Jafnvel upload-- ef ekkert þá vinna, hlaða þeim öllum. 108 00:05:10,320 --> 00:05:13,711 Og þá munum við vonandi geta gefa þér nokkra af þeim stig til baka. 109 00:05:13,711 --> 00:05:14,210 Cool. 110 00:05:14,210 --> 00:05:16,780 Aðrar spurningar? 111 00:05:16,780 --> 00:05:17,840 Great. 112 00:05:17,840 --> 00:05:21,960 >> Í öðru lagi, skrifstofa hours-- nokkrar Flýtileiðir athugasemdir um skrifstofutíma. 113 00:05:21,960 --> 00:05:24,300 Svo fyrst, koma snemma í vikunni. 114 00:05:24,300 --> 00:05:26,909 Enginn er alltaf í Viðtalstími á mánudögum. 115 00:05:26,909 --> 00:05:28,700 Christabel kom til Viðtalstími í gærkvöldi. 116 00:05:28,700 --> 00:05:29,691 Já, Christabel. 117 00:05:29,691 --> 00:05:32,190 Og hvað gerði við höfum á skrifstofu klst í gærkvöldi, Christabel? 118 00:05:32,190 --> 00:05:33,020 >> Áhorfendur: Við höfðum ís. 119 00:05:33,020 --> 00:05:36,160 >> ANDI Peng: Svo er það rétt, við höfðum ís á skrifstofutíma í gærkvöldi. 120 00:05:36,160 --> 00:05:39,390 Þó að ég get ekki lofað þér að við verðum ís á skrifstofutíma 121 00:05:39,390 --> 00:05:43,230 í hverri viku, það sem ég get lofað þér er að það verður verulega 122 00:05:43,230 --> 00:05:45,380 betra nemandi að TA hlutfall. 123 00:05:45,380 --> 00:05:47,650 Eins legit, það er eins og þremur til einn. 124 00:05:47,650 --> 00:05:50,350 En, á móti hafa Fimmtudagur, þú hefur fengið um 150 125 00:05:50,350 --> 00:05:52,830 raunverulega áherslu börn og engan ís. 126 00:05:52,830 --> 00:05:55,360 Og það er bara ekki gefandi fyrir neinn. 127 00:05:55,360 --> 00:05:58,730 Svo Boðskapur sögunnar er, koma snemma að skrifstofutíma og góðum hlutum 128 00:05:58,730 --> 00:06:00,310 mun gerast. 129 00:06:00,310 --> 00:06:02,110 >> Einnig koma undirbúin til að spyrja spurninga. 130 00:06:02,110 --> 00:06:03,200 Þú veist? 131 00:06:03,200 --> 00:06:05,420 Óháð því hvað Tas, ég held, hafa verið að segja, 132 00:06:05,420 --> 00:06:10,710 við höfum verið að fá nokkra nemendur sem koma inn á fimmtudaginn í, eins og, 10:50 133 00:06:10,710 --> 00:06:15,100 hafa ekki lesið sérstakur vera eins hjálpa mér, hjálpa mér. 134 00:06:15,100 --> 00:06:18,200 Því miður á þeim tímapunkti, það er ekki mikið sem við getum gert til að hjálpa þér. 135 00:06:18,200 --> 00:06:19,590 Svo vinsamlegast koma snemma í vikunni. 136 00:06:19,590 --> 00:06:22,040 Komdu snemma til skrifstofutíma. 137 00:06:22,040 --> 00:06:23,350 Koma undirbúin til að spyrja spurninga. 138 00:06:23,350 --> 00:06:25,310 Gakktu úr skugga um að þú, eins og nemandi, eru þar 139 00:06:25,310 --> 00:06:27,620 þú þarft að vera þannig að TAS geta leiða þig, 140 00:06:27,620 --> 00:06:32,850 sem er það sem viðtalstímar Ætti að vera úthlutað til. 141 00:06:32,850 --> 00:06:37,380 >> Í öðru lagi, þannig að ég veit prófessorar eins og til að koma okkur á óvart með prófunum. 142 00:06:37,380 --> 00:06:39,439 Ég átti prófessor slíkar eins, Yo, við the vegur, 143 00:06:39,439 --> 00:06:41,230 muna að miðannarverkefnið þú þarft næsta mánudag. 144 00:06:41,230 --> 00:06:42,855 Já, ég vissi ekki um að midterm. 145 00:06:42,855 --> 00:06:45,630 Þannig að ég ætla að vera að TA sem minnir þig allt sem quiz 146 00:06:45,630 --> 00:06:47,270 0-- því, þú veist, við erum CS. 147 00:06:47,270 --> 00:06:50,730 Nú þegar við höfum gert fylki, þú færð hvers vegna það er quiz 0, ekki Quiz 1, ha? 148 00:06:50,730 --> 00:06:51,320 OK. 149 00:06:51,320 --> 00:06:52,490 Oh, ég fékk nokkrar chuckles á því einu. 150 00:06:52,490 --> 00:06:53,120 OK. 151 00:06:53,120 --> 00:06:59,710 >> Svo quiz 0 verður 14 október ef þú ert í Monday-miðvikudagur kafla 152 00:06:59,710 --> 00:07:02,920 og 15. október ef þú ert í Tuesday-Fimmtudagur kafla. 153 00:07:02,920 --> 00:07:05,630 Þetta á ekki við um þau ykkar í Harvard 154 00:07:05,630 --> 00:07:10,350 who-- Ég held að þú munt vera öll taka Skyndipróf þínum á 14.. 155 00:07:10,350 --> 00:07:13,560 >> Svo já, í næstu viku, ef David, í fyrirlestri, fer, 156 00:07:13,560 --> 00:07:15,747 já, svo um að quiz í næstu viku, þið öll 157 00:07:15,747 --> 00:07:17,580 mun ekki vera hneykslaður vegna þú komst við lið 158 00:07:17,580 --> 00:07:19,664 og þú veist að þinn quiz 0 er í tvær vikur. 159 00:07:19,664 --> 00:07:21,580 Og við munum hafa endurskoðun fundur og allt. 160 00:07:21,580 --> 00:07:26,360 Svo engar áhyggjur að vera hrædd um það. 161 00:07:26,360 --> 00:07:29,890 Einhverjar spurningar before-- einhverjar spurningar á öllum um skipulagningar málefni, 162 00:07:29,890 --> 00:07:32,591 flokkun, viðtalstímar, köflum? 163 00:07:32,591 --> 00:07:33,090 Já. 164 00:07:33,090 --> 00:07:35,100 >> Áhorfendur: Svo quiz er að fara að vera á fyrirlestri? 165 00:07:35,100 --> 00:07:35,766 >> ANDI Peng: Já. 166 00:07:35,766 --> 00:07:39,460 Svo spurningakeppni, held ég, er 60 mínútur veittir í þessu tímabili 167 00:07:39,460 --> 00:07:42,240 að þú munt bara að taka í fyrirlestrarsal. 168 00:07:42,240 --> 00:07:44,810 Svo þú þarft ekki að koma í á, eins og af handahófi 7:00 PM. 169 00:07:44,810 --> 00:07:46,140 Það er allt gott. 170 00:07:46,140 --> 00:07:47,100 Já. 171 00:07:47,100 --> 00:07:50,060 Cool. 172 00:07:50,060 --> 00:07:50,840 >> Allt í lagi. 173 00:07:50,840 --> 00:07:54,330 Þannig að við erum að fara að kynna hugmyndina að þér 174 00:07:54,330 --> 00:08:00,760 í þessari viku, að Davíð hefur nú þegar góður af snert á í fyrirlestri í síðustu viku. 175 00:08:00,760 --> 00:08:02,010 Það heitir GDB. 176 00:08:02,010 --> 00:08:05,570 Og hversu margir af þú, en í að sjálfsögðu að skrifa psets þína, 177 00:08:05,570 --> 00:08:09,981 hafa tekið eftir stór hnappur sem segir "Debug" efst á IDE þinn? 178 00:08:09,981 --> 00:08:10,480 OK. 179 00:08:10,480 --> 00:08:13,770 Svo nú munum við í raun að fá að unearth leyndardómur hvað það hnappur raun 180 00:08:13,770 --> 00:08:14,270 gerir. 181 00:08:14,270 --> 00:08:16,790 Og ég tryggt að þú, það er fallegur, fallegur hlutur. 182 00:08:16,790 --> 00:08:20,740 >> Svo allt þar til nú, held ég það er verið tvennt 183 00:08:20,740 --> 00:08:23,320 nemendur hafa verið oftast gera þegar kembiforrit psets. 184 00:08:23,320 --> 00:08:27,635 Einn, bæta þeir annaðhvort í printf () - svo á nokkurra línur, 185 00:08:27,635 --> 00:08:29,760 þeir bæta í printf () - ó, hvað er þessi breyta? 186 00:08:29,760 --> 00:08:32,551 Oh, hvað er þessi breyta now-- og þú sérð konar framvindu 187 00:08:32,551 --> 00:08:33,940 af kóðanum þínum eins og það liggur. 188 00:08:33,940 --> 00:08:37,030 Eða second aðferð krakkarnir gera er sem þeir skrifa bara allt hlutur 189 00:08:37,030 --> 00:08:38,610 og þá fara svona í lokin. 190 00:08:38,610 --> 00:08:39,970 Vonandi virkar það. 191 00:08:39,970 --> 00:08:44,851 Ég tryggja þér, GDB er betra en báðum þessum aðferðum. 192 00:08:44,851 --> 00:08:45,350 Já. 193 00:08:45,350 --> 00:08:46,980 Þannig að þetta verður nýr besti vinur þinn. 194 00:08:46,980 --> 00:08:51,780 Vegna þess að það er a fallegur hlutur sem sjónrænt sýna bæði 195 00:08:51,780 --> 00:08:54,850 hvað númerið þitt er að gera á tilteknum stað 196 00:08:54,850 --> 00:08:57,486 og hvað allt þitt breytur eru vopnaður, 197 00:08:57,486 --> 00:08:59,610 eins og það gildi þeirra eru, á þeim tilteknum stað. 198 00:08:59,610 --> 00:09:02,670 Og á þennan hátt, getur þú í raun setja Rofstaðir í kóðann þinn. 199 00:09:02,670 --> 00:09:04,350 Þú getur keyrt í gegnum línu fyrir línu. 200 00:09:04,350 --> 00:09:07,324 Og GDB verður bara að hafa fyrir þú, birt fyrir þig, 201 00:09:07,324 --> 00:09:09,490 hvað allt breytur þínar eru, hvað þeir eru að gera, 202 00:09:09,490 --> 00:09:10,656 hvað er að gerast í kóðanum. 203 00:09:10,656 --> 00:09:13,240 Og á þann hátt, að það er svo miklu auðveldara að sjá 204 00:09:13,240 --> 00:09:17,120 hvað er að gerast í stað þess að printf-ing eða skrifa niður yfirlýsingar. 205 00:09:17,120 --> 00:09:19,160 >> Þannig að við munum gera dæmi um þetta síðar. 206 00:09:19,160 --> 00:09:20,660 Svo virðist þetta dálítið ágrip. 207 00:09:20,660 --> 00:09:23,490 Engar áhyggjur, við munum gera dæmi. 208 00:09:23,490 --> 00:09:29,170 Og svo í raun, þau þrjú stærstu mest notaður aðgerðir sem þú þarft í gdb 209 00:09:29,170 --> 00:09:32,500 eru Next, stíga yfir, og stíga inn hnappa. 210 00:09:32,500 --> 00:09:34,860 Ég ætla að fara yfir það, í raun, núna. 211 00:09:34,860 --> 00:09:40,930 >> Svo getur þú krakkar allt sjá að eða ætti ég að stækka smá? 212 00:09:40,930 --> 00:09:43,220 213 00:09:43,220 --> 00:09:44,470 Í bak, getur þú séð það? 214 00:09:44,470 --> 00:09:45,730 Ætti ég stækka? 215 00:09:45,730 --> 00:09:46,480 Bara svolítið? 216 00:09:46,480 --> 00:09:49,390 OK, flott. 217 00:09:49,390 --> 00:09:50,280 Það sem við förum. 218 00:09:50,280 --> 00:09:50,960 OK. 219 00:09:50,960 --> 00:09:57,000 >> Þannig að ég hef hér, minn framkvæmd fyrir gráðugur. 220 00:09:57,000 --> 00:10:01,430 Og á meðan mikið af ykkur skrifaði gráðugur í while lykkju form-- að 221 00:10:01,430 --> 00:10:04,890 er fullkomlega ásættanlegt leið til að gera it-- aðra leið til að gera það er að einfaldlega 222 00:10:04,890 --> 00:10:06,280 skipta í mátað. 223 00:10:06,280 --> 00:10:09,290 Því þá er hægt að hafa þinn gildi og þá hafa afganginn þinn. 224 00:10:09,290 --> 00:10:11,150 Og þá getur þú bara bæta það allt saman. 225 00:10:11,150 --> 00:10:13,390 Er röksemdafærsla sem ég er að gera hér skynsamleg fyrir alla, 226 00:10:13,390 --> 00:10:14,117 áður en við byrjum? 227 00:10:14,117 --> 00:10:16,760 228 00:10:16,760 --> 00:10:17,980 Eiginlega? 229 00:10:17,980 --> 00:10:18,710 Cool. 230 00:10:18,710 --> 00:10:19,210 Great. 231 00:10:19,210 --> 00:10:21,290 Það er ansi kynþokkafullur stykki af kóða, myndi ég segja. 232 00:10:21,290 --> 00:10:23,502 Eins og ég sagði, David, í fyrirlestur, eftir smá stund, 233 00:10:23,502 --> 00:10:25,960 þú munt alla byrja að sjá kóða sem eitthvað sem er fallegt. 234 00:10:25,960 --> 00:10:29,950 Og stundum þegar þú sérð fallegt númer, það er svo dásamleg tilfinning. 235 00:10:29,950 --> 00:10:35,410 >> Svo þó, meðan þetta númer er mjög falleg, er það ekki vinna almennilega. 236 00:10:35,410 --> 00:10:37,750 Svo skulum hlaupa check50 á þetta. 237 00:10:37,750 --> 00:10:39,440 Athugaðu 50 20-- OOP. 238 00:10:39,440 --> 00:10:43,221 239 00:10:43,221 --> 00:10:43,720 2? 240 00:10:43,720 --> 00:10:44,990 Er það pset2? 241 00:10:44,990 --> 00:10:46,870 Já. 242 00:10:46,870 --> 00:10:47,520 Oh, pset1. 243 00:10:47,520 --> 00:10:50,970 244 00:10:50,970 --> 00:10:52,890 OK. 245 00:10:52,890 --> 00:10:53,900 Svo við hlaupum check50. 246 00:10:53,900 --> 00:11:01,550 247 00:11:01,550 --> 00:11:07,170 >> Og eins og þú krakkar geta sjá hér, það er galli nokkra tilvikum. 248 00:11:07,170 --> 00:11:10,165 Og fyrir sumir af þú, í Auðvitað á að gera vandamál setur þína, 249 00:11:10,165 --> 00:11:11,110 þú ert eins og, Ah, hvers vegna er það ekki að virka. 250 00:11:11,110 --> 00:11:13,318 Hvers vegna er það að vinna fyrir sumir gildi en ekki fyrir aðra? 251 00:11:13,318 --> 00:11:17,760 Jæja, GDB er að fara að hjálpa þér að reikna út hvers vegna þessir inntak voru ekki að virka. 252 00:11:17,760 --> 00:11:18,320 >> OK. 253 00:11:18,320 --> 00:11:21,640 Svo skulum sjá, einn af eftirlit ég var galli í check50 254 00:11:21,640 --> 00:11:24,920 var inntak gildi 0.41. 255 00:11:24,920 --> 00:11:27,830 Svo rétt svar sem þú ættir að vera að fá er 4. 256 00:11:27,830 --> 00:11:33,090 En í staðinn það sem ég er að prenta út er 3-N, þar sem er ekki rétt. 257 00:11:33,090 --> 00:11:36,190 Svo skulum hlaupa bara þetta með höndunum, bara ganga úr skugga um að check50 er að vinna. 258 00:11:36,190 --> 00:11:36,940 Gerum ./greedy. 259 00:11:36,940 --> 00:11:40,130 260 00:11:40,130 --> 00:11:43,340 Oops, ég verð að gera gráðugur. 261 00:11:43,340 --> 00:11:43,840 Það sem við förum. 262 00:11:43,840 --> 00:11:44,381 Nú ./greedy. 263 00:11:44,381 --> 00:11:46,950 264 00:11:46,950 --> 00:11:47,670 >> Hversu mikið er skuldaði? 265 00:11:47,670 --> 00:11:49,550 Gerum 0,41. 266 00:11:49,550 --> 00:11:52,590 Og Já, sjáum við hér að það er outputting 3 267 00:11:52,590 --> 00:11:55,160 þegar rétt svar, í raun ætti að vera 4. 268 00:11:55,160 --> 00:12:01,460 Svo skulum slá GDB og sjá hvernig við getur farið um að ákveða þetta vandamál. 269 00:12:01,460 --> 00:12:03,992 >> Svo fyrsta skrefið í alltaf kembiforrit kóða 270 00:12:03,992 --> 00:12:05,950 er að setja breakpoint, eða benda á sem þú 271 00:12:05,950 --> 00:12:09,079 vilt tölvuna eða aflúsara að byrja að horfa á. 272 00:12:09,079 --> 00:12:11,120 Svo ef þú ert ekki í raun vita hvað vandamálið er, 273 00:12:11,120 --> 00:12:14,670 yfirleitt, dæmigerður hlutur sem við viljum gera er að setja breakpoint okkar á main. 274 00:12:14,670 --> 00:12:18,520 Svo ef þú krakkar geta séð þetta rauður hnappur þarna, 275 00:12:18,520 --> 00:12:22,860 Já, það var mér að setja a breakpoint fyrir the aðalæð virka. 276 00:12:22,860 --> 00:12:24,130 Ég smelli sem. 277 00:12:24,130 --> 00:12:26,130 >> Og þá get ég farið upp í Kemba hnappinn minn. 278 00:12:26,130 --> 00:12:27,036 Ég lenti þessi hnappur. 279 00:12:27,036 --> 00:12:31,710 280 00:12:31,710 --> 00:12:36,555 Leyfðu mér að súmma út aftur ef ég get. 281 00:12:36,555 --> 00:12:38,020 Það sem við förum. 282 00:12:38,020 --> 00:12:40,730 Þannig að við höfum, hér, a pallborð á hægri. 283 00:12:40,730 --> 00:12:43,680 Fyrirgefðu, krakkar í bak, þú geta í raun ekki séð mjög vel. 284 00:12:43,680 --> 00:12:49,090 En í raun, allt þessi réttur spjaldið er að gera 285 00:12:49,090 --> 00:12:53,130 er að halda utan um bæði lögð áhersla lína, sem er lína af kóða 286 00:12:53,130 --> 00:12:56,640 að tölvan er í gangi, eins og allar breytur þínar 287 00:12:56,640 --> 00:12:57,600 niður hér. 288 00:12:57,600 --> 00:13:00,487 >> Svo þú hefur fengið sent, mynt, n, allt sagt mismunandi hluti 289 00:13:00,487 --> 00:13:01,070 á þessu stigi. 290 00:13:01,070 --> 00:13:04,850 Engar áhyggjur, vegna þess að við höfum í raun ekki frumstilla þá til hvaða breytur enn. 291 00:13:04,850 --> 00:13:07,200 Svo í tölvunni, þinn tölva er bara að sjá, 292 00:13:07,200 --> 00:13:14,376 ó, 32767 var síðast notaður virka þess minni pláss í tölvunni minni. 293 00:13:14,376 --> 00:13:16,000 Og svo er það þar sent nú er. 294 00:13:16,000 --> 00:13:19,360 En engin að þegar þú keyrir kóðann, það ætti að verða forsniðin. 295 00:13:19,360 --> 00:13:24,110 >> Svo skulum við fara í gegnum, línu lína, hvað er að gerast hér. 296 00:13:24,110 --> 00:13:25,350 OK. 297 00:13:25,350 --> 00:13:29,400 Svo hér eru þrír hnappar sem ég útskýrði bara. 298 00:13:29,400 --> 00:13:34,090 Þú ert að spila, eða Run virka, hnappinn, hefur þú stíga yfir hnappinn, 299 00:13:34,090 --> 00:13:36,600 og þú ert líka Skref í hnappinn. 300 00:13:36,600 --> 00:13:41,260 Og í raun, allir þrír af þá fara bara í gegnum kóðann þinn 301 00:13:41,260 --> 00:13:42,690 og gera mismunandi hluti. 302 00:13:42,690 --> 00:13:45,680 >> Svo yfirleitt, þegar þú ert kembiforrit, við viljum ekki bara högg spila, 303 00:13:45,680 --> 00:13:47,930 því Spila mun bara hlaupa númerið þitt til að í lok þess. 304 00:13:47,930 --> 00:13:49,070 Og þá munt þú í raun ekki vita hvað vandamálið 305 00:13:49,070 --> 00:13:51,432 er nema þú setja margar rofstaði. 306 00:13:51,432 --> 00:13:53,890 Ef þú stillir margar Rofstaðir, það verður bara sjálfkrafa 307 00:13:53,890 --> 00:13:56,030 hlaupa frá einum breakpoint, til annars, til the næstur. 308 00:13:56,030 --> 00:13:58,030 En í þessu tilfelli erum við höfum bara að ein, vegna þess að við 309 00:13:58,030 --> 00:13:59,970 langar að vinna okkur frá toppi niður í botn. 310 00:13:59,970 --> 00:14:04,830 Þannig að við erum að fara að hunsa þessi hnappur núna vegna þessarar áætlunar. 311 00:14:04,830 --> 00:14:08,230 >> Þannig að stíga yfir virka bara skref á hverjum einasta lína 312 00:14:08,230 --> 00:14:11,510 og segir þér hvað tölvan er að gera. 313 00:14:11,510 --> 00:14:14,630 The Skref í aðgerð fer í raun virka 314 00:14:14,630 --> 00:14:16,000 það er á línu af kóða. 315 00:14:16,000 --> 00:14:19,070 Svo til dæmis, eins og printf (), sem er fall, ekki satt? 316 00:14:19,070 --> 00:14:21,980 Ef ég vildi að líkamlega skref í printf () virka, 317 00:14:21,980 --> 00:14:25,610 Ég myndi reyndar fara í stykki af Póstnúmer þar printf () var skrifað og sjá 318 00:14:25,610 --> 00:14:26,730 hvað er að gerast þar. 319 00:14:26,730 --> 00:14:29,924 >> En yfirleitt, gerum við ráð fyrir kóðinn sem við gefum þér virkar. 320 00:14:29,924 --> 00:14:31,340 Við gerum ráð fyrir að printf () er að vinna. 321 00:14:31,340 --> 00:14:33,170 Við gerum ráð fyrir að GetInt () er að vinna. 322 00:14:33,170 --> 00:14:35,170 Þannig að það er engin þörf á að stíga inn í þeim störfum. 323 00:14:35,170 --> 00:14:37,170 En ef það er aðgerðir sem þú skrifar sjálfur 324 00:14:37,170 --> 00:14:39,060 sem þú vilt að athuga hvað er að gerast, 325 00:14:39,060 --> 00:14:41,200 þú vilt að stíga inn í þessi virka. 326 00:14:41,200 --> 00:14:43,940 >> Svo núna erum við bara að fara að stíga yfir þessu stykki af kóða. 327 00:14:43,940 --> 00:14:44,485 Svo skulum sjá. 328 00:14:44,485 --> 00:14:46,547 Oh, prenta, "ó Hai, hvernig miklar breytingar er skuldaði? " 329 00:14:46,547 --> 00:14:47,130 Við sama. 330 00:14:47,130 --> 00:14:49,830 Við vitum að er að vinna, svo við stíga yfir það. 331 00:14:49,830 --> 00:14:53,290 >> Svo n, sem er fljóta okkar sem við höfum initialized-- eða declared-- 332 00:14:53,290 --> 00:14:56,810 upp á toppinn, við erum nú jafna sem að GetFloat (). 333 00:14:56,810 --> 00:14:57,810 Svo skulum stíga yfir það. 334 00:14:57,810 --> 00:14:59,580 Og við sjáum í því botn hér, the program 335 00:14:59,580 --> 00:15:03,360 er vekur mig til inntak gildi. 336 00:15:03,360 --> 00:15:08,580 Svo skulum inntak gildi sem við viljum til að prófa hér, sem er 0,41. 337 00:15:08,580 --> 00:15:09,160 Great. 338 00:15:09,160 --> 00:15:12,780 >> Svo nú n- gera þú krakkar sjá Hér á bottom-- það er 339 00:15:12,780 --> 00:15:15,140 stored-- vegna þess að við hefur ekki ávalar enn, það er 340 00:15:15,140 --> 00:15:19,540 geymd í þessum eins risastór fljóta sem er ,4099999996, 341 00:15:19,540 --> 00:15:22,550 sem er nógu nálægt til okkar tilgangi, núna, að 0.41. 342 00:15:22,550 --> 00:15:26,090 Og þá munum við sjá síðar, eins og við áfram stepping yfir áætlun, 343 00:15:26,090 --> 00:15:29,850 eftir hér, n hefur orðið hringlaga og sent hefur orðið 41. 344 00:15:29,850 --> 00:15:30,350 Great. 345 00:15:30,350 --> 00:15:32,230 Þannig að við vitum að vinna námundun okkar. 346 00:15:32,230 --> 00:15:34,700 Við vitum að við höfum réttan fjölda sent, 347 00:15:34,700 --> 00:15:36,990 þannig að við vitum að það er í raun ekki vandamálið. 348 00:15:36,990 --> 00:15:40,050 >> Svo við höldum áfram stepping á í þessari áætlun. 349 00:15:40,050 --> 00:15:40,900 Við förum hér. 350 00:15:40,900 --> 00:15:46,139 Og svo eftir þessari línu af kóða, við ætti að vita hversu margir fjórðu við höfum. 351 00:15:46,139 --> 00:15:46,680 Við stíga yfir. 352 00:15:46,680 --> 00:15:52,040 Og þú sérð að við, í raun, að hafa einn fjórðungur af því að við höfum dregið 25 353 00:15:52,040 --> 00:15:53,790 frá upphafsgildi okkar 41. 354 00:15:53,790 --> 00:15:55,890 Og við höfum 16 vinstri sent okkar. 355 00:15:55,890 --> 00:15:58,830 >> Þurfa allir að skilja hvernig forritið er stepping gegnum 356 00:15:58,830 --> 00:16:02,980 og hvers vegna sent hefur nú orðið 16 og hvers vegna, nú, mynt hefur orðið 1? 357 00:16:02,980 --> 00:16:04,610 Er allir eftir að rökfræði? 358 00:16:04,610 --> 00:16:05,110 Cool. 359 00:16:05,110 --> 00:16:07,860 Svo eins og með þessum tímapunkti, vinna forritsins, ekki satt? 360 00:16:07,860 --> 00:16:09,797 Við vitum að það er að gera nákvæmlega það sem við viljum það til. 361 00:16:09,797 --> 00:16:11,880 Og við gerðum í raun ekki að prenta út, ó, hvað 362 00:16:11,880 --> 00:16:14,430 er sent á þessum tímapunkti, hvað er mynt á þessum tímapunkti. 363 00:16:14,430 --> 00:16:17,170 >> Við höldum áfram að fara í gegnum kerfið. 364 00:16:17,170 --> 00:16:18,100 Stíga yfir. 365 00:16:18,100 --> 00:16:18,620 Cool. 366 00:16:18,620 --> 00:16:19,700 Við förum yfir dimes. 367 00:16:19,700 --> 00:16:20,200 Great. 368 00:16:20,200 --> 00:16:22,367 Við sjáum að það er tekið burt $ 0,10 fyrir a dime. 369 00:16:22,367 --> 00:16:23,450 Og nú höfum við tvær mynt. 370 00:16:23,450 --> 00:16:25,260 Það er rétt. 371 00:16:25,260 --> 00:16:31,555 >> Við förum yfir smáaurarnir og við sjáum sem við höfum fengið afgangs sent. 372 00:16:31,555 --> 00:16:32,680 Hmm, það er undarlegt. 373 00:16:32,680 --> 00:16:37,540 Upp hér á dagskrá, ég átti hafa dregið smáaurarnir mína. 374 00:16:37,540 --> 00:16:39,400 Kannski var ég bara ekki gera þessi lína rétt. 375 00:16:39,400 --> 00:16:42,190 Og því miður, getur þú séð hér, vegna þess að við vitum 376 00:16:42,190 --> 00:16:44,360 að við erum stepping í gegnum línur 32 og 33, 377 00:16:44,360 --> 00:16:50,560 það er þar sem áætlun okkar illa hafði breytur hlaupa. 378 00:16:50,560 --> 00:16:55,136 Svo við getum líta og sjá, ó, Ég er að draga sent hér, 379 00:16:55,136 --> 00:16:57,010 en ég er í raun ekki bæta við peningi gildi minn. 380 00:16:57,010 --> 00:16:57,860 Ég ætla að bæta við sent. 381 00:16:57,860 --> 00:17:00,234 Og ég vil ekki að bæta við sent, ég vil bæta við mynt. 382 00:17:00,234 --> 00:17:05,420 Þannig að ef við breyta því að mynt, við höfum fengið starfsáætlun. 383 00:17:05,420 --> 00:17:06,730 Ég get keyrt check50. 384 00:17:06,730 --> 00:17:11,063 Þú getur bara að hætta í GDB hægri hér og þá hlaupa check50 aftur. 385 00:17:11,063 --> 00:17:11,938 Ég gæti bara gert þetta. 386 00:17:11,938 --> 00:17:14,822 387 00:17:14,822 --> 00:17:18,480 Ég verð að gera gráðugur. 388 00:17:18,480 --> 00:17:19,940 0,41. 389 00:17:19,940 --> 00:17:22,819 Og hér er það prentun út rétt svar. 390 00:17:22,819 --> 00:17:26,569 >> Svo eins og þú krakkar geta sjá, GDB er mjög öflugt tæki 391 00:17:26,569 --> 00:17:29,940 þegar við höfum svo mikið númer að fara á og svo margir breytur 392 00:17:29,940 --> 00:17:32,510 að það er erfitt fyrir okkur, sem manna, að halda utan um. 393 00:17:32,510 --> 00:17:35,360 The tölva í gdb aflúsara, hefur getu 394 00:17:35,360 --> 00:17:37,020 til að halda utan um allt. 395 00:17:37,020 --> 00:17:40,480 Ég veit, í Visionaire, strákar líklega gæti hafa högg sumir markhópa galla 396 00:17:40,480 --> 00:17:43,150 vegna þess að þú varst að keyra út af mörk array þinn. 397 00:17:43,150 --> 00:17:46,510 Í dæminu um keisarans, sem er nákvæmlega það sem ég hef innleitt hér. 398 00:17:46,510 --> 00:17:50,060 >> Svo ég gleymdi að athuga hvað myndi gerast ef ég 399 00:17:50,060 --> 00:17:52,510 ekki hafa tvær viðföng. 400 00:17:52,510 --> 00:17:53,880 Ég bara vissi ekki að setja í þá skefjum. 401 00:17:53,880 --> 00:17:57,380 Og svo ef ég hlaupa Debug-- ég setti rofstaður mín að rétt þar. 402 00:17:57,380 --> 00:17:58,055 Ég keyrt Debug. 403 00:17:58,055 --> 00:18:15,880 404 00:18:15,880 --> 00:18:16,550 >> OK. 405 00:18:16,550 --> 00:18:17,050 Já. 406 00:18:17,050 --> 00:18:20,350 Svo í raun, GDB átti að hafa sagt mér það 407 00:18:20,350 --> 00:18:22,300 var skiptingu kenna það. 408 00:18:22,300 --> 00:18:24,883 Ég veit ekki hvað var í gangi þarna, en þegar ég hljóp það, 409 00:18:24,883 --> 00:18:25,590 það var að vinna. 410 00:18:25,590 --> 00:18:29,410 Þegar þú keyrir línur af kóða gegnum og GDB gæti bara skyndilega hætta á þig, 411 00:18:29,410 --> 00:18:31,540 fara upp og skoða hvað rauða villa er. 412 00:18:31,540 --> 00:18:33,930 Það mun segja þér, hey, þú hafði skiptingu kenna, 413 00:18:33,930 --> 00:18:38,550 sem þýðir að þú reyndir að opna pláss í array sem eru ekki til staðar. 414 00:18:38,550 --> 00:18:39,050 Já. 415 00:18:39,050 --> 00:18:43,280 >> Svo í næsta vandamál setja í þessari viku, þú krakkar 416 00:18:43,280 --> 00:18:45,600 mun líklega hafa a einhver fjöldi af breytur fljótandi í kring. 417 00:18:45,600 --> 00:18:48,560 Þú ert ekki að fara að vera viss um hvað þeir meina á ákveðnum stað. 418 00:18:48,560 --> 00:18:53,560 Svo GDB mun virkilega hjálpa þér í vangaveltur hvað þeir eru allir jafngildir 419 00:18:53,560 --> 00:18:55,940 og vera fær um að sjá að sjónrænt. 420 00:18:55,940 --> 00:19:01,995 Er einhver rugla um hvernig einhverju sem var að vinna? 421 00:19:01,995 --> 00:19:02,495 Cool. 422 00:19:02,495 --> 00:19:10,121 423 00:19:10,121 --> 00:19:10,620 Allt í lagi. 424 00:19:10,620 --> 00:19:14,260 Svo eftir það, við erum að fara að kafa rétt 425 00:19:14,260 --> 00:19:17,562 inn eru fjórar mismunandi tegundir konar fyrir þessa viku. 426 00:19:17,562 --> 00:19:19,520 Hversu margir af þú, fyrst af öllu, áður en við byrjum, 427 00:19:19,520 --> 00:19:23,020 hafa lesið alla sérstakur fyrir pset3? 428 00:19:23,020 --> 00:19:23,824 OK. 429 00:19:23,824 --> 00:19:24,740 Ég er stoltur af ykkur. 430 00:19:24,740 --> 00:19:29,110 Það er eins og helmingur af bekknum, sem er mun meiri en í síðasta sinn. 431 00:19:29,110 --> 00:19:33,950 >> Svo er það mikill, vegna þess að þegar við tölum um innihald 432 00:19:33,950 --> 00:19:36,170 í lecture-- eða hryggur, í section-- Mér finnst 433 00:19:36,170 --> 00:19:38,210 að tengja mikið af því aftur til hvað pset er 434 00:19:38,210 --> 00:19:40,210 og hvernig þú vilt að framkvæma það í pset þinn. 435 00:19:40,210 --> 00:19:42,400 Svo ef þú kemur með lesa sérstakur, verður það 436 00:19:42,400 --> 00:19:45,510 vera mun auðveldara fyrir þig að skilja hvað ég er að tala um þegar ég segi, 437 00:19:45,510 --> 00:19:48,720 ó hey, þetta gæti verið mjög góður staður til að framkvæma þessa tegund. 438 00:19:48,720 --> 00:19:52,870 Svo þeir sem hafa lesið Sérstakur veit að sem hluti af pset þinn, 439 00:19:52,870 --> 00:19:54,900 þú ert að fara að þurfa að skrifa tegund tagi. 440 00:19:54,900 --> 00:19:58,670 Þannig að þetta getur verið mjög gagnlegt fyrir mikið af þér í dag. 441 00:19:58,670 --> 00:20:01,760 >> Þannig að við munum byrjun burt við, í raun, the einfaldur tegund 442 00:20:01,760 --> 00:20:04,580 af tegund, val tegund. 443 00:20:04,580 --> 00:20:06,800 The dæmigerður reiknirit fyrir hvernig við myndum fara um þetta 444 00:20:06,800 --> 00:20:10,460 is-- David fór í gegnum þetta allt í fyrirlestur, svo ég ætla að fara hratt eftir 445 00:20:10,460 --> 00:20:13,900 here-- er í raun, þú hafa fjölbreytta gildi. 446 00:20:13,900 --> 00:20:17,170 Og þá þú finnur Minnsta Óflokkaður gildi 447 00:20:17,170 --> 00:20:20,200 og þú skipta þessi gildi með fyrsta Óflokkaður gildi. 448 00:20:20,200 --> 00:20:22,700 Og þá er að halda bara að endurtaka með the hvíla af listanum þínum. 449 00:20:22,700 --> 00:20:25,740 >> Og hér er sjón skýring um hvernig það myndi vinna. 450 00:20:25,740 --> 00:20:30,460 Svo til dæmis, ef við vorum að byrja með fjölda fimm þætti, vísitölu 451 00:20:30,460 --> 00:20:35,910 0 til 4, með 3, 5, 2, 6, og 4 gildi sett í array-- svo núna, 452 00:20:35,910 --> 00:20:38,530 við erum bara að fara að gera ráð að þeir eru allir Óflokkaður 453 00:20:38,530 --> 00:20:41,130 vegna þess að við höfum ekki prófað annað. 454 00:20:41,130 --> 00:20:44,130 >> Svo hvernig úrval konar myndi vinna er að það myndi fyrst 455 00:20:44,130 --> 00:20:46,800 hlaupa í gegnum heild af óflokkaðs fylkisins. 456 00:20:46,800 --> 00:20:49,120 Það myndi ná fram lægsta gildi. 457 00:20:49,120 --> 00:20:51,750 Í þessu tilfelli, 3, rétt nú, er minnsti. 458 00:20:51,750 --> 00:20:52,680 Það fær til 5. 459 00:20:52,680 --> 00:20:55,620 Nei, 5 er ekki meiri than-- eða leitt, er ekki minna than-- 3. 460 00:20:55,620 --> 00:20:57,779 Svo er enn 3 lágmarks gildi. 461 00:20:57,779 --> 00:20:58,695 Og þá færðu 2. 462 00:20:58,695 --> 00:21:00,990 Tölvan sér, ó, 2 er minna en 3. 463 00:21:00,990 --> 00:21:02,750 2 verður nú að vera lágmarks gildi. 464 00:21:02,750 --> 00:21:06,630 Og svo 2 skiptasamninga með því fyrsta gildi. 465 00:21:06,630 --> 00:21:10,702 >> Svo eftir einni yfirferð, við sjáum örugglega að 2 og 3 eru skipti. 466 00:21:10,702 --> 00:21:13,910 Og við erum bara að fara að halda áfram að gera þetta aftur með the hvíla af the array. 467 00:21:13,910 --> 00:21:17,660 Þannig að við erum að fara að bara hlaupa í gegnum síðustu fjórar Vísitölur fylkisins. 468 00:21:17,660 --> 00:21:20,670 Við munum sjá að 3 er næsta lágmarks gildi. 469 00:21:20,670 --> 00:21:23,240 Þannig að við erum að fara að skipta því með 4. 470 00:21:23,240 --> 00:21:26,900 Og þá erum við bara að fara að halda gangi í gegnum þar til að lokum, þú 471 00:21:26,900 --> 00:21:33,730 fá að raðaða array sem 2, 3, 4, 5, og 6 eru allir flokkuð. 472 00:21:33,730 --> 00:21:37,530 Þurfa allir að skilja rökfræði um hvernig val konar virkar? 473 00:21:37,530 --> 00:21:39,669 >> Þú verður bara einhvers konar af lágmarksgildi. 474 00:21:39,669 --> 00:21:41,210 Þú ert að halda utan um hvað sem er. 475 00:21:41,210 --> 00:21:45,170 Og þegar þú finnur það, skipta þér það með fyrsta gildi í array-- 476 00:21:45,170 --> 00:21:48,740 eða, ekki í fyrsta value-- næsta stak fylkisins. 477 00:21:48,740 --> 00:21:50,150 Cool. 478 00:21:50,150 --> 00:21:55,460 >> Svo eins og þið konar sá frá stuttri innsýn, 479 00:21:55,460 --> 00:21:58,450 við erum að fara að sauðakóðanum þetta út. 480 00:21:58,450 --> 00:22:02,510 Svo ef þið á bak vilt mynda hóp, allir í töflu 481 00:22:02,510 --> 00:22:06,170 getur myndað smá félagi, ég ætla að gefa ykkur eins þrjár mínútur 482 00:22:06,170 --> 00:22:08,190 að bara tala um röksemdafærsla, á ensku, 483 00:22:08,190 --> 00:22:14,161 um hvernig við gætum vera fær um að framkvæma sauðakóðanum að skrifa val konar. 484 00:22:14,161 --> 00:22:14,910 Og það er nammi. 485 00:22:14,910 --> 00:22:16,118 Vinsamlegast komið upp og fá nammi. 486 00:22:16,118 --> 00:22:19,520 Ef þú ert í bak og þú vilt nammi, get ég kasta nammi á þig. 487 00:22:19,520 --> 00:22:22,850 Reyndar gera you-- kaldur. 488 00:22:22,850 --> 00:22:23,552 Ó fyrirgefðu. 489 00:22:23,552 --> 00:22:26,751 490 00:22:26,751 --> 00:22:27,250 OK. 491 00:22:27,250 --> 00:25:23,880 492 00:25:23,880 --> 00:25:27,140 >> Þannig að ef við viljum, eins og flokki, skrifa sauðakóðanum 493 00:25:27,140 --> 00:25:30,466 fyrir hvernig við gætum nálgast þetta vandamál, bara ekki hika. 494 00:25:30,466 --> 00:25:32,340 Ég ætla bara að fara í kring og í því skyni, að spyrja hópa 495 00:25:32,340 --> 00:25:35,065 fyrir næstu línu hvað við ættum að gera. 496 00:25:35,065 --> 00:25:37,840 Svo ef þú krakkar vilja til að byrja burt, hvað er það fyrsta sem 497 00:25:37,840 --> 00:25:40,600 að gera þegar þú ert að reyna að innleiða leið til að leysa þetta forrit 498 00:25:40,600 --> 00:25:43,480 að vali raða lista? 499 00:25:43,480 --> 00:25:46,349 Við skulum bara gera ráð vér hafa array, allt í lagi? 500 00:25:46,349 --> 00:25:49,088 >> Áhorfendur: Þú vilt að búa til sumir konar [inaudible] að þú ert 501 00:25:49,088 --> 00:25:50,420 gangi í gegnum allt array þinn. 502 00:25:50,420 --> 00:25:51,128 >> ANDI Peng: Hægri. 503 00:25:51,128 --> 00:25:54,100 Svo þú ert að fara að vilja til að árétta í gegnum alla rúm, ekki satt? 504 00:25:54,100 --> 00:26:05,490 Svo, frábært. 505 00:26:05,490 --> 00:26:08,600 Ef þú krakkar vilja til að gefa mér sem næsta line-- já, í bakinu. 506 00:26:08,600 --> 00:26:11,414 507 00:26:11,414 --> 00:26:13,290 >> Áhorfendur: Stöðva þá allt fyrir minnstu. 508 00:26:13,290 --> 00:26:14,248 >> ANDI Peng: Það sem við förum. 509 00:26:14,248 --> 00:26:17,438 Þannig að við viljum fara í gegnum og athugaðu sjá hvað er lægsta gildið, ekki satt? 510 00:26:17,438 --> 00:26:22,110 511 00:26:22,110 --> 00:26:24,840 Ég ætla að skammstafa það að "mín". 512 00:26:24,840 --> 00:26:27,658 Hvað þú krakkar vilja til að gera eftir þú hefur fundið lágmarks gildi? 513 00:26:27,658 --> 00:26:28,533 >> Áhorfendur: [inaudible] 514 00:26:28,533 --> 00:26:29,942 515 00:26:29,942 --> 00:26:33,150 ANDI Peng: Svo þú ert að fara til að vilja skipta um það með fyrsta því fylki, 516 00:26:33,150 --> 00:26:33,650 ekki satt? 517 00:26:33,650 --> 00:26:45,120 518 00:26:45,120 --> 00:26:46,850 Það er byrjunin, ég ætla að segja. 519 00:26:46,850 --> 00:26:47,220 Allt í lagi. 520 00:26:47,220 --> 00:26:50,386 Svo nú að þú hafir skipti fyrst einn, hvað þú vilt gera eftir það? 521 00:26:50,386 --> 00:26:54,840 Svo nú vitum við að þetta hér verður að vera minnsti gildi, ekki satt? 522 00:26:54,840 --> 00:26:58,310 Síðan sem þú ert með fleiri hvíld fylkisins sem er Óflokkaður. 523 00:26:58,310 --> 00:27:01,569 Það sem þú vilt að gera hér, ef þú krakkar vilja til að gefa mér næstu línu? 524 00:27:01,569 --> 00:27:04,610 Áhorfendur: Svo þá þú vilt að árétta í gegnum restina af fylkisins. 525 00:27:04,610 --> 00:27:05,276 ANDI Peng: Já. 526 00:27:05,276 --> 00:27:09,857 Og svo hvað er iterating gegnum konar skyn að við munum líklega þurfa? 527 00:27:09,857 --> 00:27:10,440 Hvaða tegund of-- 528 00:27:10,440 --> 00:27:12,057 >> Áhorfendur: Oh, til viðbótar breyta? 529 00:27:12,057 --> 00:27:13,890 ANDI Peng: Sennilega annar fyrir lykkju, ekki satt? 530 00:27:13,890 --> 00:27:28,914 Þannig að við erum líklega að fara að vilja að iterate through-- mikill. 531 00:27:28,914 --> 00:27:31,830 Og þá þú ert að fara að fara aftur og sennilega athuga lágmarki aftur, 532 00:27:31,830 --> 00:27:32,100 ekki satt? 533 00:27:32,100 --> 00:27:34,975 Og þú ert að fara að halda að endurtaka þetta, því lykkjur bara að fara 534 00:27:34,975 --> 00:27:36,010 að halda í gangi, ekki satt? 535 00:27:36,010 --> 00:27:39,190 >> Svo eins og þú krakkar geta sjá, við bara almennt sauðakóðanum 536 00:27:39,190 --> 00:27:41,480 um hvernig við viljum þetta forrit til að líta. 537 00:27:41,480 --> 00:27:46,646 Þetta kunnugt hér, hvað við þarf yfirleitt að skrifa í númerið okkar 538 00:27:46,646 --> 00:27:49,270 ef við viljum árétta gegnum array, hvaða tegund af uppbyggingu? 539 00:27:49,270 --> 00:27:51,030 Ég held Christabel þegar sagt þetta áður. 540 00:27:51,030 --> 00:27:51,500 >> Áhorfendur: A til hliðar. 541 00:27:51,500 --> 00:27:52,160 >> ANDI Peng: A fyrir lykkju? 542 00:27:52,160 --> 00:27:52,770 Nákvæmlega. 543 00:27:52,770 --> 00:27:56,060 Svo er þetta líklega að fara að vera til hliðar. 544 00:27:56,060 --> 00:27:59,240 Hvað er ávísun hér að fara að kynna? 545 00:27:59,240 --> 00:28:02,536 Venjulega, ef þú vilt að athuga ef eitthvað er eitthvað else-- 546 00:28:02,536 --> 00:28:03,270 >> Áhorfendur: Ef. 547 00:28:03,270 --> 00:28:06,790 >> ANDI Peng: An ef, ekki satt? 548 00:28:06,790 --> 00:28:10,790 Og þá skipti hér, við munum fara yfir seinna, því Davíð 549 00:28:10,790 --> 00:28:12,770 fór í gegnum það í fyrirlestri eins og heilbrigður. 550 00:28:12,770 --> 00:28:14,580 Og þá seinni árétta implies-- 551 00:28:14,580 --> 00:28:15,120 >> Áhorfendur: Annar fyrir lykkju. 552 00:28:15,120 --> 00:28:16,745 >> ANDI Peng: --another fyrir lykkju, nákvæmlega. 553 00:28:16,745 --> 00:28:19,870 554 00:28:19,870 --> 00:28:22,000 Þannig að ef við erum að leita á þetta rétt, við 555 00:28:22,000 --> 00:28:24,680 er hægt að sjá að við erum líklega að fara að þurfa a hreiður fyrir lykkju 556 00:28:24,680 --> 00:28:28,330 skilyrt yfirlýsingu í það og þá er í raun stykki af kóða 557 00:28:28,330 --> 00:28:31,360 fara að skipta gildin. 558 00:28:31,360 --> 00:28:35,980 Þannig að ég hef bara almennt skrifað a sauðakóðanum kóða hér. 559 00:28:35,980 --> 00:28:38,910 Og þá erum við í raun að fara að líkamlega, sem tegund, 560 00:28:38,910 --> 00:28:40,700 reyna að innleiða þetta í dag. 561 00:28:40,700 --> 00:28:42,486 Við skulum fara aftur inn í þennan IDE. 562 00:28:42,486 --> 00:28:49,243 563 00:28:49,243 --> 00:28:50,230 >> Uh-ó. 564 00:28:50,230 --> 00:28:51,754 Hvers vegna er það not-- það sem það er. 565 00:28:51,754 --> 00:28:52,253 OK. 566 00:28:52,253 --> 00:28:55,834 567 00:28:55,834 --> 00:28:57,500 Því miður, láta mig reyna að stækka aðeins meira. 568 00:28:57,500 --> 00:28:59,310 Það sem við förum. 569 00:28:59,310 --> 00:29:05,060 Allt sem ég er að gera hér er að ég hef búið forrit sem heitir "Val / sort.c." 570 00:29:05,060 --> 00:29:10,860 Ég hef búið á fjölbreytta níu gildi, 4, 8, 2, 1, 6, 9, 7, 5, 3. 571 00:29:10,860 --> 00:29:14,370 Eins og er, eins og þú getur sjá, þeir eru óraðaða. 572 00:29:14,370 --> 00:29:17,880 n er að fara að vera númer sem segir þér hversu mikið af gildum 573 00:29:17,880 --> 00:29:18,920 þú þarft fylktu þinn. 574 00:29:18,920 --> 00:29:20,670 Í þessu tilviki, hafa níu gildi. 575 00:29:20,670 --> 00:29:23,760 Og ég hef bara fyrir lykkju hér sem prentar út óflokkuðu fylkisins. 576 00:29:23,760 --> 00:29:28,370 >> Og í lokin, ég hef líka fengið fyrir lykkja sem bara prentar það út aftur. 577 00:29:28,370 --> 00:29:32,070 Svo fræðilega, ef þetta forrit er að vinna rétt, í lok, 578 00:29:32,070 --> 00:29:35,670 þú ættir að sjá prentað fyrir lykkju þar sem 1, 2, 3, 4, 5, 6, 7, 8, 579 00:29:35,670 --> 00:29:39,310 9 eru rétt svo. 580 00:29:39,310 --> 00:29:43,410 >> Þannig að við höfum fengið sauðakóðanum okkar hér. 581 00:29:43,410 --> 00:29:46,090 Er einhver að vilja to-- Ég er bara að fara að fara að biðja um volunteers-- 582 00:29:46,090 --> 00:29:49,540 segðu mér nákvæmlega hvað ég á að slá ef við viljum að í fyrsta lagi bara árétta 583 00:29:49,540 --> 00:29:52,840 í gegnum í byrjun þessa array? 584 00:29:52,840 --> 00:29:55,204 Hvað er lína af kóða er ég líklega að fara að þurfa hér? 585 00:29:55,204 --> 00:29:56,990 >> Áhorfendur: [inaudible] 586 00:29:56,990 --> 00:29:59,010 >> ANDI Peng: Já, finnst frjáls to-- Því miður, þú 587 00:29:59,010 --> 00:30:02,318 þurfa ekki að standa tilfinningu up-- frjáls til að hækka rödd þína aðeins. 588 00:30:02,318 --> 00:30:08,190 >> Áhorfendur: Fyrir int i jafngildir 0-- 589 00:30:08,190 --> 00:30:10,690 >> ANDI Peng: Já, gott. 590 00:30:10,690 --> 00:30:15,220 >> Áhorfendur: i er minna en array lengd. 591 00:30:15,220 --> 00:30:19,630 >> ANDI Peng: Svo hafa í huga hér, vegna þess að við 592 00:30:19,630 --> 00:30:23,060 hafa ekki virka sem segir okkur að lengd af fjölda, 593 00:30:23,060 --> 00:30:25,790 Við höfum nú þegar gildi sem geymir það. 594 00:30:25,790 --> 00:30:27,920 Ekki satt? 595 00:30:27,920 --> 00:30:31,010 Annar hlutur til viðurværi í mind-- í fylki 596 00:30:31,010 --> 00:30:33,940 níu gildi, hvað eru vísitölur? 597 00:30:33,940 --> 00:30:38,720 Við skulum bara segja þetta array var 0 til 3. 598 00:30:38,720 --> 00:30:41,500 Þú sérð að síðasta Vísitala er í raun 3. 599 00:30:41,500 --> 00:30:45,530 Það er ekki 4, jafnvel þó að það er fjögur gildi í fylkinu. 600 00:30:45,530 --> 00:30:49,866 >> Svo hér, verðum við að vera mjög varkár af hvaða ástandi okkar fyrir lengd 601 00:30:49,866 --> 00:30:50,490 er að fara til vera. 602 00:30:50,490 --> 00:30:51,948 >> Áhorfendur: Væri ekki n mínus 1? 603 00:30:51,948 --> 00:30:54,440 ANDI Peng: Það er að fara n mínus 1, nákvæmlega. 604 00:30:54,440 --> 00:30:57,379 Er að skynsamleg, hvers vegna það er n mínus 1, allir? 605 00:30:57,379 --> 00:30:58,920 Það er vegna þess að fylki eru núll-verðtryggð. 606 00:30:58,920 --> 00:31:02,010 Þeir byrja á 0 og hlaupa upp til n mínus 1. 607 00:31:02,010 --> 00:31:03,210 Já, það er dálítið erfiður. 608 00:31:03,210 --> 00:31:03,730 OK. 609 00:31:03,730 --> 00:31:05,929 Og svo-- 610 00:31:05,929 --> 00:31:08,054 Áhorfendur: Isnt'1 að þegar gætt af þó, 611 00:31:08,054 --> 00:31:11,400 bara með því að ekki að segja "minna en eða jafn "og bara að segja" minna en? " 612 00:31:11,400 --> 00:31:13,108 >> ANDI Peng: Það er mjög góð spurning. 613 00:31:13,108 --> 00:31:13,630 Svo, já. 614 00:31:13,630 --> 00:31:17,410 En einnig, á þann hátt að við erum framkvæmd stöðva rétt, 615 00:31:17,410 --> 00:31:19,120 þú þarft að bera saman tvö gildi. 616 00:31:19,120 --> 00:31:21,009 Svo þú vilt í raun að yfirgefa "til" tóm. 617 00:31:21,009 --> 00:31:23,050 Því ef þú bera saman þetta, þú ert ekki að fara 618 00:31:23,050 --> 00:31:25,530 hafa neitt eftir það til að bera saman, ekki satt? 619 00:31:25,530 --> 00:31:27,460 Já. 620 00:31:27,460 --> 00:31:29,297 Svo ég ++. 621 00:31:29,297 --> 00:31:30,380 Við skulum bæta sviga okkar í. 622 00:31:30,380 --> 00:31:30,880 Úpps. 623 00:31:30,880 --> 00:31:33,950 624 00:31:33,950 --> 00:31:34,710 Great. 625 00:31:34,710 --> 00:31:39,117 Þannig að við höfum upphaf ytri lykkju okkar. 626 00:31:39,117 --> 00:31:41,450 Svo nú erum við sennilega vilja til búa til breytu fyrir því að halda 627 00:31:41,450 --> 00:31:43,085 utan um minnstu gildi, ekki satt? 628 00:31:43,085 --> 00:31:45,751 Er einhver vilja til að gefa mér sem lína af kóða sem myndi gera það? 629 00:31:45,751 --> 00:31:48,700 630 00:31:48,700 --> 00:31:53,570 Hvað þurfum við að ef við erum að fara að vilja geyma eitthvað? 631 00:31:53,570 --> 00:31:55,047 >> Hægri. 632 00:31:55,047 --> 00:31:57,630 Kannski betra nafn fyrir að myndi be-- "afleysingamanneskja" algerlega works-- 633 00:31:57,630 --> 00:32:00,655 kannski meira viðeigandi nefnd væri, ef við viljum minnstu value-- 634 00:32:00,655 --> 00:32:01,624 >> Áhorfendur: Min. 635 00:32:01,624 --> 00:32:02,790 ANDI Peng: mín, það sem við förum. 636 00:32:02,790 --> 00:32:05,230 mín væri gott. 637 00:32:05,230 --> 00:32:08,340 Og svo hér, hvað gerum við langar að frumstilla hana til? 638 00:32:08,340 --> 00:32:09,620 Þetta er dálítið erfiður. 639 00:32:09,620 --> 00:32:13,580 Vegna þess að núna á að upphaf þessu fylki, 640 00:32:13,580 --> 00:32:15,730 þú hefur ekki horft á neitt, ekki satt? 641 00:32:15,730 --> 00:32:19,200 Svo hvað, sjálfkrafa, ef við erum bara á ég jafngildir 0, 642 00:32:19,200 --> 00:32:22,302 hvað viljum við frumstilla Fyrsta lágmarks gildi okkar til? 643 00:32:22,302 --> 00:32:22,802 Áhorfendur: i. 644 00:32:22,802 --> 00:32:24,790 ANDI Peng: i, einmitt. 645 00:32:24,790 --> 00:32:27,040 Christabel, af hverju við viljum að frumstilla hana til i? 646 00:32:27,040 --> 00:32:28,510 >> Áhorfendur: Vegna þess, vel, við erum að byrja með 0. 647 00:32:28,510 --> 00:32:31,660 Svo vegna þess að við höfum ekkert að bera saman það að, lágmarks mun á endanum vera 0. 648 00:32:31,660 --> 00:32:32,451 >> ANDI Peng: Einmitt. 649 00:32:32,451 --> 00:32:34,400 Svo er hún einmitt rétt. 650 00:32:34,400 --> 00:32:36,780 Þar sem við höfum ekki í raun horfði á neitt ennþá, 651 00:32:36,780 --> 00:32:38,680 við vitum ekki hvað lágmark gildi okkar er. 652 00:32:38,680 --> 00:32:41,960 Við viljum bara frumstilla hana til i, sem nú, er hérna. 653 00:32:41,960 --> 00:32:44,750 Og við höldum áfram að færa niður þetta fylki, 654 00:32:44,750 --> 00:32:48,122 við munum sjá að, með hverjum viðbótar framhjá, ég þrepum. 655 00:32:48,122 --> 00:32:49,830 Og svo á þeim tímapunkti, Ég er líklega að fara 656 00:32:49,830 --> 00:32:52,329 að vilja vera lágmark, vegna þess að það er að fara að vera hvað sem 657 00:32:52,329 --> 00:32:54,520 er upphaf óflokkaðs fylkisins. 658 00:32:54,520 --> 00:32:55,270 Cool. 659 00:32:55,270 --> 00:32:58,720 >> Svo nú viljum við að bæta fyrir lykkju hér það er 660 00:32:58,720 --> 00:33:03,225 fara að iterate gegnum Óflokkaður, eða restin af þessu fylki. 661 00:33:03,225 --> 00:33:05,808 Er einhver vilja til að gefa mér lína af kóða sem myndi gera það? 662 00:33:05,808 --> 00:33:08,870 663 00:33:08,870 --> 00:33:11,330 Hint-- hvað við þurfum hérna? 664 00:33:11,330 --> 00:33:17,320 665 00:33:17,320 --> 00:33:18,820 Hvað er að fara að fara í þetta fyrir lykkju? 666 00:33:18,820 --> 00:33:19,465 Já. 667 00:33:19,465 --> 00:33:21,590 Áhorfendur: Svo við myndum vilja að hafa mismunandi heiltala, 668 00:33:21,590 --> 00:33:25,080 vegna þess að við erum að keyra í gegnum the hvíla fylkisins í stað i, svo kannski 669 00:33:25,080 --> 00:33:25,760 j. 670 00:33:25,760 --> 00:33:27,301 >> ANDI Peng: Já, J hljómar vel við mig. 671 00:33:27,301 --> 00:33:27,850 Jafnt? 672 00:33:27,850 --> 00:33:33,930 >> Áhorfendur: Svo væri i plús 1, vegna þess að þú ert að byrja á næsta gildi. 673 00:33:33,930 --> 00:33:40,395 Og síðan til end-- svo aftur, j er minna en n mínus 1, og þá j ++. 674 00:33:40,395 --> 00:33:41,103 ANDI Peng: Great. 675 00:33:41,103 --> 00:33:48,510 676 00:33:48,510 --> 00:33:52,750 >> Og þá í hér, við erum að fara til að vilja að athuga hvort ástand okkar er fullnægt, 677 00:33:52,750 --> 00:33:53,250 ekki satt? 678 00:33:53,250 --> 00:33:55,740 Þar sem þú vilt breyta lágmarks gildi 679 00:33:55,740 --> 00:33:58,700 ef það er í raun minni en það þú ert að bera saman það til, ekki satt? 680 00:33:58,700 --> 00:34:01,146 Svo hvað erum við að fara til að vilja hér? 681 00:34:01,146 --> 00:34:04,160 682 00:34:04,160 --> 00:34:04,897 Athugaðu að sjá. 683 00:34:04,897 --> 00:34:06,730 Hvaða tegund af yfirlýsingu við erum að fara líklega 684 00:34:06,730 --> 00:34:08,389 TI vilt nota ef við vilja til að athuga eitthvað? 685 00:34:08,389 --> 00:34:09,360 >> Áhorfendur: An ef yfirlýsingu. 686 00:34:09,360 --> 00:34:10,485 >> ANDI Peng: An ef staðhæfing. 687 00:34:10,485 --> 00:34:13,155 Svo if-- og hvað er að fara að vera ástand sem við viljum inni 688 00:34:13,155 --> 00:34:13,988 if yfirlýsingu okkar? 689 00:34:13,988 --> 00:34:18,255 690 00:34:18,255 --> 00:34:22,960 >> Áhorfendur: Ef verðmæti j er minna en verðmæti i-- 691 00:34:22,960 --> 00:34:24,600 >> ANDI Peng: Einmitt. 692 00:34:24,600 --> 00:34:27,480 Svo if-- svo þetta array er kallað "array". 693 00:34:27,480 --> 00:34:27,980 Great. 694 00:34:27,980 --> 00:34:30,465 Svo ef array-- hvað var það? 695 00:34:30,465 --> 00:34:31,090 Segja þetta aftur. 696 00:34:31,090 --> 00:34:39,590 >> Áhorfendur: Ef array-J er minni en array-i, þá myndum við breyta min. 697 00:34:39,590 --> 00:34:41,590 Svo mín væri j. 698 00:34:41,590 --> 00:34:44,590 699 00:34:44,590 --> 00:34:47,249 >> ANDI Peng: Er að skynsamleg? 700 00:34:47,249 --> 00:34:48,670 OK. 701 00:34:48,670 --> 00:34:52,929 Og nú hérna, reyndar við vilja til að framkvæma skipti, ekki satt? 702 00:34:52,929 --> 00:34:58,285 Svo muna, í fyrirlestri, sem David, þegar hann var að reyna að skipta the-- það var 703 00:34:58,285 --> 00:34:59,996 it-- appelsínusafa og milk-- 704 00:34:59,996 --> 00:35:01,150 >> Áhorfendur: Það var brúttó. 705 00:35:01,150 --> 00:35:02,816 >> ANDI Peng: Já, það var eins konar brúttó. 706 00:35:02,816 --> 00:35:05,310 En það var nokkuð góð Hugmyndin sýna tíma. 707 00:35:05,310 --> 00:35:08,430 Svo hugsa um gildum hér. 708 00:35:08,430 --> 00:35:10,794 Þú hefur fengið fjölda af mín, fylki af i, 709 00:35:10,794 --> 00:35:12,460 eða hvað við vorum að reyna að skipta hér. 710 00:35:12,460 --> 00:35:15,310 Og þú sennilega getur ekki hella þeim í hver öðrum á sama tíma, ekki satt? 711 00:35:15,310 --> 00:35:17,180 Svo hvað erum við að fara að þurfa að búa hér 712 00:35:17,180 --> 00:35:19,126 í því skyni að skipta um gildi rétt? 713 00:35:19,126 --> 00:35:19,820 >> Áhorfendur: Tímabundið breyta. 714 00:35:19,820 --> 00:35:21,370 >> ANDI Peng: Tímabundið breyta. 715 00:35:21,370 --> 00:35:22,570 Svo skulum gera Int afleysingamanneskja. 716 00:35:22,570 --> 00:35:25,681 Sjá, þetta myndi vera betri tími to-- whoa, hvað var það? 717 00:35:25,681 --> 00:35:26,180 OK. 718 00:35:26,180 --> 00:35:29,800 Þannig að þetta hefði verið betra kominn tími til að nefna breyta "afleysingamanneskja." 719 00:35:29,800 --> 00:35:30,730 Svo skulum gera Int afleysingamanneskja. 720 00:35:30,730 --> 00:35:32,563 Hvað erum við að fara að setja afleysingamanneskja jafnt hér? 721 00:35:32,563 --> 00:35:34,752 722 00:35:34,752 --> 00:35:35,335 Áhorfendur: Min? 723 00:35:35,335 --> 00:35:38,508 724 00:35:38,508 --> 00:35:39,716 ANDI Peng: Það er dálítið erfiður. 725 00:35:39,716 --> 00:35:43,110 726 00:35:43,110 --> 00:35:44,880 Það í raun skiptir ekki máli í lokin. 727 00:35:44,880 --> 00:35:47,690 Það skiptir ekki máli hvað röð þú velur að skipta í 728 00:35:47,690 --> 00:35:50,862 svo lengi sem þú ert að gera viss um að þú ert halda utan um hvað þú ert að skipta. 729 00:35:50,862 --> 00:35:52,250 >> Áhorfendur: Það gæti verið array-i. 730 00:35:52,250 --> 00:35:53,666 >> ANDI Peng: Já, við skulum gera array-i. 731 00:35:53,666 --> 00:35:55,950 732 00:35:55,950 --> 00:35:59,305 Og þá er það næsta lína af kóða við viljum hafa hér? 733 00:35:59,305 --> 00:36:00,680 Áhorfendur: array-i jafn array-j. 734 00:36:00,680 --> 00:36:07,154 735 00:36:07,154 --> 00:36:08,070 ANDI Peng: Og loks? 736 00:36:08,070 --> 00:36:12,070 Áhorfendur: array j jafnt array-i. 737 00:36:12,070 --> 00:36:14,525 Áhorfendur: Eða array-j jafngildir array-temp-- eða afleysingamanneskja. 738 00:36:14,525 --> 00:36:17,135 739 00:36:17,135 --> 00:36:19,430 >> ANDI Peng: OK. 740 00:36:19,430 --> 00:36:21,510 Svo skulum hlaupa þetta og sjá ef það er að fara að vinna. 741 00:36:21,510 --> 00:36:37,520 742 00:36:37,520 --> 00:36:39,335 Hvar er þetta að gerast? 743 00:36:39,335 --> 00:36:40,210 Oh, það er vandamál. 744 00:36:40,210 --> 00:36:44,320 Sjá, á línu 40, við erum reyna að nota array-j? 745 00:36:44,320 --> 00:36:47,022 En þar er J aðeins til í? 746 00:36:47,022 --> 00:36:48,402 >> Áhorfendur: Í for lykkju. 747 00:36:48,402 --> 00:36:49,110 ANDI Peng: Hægri. 748 00:36:49,110 --> 00:36:51,730 Svo hvað erum við að fara að þurfa að gera? 749 00:36:51,730 --> 00:36:53,170 >> Áhorfendur: Skilgreina það úti the-- 750 00:36:53,170 --> 00:36:57,777 751 00:36:57,777 --> 00:37:00,610 Áhorfendur: Já, held ég að þú hefur að nota annað hvort yfirlýsingu, ekki satt? 752 00:37:00,610 --> 00:37:05,230 Svo eins, ef minimum-- allt í lagi, láta mig hugsa. 753 00:37:05,230 --> 00:37:08,170 754 00:37:08,170 --> 00:37:09,990 >> ANDI Peng: Krakkar, reyna að kíkja Skulum 755 00:37:09,990 --> 00:37:11,270 sjá, hvað er eitthvað sem við getum gert hér? 756 00:37:11,270 --> 00:37:11,811 >> Áhorfendur: OK. 757 00:37:11,811 --> 00:37:15,900 Svo ef lágmarks ekki jafn j-- svo ef lágmarks er enn i-- 758 00:37:15,900 --> 00:37:17,570 þá myndum við ekki að skipta. 759 00:37:17,570 --> 00:37:22,450 760 00:37:22,450 --> 00:37:24,712 >> ANDI Peng: Er að jafna ég? 761 00:37:24,712 --> 00:37:25,920 Hvað viltu segja hér? 762 00:37:25,920 --> 00:37:30,494 >> Áhorfendur: Eða já, ef Lágmarks ekki jafn i, já. 763 00:37:30,494 --> 00:37:39,627 764 00:37:39,627 --> 00:37:40,210 ANDI Peng: OK. 765 00:37:40,210 --> 00:37:42,040 Jæja sem leysa, eins konar, vandamál okkar. 766 00:37:42,040 --> 00:37:47,265 En það er ekki enn leysa Vandamálið hvað gerist ef j-- síðan j 767 00:37:47,265 --> 00:37:49,890 er ekki til utan um það, hvað þú við viljum gera við það? 768 00:37:49,890 --> 00:37:50,698 Lýsa það utan? 769 00:37:50,698 --> 00:37:59,410 770 00:37:59,410 --> 00:38:02,730 Við skulum reyna að keyra þetta. 771 00:38:02,730 --> 00:38:04,435 Uh-ó. 772 00:38:04,435 --> 00:38:06,200 Tegund okkar er ekki að virka. 773 00:38:06,200 --> 00:38:10,060 >> Eins og þú geta sjá, Byrjunar okkar array hafði þá gildi. 774 00:38:10,060 --> 00:38:14,800 Og síðan ætti að hafa verið í 1, 2, 3, 4, 5, 6, 7, 8, 9. 775 00:38:14,800 --> 00:38:15,530 Það er ekki að virka. 776 00:38:15,530 --> 00:38:16,030 Ahh. 777 00:38:16,030 --> 00:38:17,184 Hvað gerum við? 778 00:38:17,184 --> 00:38:17,850 Áhorfendur: Debug. 779 00:38:17,850 --> 00:38:21,787 780 00:38:21,787 --> 00:38:23,370 ANDI Peng: Allt í lagi, við getum reynt það. 781 00:38:23,370 --> 00:38:25,030 Við getum kemba. 782 00:38:25,030 --> 00:38:26,042 Súmma út a hluti. 783 00:38:26,042 --> 00:38:31,177 784 00:38:31,177 --> 00:38:33,656 Skulum setja mörk okkar. 785 00:38:33,656 --> 00:38:37,280 Við skulum fara like-- lagi. 786 00:38:37,280 --> 00:38:40,444 >> Svo vegna þess að við vitum nú þegar að þessar línur, 15 gegnum 22, 787 00:38:40,444 --> 00:38:43,610 eru working-- því allt sem ég er að gera er bara iterating gegnum og printing-- 788 00:38:43,610 --> 00:38:45,406 Ég get farið á undan og sleppa því. 789 00:38:45,406 --> 00:38:47,280 Við skulum byrja á línu 25. 790 00:38:47,280 --> 00:38:48,712 OOP, láttu mig fá losa af það. 791 00:38:48,712 --> 00:38:51,598 792 00:38:51,598 --> 00:38:54,057 >> Áhorfendur: Svo rofstaður er þar sem kembiforrit byrjar? 793 00:38:54,057 --> 00:38:54,890 ANDI Peng: Eða hættir. 794 00:38:54,890 --> 00:38:55,670 Áhorfendur: Eða hættir. 795 00:38:55,670 --> 00:38:55,930 ANDI Peng: Já. 796 00:38:55,930 --> 00:38:58,640 Þú getur sett margar Rofstaðir og það getur bara hoppað úr einu í annað. 797 00:38:58,640 --> 00:39:01,590 En í þessu tilfelli erum við vitum ekki þar sem villa er að gerast. 798 00:39:01,590 --> 00:39:03,780 Þannig að við viljum bara að byrja frá toppi og niður. 799 00:39:03,780 --> 00:39:05,020 Jebb. 800 00:39:05,020 --> 00:39:05,550 OK. 801 00:39:05,550 --> 00:39:08,460 >> Þannig að fyrirsögnin hér, getum við stíga í. 802 00:39:08,460 --> 00:39:11,499 Þú getur séð hérna, við höfum fengið fjölda. 803 00:39:11,499 --> 00:39:13,290 Þeir eru gildi sem eru í fylki. 804 00:39:13,290 --> 00:39:16,360 Sérðu það, hvernig vísitalan 0, það svarar til value-- ó, 805 00:39:16,360 --> 00:39:17,526 Ég ætla að reyna að stækka. 806 00:39:17,526 --> 00:39:20,650 Því miður, það er mjög erfitt að see-- á array vísitölu 0 807 00:39:20,650 --> 00:39:24,090 við höfum gildi 4 og þá svo framvegis og svo framvegis. 808 00:39:24,090 --> 00:39:25,670 Við höfum staðværar breytur okkar. 809 00:39:25,670 --> 00:39:28,570 Núna er ég jafn 0, sem við viljum það til að vera. 810 00:39:28,570 --> 00:39:31,540 811 00:39:31,540 --> 00:39:33,690 >> Og svo skulum halda stepping gegnum. 812 00:39:33,690 --> 00:39:36,850 Lágmark okkar er jafnt og 0, sem við viljum líka það að vera. 813 00:39:36,850 --> 00:39:39,470 814 00:39:39,470 --> 00:39:45,560 Og þá erum við að slá inn annað okkar fyrir lykkja, ef array-J er minni en array-I, 815 00:39:45,560 --> 00:39:46,380 sem það var ekki. 816 00:39:46,380 --> 00:39:48,130 Svo sástu hvernig að skipstjóri yfir það? 817 00:39:48,130 --> 00:39:52,430 >> Áhorfendur: Svo ætti ef Lágmarks, allt that-- ætti ekki að 818 00:39:52,430 --> 00:39:55,424 vera inni fyrst fyrir lykkju? 819 00:39:55,424 --> 00:39:57,340 ANDI Peng: Nei, vegna þess að þú vilt samt að prófa. 820 00:39:57,340 --> 00:40:00,329 Þú vilt gera samanburð á hverjum tími, jafnvel eftir að þú keyrir í gegnum það. 821 00:40:00,329 --> 00:40:02,620 Þú ert ekki bara að gera það á fyrstu umferð í gegnum. 822 00:40:02,620 --> 00:40:05,240 Þú vilt gera það með hvert viðbótar framhjá aftur. 823 00:40:05,240 --> 00:40:07,198 Svo þú vilt að athuga í ástand þitt inni. 824 00:40:07,198 --> 00:40:11,610 825 00:40:11,610 --> 00:40:13,746 Þannig að við erum bara að fara að halda í gangi í gegnum hér. 826 00:40:13,746 --> 00:40:17,337 827 00:40:17,337 --> 00:40:18,420 Ég skal gefa ykkur vísbendingu. 828 00:40:18,420 --> 00:40:23,910 Það hefur að gera með þá staðreynd að þegar þú ert að skoða skilyrt þinn, 829 00:40:23,910 --> 00:40:26,600 þú ert ekki að haka fyrir rétta vísitölu. 830 00:40:26,600 --> 00:40:32,510 Svo núna þú ert að skoða fyrir array Vísitala j er minna en array 831 00:40:32,510 --> 00:40:33,970 Vísitala i. 832 00:40:33,970 --> 00:40:36,580 En hvað ert þú að gera upp á upphaf for lykkju? 833 00:40:36,580 --> 00:40:38,260 Ert þú ekki að setja j jafnt i? 834 00:40:38,260 --> 00:40:41,260 835 00:40:41,260 --> 00:40:45,415 >> Já, svo við getum í raun hætta aflúsara hér. 836 00:40:45,415 --> 00:40:47,040 Svo skulum taka a líta á sauðakóðanum. 837 00:40:47,040 --> 00:40:50,070 838 00:40:50,070 --> 00:40:52,580 For-- við erum að fara að byrja á ég jafngildir 0. 839 00:40:52,580 --> 00:40:54,760 Við erum að fara að fara upp að n mínus 1. 840 00:40:54,760 --> 00:40:58,040 Við skulum athuga, gerði við hafa þann rétt? 841 00:40:58,040 --> 00:40:59,580 Já, það var rétt. 842 00:40:59,580 --> 00:41:02,080 >> Svo þá inni hér, við erum fara að búa til lægsta gildi 843 00:41:02,080 --> 00:41:03,630 og setja það jafn i. 844 00:41:03,630 --> 00:41:04,950 Gerði við það? 845 00:41:04,950 --> 00:41:06,270 Já, gerði það. 846 00:41:06,270 --> 00:41:10,430 Nú í okkar innri fyrir lykkju, við erum fara að gera j jafngildir ég að n mínus 1. 847 00:41:10,430 --> 00:41:11,950 Gerði við það? 848 00:41:11,950 --> 00:41:15,540 Reyndar, við fengum það. 849 00:41:15,540 --> 00:41:19,922 >> Svo þó, hvað erum við að bera saman hér? 850 00:41:19,922 --> 00:41:20,925 >> Áhorfendur: j auk 1. 851 00:41:20,925 --> 00:41:21,716 ANDI Peng: Einmitt. 852 00:41:21,716 --> 00:41:24,184 853 00:41:24,184 --> 00:41:27,350 Og þá þú ert að fara að vilja til að setja Lágmarks þinn jafnt j + 1 eins og heilbrigður. 854 00:41:27,350 --> 00:41:31,057 855 00:41:31,057 --> 00:41:32,640 Svo ég fór í gegnum það mjög fljótt. 856 00:41:32,640 --> 00:41:36,190 Gera þú krakkar skilja hvers vegna það er, j auk 1? 857 00:41:36,190 --> 00:41:36,890 OK. 858 00:41:36,890 --> 00:41:40,700 >> Svo í array þinn, í í fyrstu umferð í gegnum, 859 00:41:40,700 --> 00:41:44,850 þinn fyrir lykkju, fyrir int Ég jafngildir 0, við skulum bara 860 00:41:44,850 --> 00:41:46,740 ráð fyrir að þetta hafi ekki verið breytt enn. 861 00:41:46,740 --> 00:41:53,180 862 00:41:53,180 --> 00:41:56,760 Við höfum fjölda, alveg, aðeins fjórum óflokkaðar þættir, ekki satt? 863 00:41:56,760 --> 00:42:00,760 Þannig að við viljum að frumstilla ég er jafn 0. 864 00:42:00,760 --> 00:42:03,650 Og ég er að fara að bara hlaupa í gegnum þessa lykkju. 865 00:42:03,650 --> 00:42:08,560 Og svo í fyrstu umferð, við erum að fara að frumstilla breytu sem heitir "mín" 866 00:42:08,560 --> 00:42:11,245 sem einnig jafngildir i, vegna þess að við höfum ekki lágmarks gildi. 867 00:42:11,245 --> 00:42:12,870 Svo er það nú jöfn 0 eins og heilbrigður. 868 00:42:12,870 --> 00:42:16,182 869 00:42:16,182 --> 00:42:17,640 Og þá erum við að fara að fara í gegnum. 870 00:42:17,640 --> 00:42:19,270 Og við viljum að árétta aftur. 871 00:42:19,270 --> 00:42:22,900 Nú þegar við höfum fundið það amk okkar er, við viljum árétta gegnum 872 00:42:22,900 --> 00:42:25,190 aftur til að sjá hvort það er að bera saman, ekki satt? 873 00:42:25,190 --> 00:42:40,440 Svo j hér, er að fara til að jafna I, sem er 0. 874 00:42:40,440 --> 00:42:46,320 Og þá ef array, j auk i, sem er sá sem er næst yfir, sem minna 875 00:42:46,320 --> 00:42:49,270 en hvað núverandi lágmarki þinn gildi er, þú vilt skipta. 876 00:42:49,270 --> 00:42:56,850 >> Svo við skulum bara segja að við höfum fékk, eins og, 2, 5, 1, 8. 877 00:42:56,850 --> 00:43:01,610 Núna, ég er jafn 0 og J er jafnt og 0. 878 00:43:01,610 --> 00:43:05,210 Og það er lágmarks gildi okkar. 879 00:43:05,210 --> 00:43:09,950 Ef array-j auk i-- svo ef einn það er eftir einn við erum að horfa á 880 00:43:09,950 --> 00:43:13,450 er meiri en sá áður en það, það er að fara að verða að lágmarki. 881 00:43:13,450 --> 00:43:18,120 >> Svo hér sjáum við að 5 er ekki minna en það. 882 00:43:18,120 --> 00:43:19,730 Svo það er að fara að ekki að vera 5. 883 00:43:19,730 --> 00:43:23,580 Við sjáum að 1 er minna en 2, ekki satt? 884 00:43:23,580 --> 00:43:32,970 Svo nú vitum við að lágmarki okkar er að fara að vera vísitölu á 0, 1, 2. 885 00:43:32,970 --> 00:43:34,030 Já? 886 00:43:34,030 --> 00:43:39,170 Og svo þegar þú færð niður hér, þú getur skipti rétt gildi. 887 00:43:39,170 --> 00:43:42,610 >> Svo þegar þið voru bara að hafa j áður, þú varst ekki að horfa á einn 888 00:43:42,610 --> 00:43:43,260 eftir það. 889 00:43:43,260 --> 00:43:44,520 Þú varst að horfa á sama gildi, sem 890 00:43:44,520 --> 00:43:46,290 er hvers vegna það var bara ekki að gera neitt. 891 00:43:46,290 --> 00:43:49,721 Er að skynsamleg að allir, hvers vegna við þurftum að auk 1 þar? 892 00:43:49,721 --> 00:43:50,220 OK. 893 00:43:50,220 --> 00:43:53,345 Nú skulum hlaupa bara í gegnum það að gera viss um að restin af kóða er rétt. 894 00:43:53,345 --> 00:44:04,424 895 00:44:04,424 --> 00:44:05,340 Hvers vegna er þetta að gerast? 896 00:44:05,340 --> 00:44:14,780 897 00:44:14,780 --> 00:44:16,364 Ah, er það mín hérna. 898 00:44:16,364 --> 00:44:17,780 Við vorum að bera saman rangt gildi. 899 00:44:17,780 --> 00:44:24,944 900 00:44:24,944 --> 00:44:25,906 Ó nei. 901 00:44:25,906 --> 00:44:30,720 902 00:44:30,720 --> 00:44:33,482 >> Ó já, hérna við vorum skipta á röng gildi eins og heilbrigður. 903 00:44:33,482 --> 00:44:34,940 Þar sem við vorum að horfa á i og j. 904 00:44:34,940 --> 00:44:36,440 Þeir eru þeir sem við vorum stöðva. 905 00:44:36,440 --> 00:44:39,160 Við viljum í raun að skipta á lágmarki, núverandi lágmarki, 906 00:44:39,160 --> 00:44:40,550 með hvað sem menn úti er. 907 00:44:40,550 --> 00:44:59,510 908 00:44:59,510 --> 00:45:05,402 Og eins og þú krakkar geta séð niður hér höfum við flokkað array. 909 00:45:05,402 --> 00:45:07,110 Það þurfti bara að gera með sú staðreynd að þegar 910 00:45:07,110 --> 00:45:09,350 við vorum að haka við gildi við vorum að bera saman, 911 00:45:09,350 --> 00:45:11,226 við vorum ekki að leita á réttum gildum. 912 00:45:11,226 --> 00:45:13,850 Við vorum að horfa á sama einn hér, í raun ekki að skipta um það. 913 00:45:13,850 --> 00:45:17,135 Þú þarft að líta á einn við hliðina að því og þá er hægt að skipta. 914 00:45:17,135 --> 00:45:19,260 Svo er það sem var eins konar þrjótur kóðann okkar áður. 915 00:45:19,260 --> 00:45:22,460 Og það sem ég gerði hér er allt aflúsara hefði getað gert fyrir þig 916 00:45:22,460 --> 00:45:23,810 Ég gerði bara það á borð, vegna þess að það er auðveldara 917 00:45:23,810 --> 00:45:26,320 að sjá frekar en að reyna til að súmma inn á aflúsara. 918 00:45:26,320 --> 00:45:29,391 Er að skynsamleg að allir? 919 00:45:29,391 --> 00:45:29,890 Cool. 920 00:45:29,890 --> 00:45:34,800 921 00:45:34,800 --> 00:45:35,410 >> Allt í lagi. 922 00:45:35,410 --> 00:45:41,070 Við getum fært um að tala um asymptotic merki, sem 923 00:45:41,070 --> 00:45:44,580 er bara fínt leið til að segja að runtimes af öllum þessum tegundum. 924 00:45:44,580 --> 00:45:47,650 Þannig að ég veit Davíð, í fyrirlestri, snert á runtimes. 925 00:45:47,650 --> 00:45:52,124 Og hann fór í gegnum allt formúlu um hvernig á að reikna runtimes. 926 00:45:52,124 --> 00:45:53,040 Engar áhyggjur af því. 927 00:45:53,040 --> 00:45:54,660 Ef þú ert virkilega forvitinn á hvernig það virkar, 928 00:45:54,660 --> 00:45:55,810 ekki hika við að tala við mig eftir kafla. 929 00:45:55,810 --> 00:45:57,560 Við getum gengið í gegnum formúlur saman. 930 00:45:57,560 --> 00:46:00,689 En allt sem þú krakkar hafa virkilega vita er að n veldi yfir 2 931 00:46:00,689 --> 00:46:01,980 er það sama og n veldi. 932 00:46:01,980 --> 00:46:04,710 Vegna flesta, veldisvísir, vex mest. 933 00:46:04,710 --> 00:46:06,590 Og svo fyrir tilgangi okkar, allt sem við þykir vænt um 934 00:46:06,590 --> 00:46:09,470 er að risastór tala sem er vaxandi. 935 00:46:09,470 --> 00:46:13,340 >> Svo er það besta mál afturkreistingur af val tagi? 936 00:46:13,340 --> 00:46:15,830 Ef þú ert að fara að hafa að iterate gegnum lista 937 00:46:15,830 --> 00:46:18,712 og þá iterate gegnum restin af þeim lista, 938 00:46:18,712 --> 00:46:20,420 hversu oft eru Ætlarðu að sennilega, 939 00:46:20,420 --> 00:46:24,612 í versta case-- í því besta tilfelli, sorry-- keyra í gegnum? 940 00:46:24,612 --> 00:46:27,070 Kannski er betri spurning að spyrja, hvað er versta 941 00:46:27,070 --> 00:46:28,153 afturkreistingur af val tagi. 942 00:46:28,153 --> 00:46:29,366 Áhorfendur: n veldi. 943 00:46:29,366 --> 00:46:30,740 ANDI Peng: Það er n veldi, ekki satt. 944 00:46:30,740 --> 00:46:36,986 Svo auðveld leið til að hugsa um þetta er eins, hvenær þú ert með tvær hreiður fyrir lykkjur, 945 00:46:36,986 --> 00:46:38,110 það er að fara að vera n veldi. 946 00:46:38,110 --> 00:46:40,386 Því ekki aðeins ertu keyra í gegnum aftur, 947 00:46:40,386 --> 00:46:42,260 þú þarft að fara til baka kring og hlaupa í gegnum það 948 00:46:42,260 --> 00:46:44,980 aftur inni til á hverjum gildi. 949 00:46:44,980 --> 00:46:48,640 Svo í því tilfelli, þú ert að keyra n sinnum n veldi, sem is-- miður, 950 00:46:48,640 --> 00:46:50,505 n sinnum n, sem jafngildir n veldi. 951 00:46:50,505 --> 00:46:53,230 952 00:46:53,230 --> 00:46:56,360 >> Og raða er líka svolítið einstök í þeim skilningi 953 00:46:56,360 --> 00:46:59,774 að það skiptir ekki máli ef þessir gildi eru þegar til. 954 00:46:59,774 --> 00:47:01,440 Það er samt að fara að keyra í gegnum engu að síður. 955 00:47:01,440 --> 00:47:03,872 Við skulum bara segja að þetta var 1, 2, 3, 4. 956 00:47:03,872 --> 00:47:07,080 Óháð því hvort það væri í röð, enn það hefði hljóp í gegnum 957 00:47:07,080 --> 00:47:08,620 og enn skoðaði lágmarks gildi. 958 00:47:08,620 --> 00:47:10,100 Það hefði gert sama fjölda athugana 959 00:47:10,100 --> 00:47:12,780 hvert einasta skipti, jafnvel þótt það ekki í raun snerta neitt. 960 00:47:12,780 --> 00:47:16,940 >> Svo í því tilviki, besta og versta runtimes eru í raun jafngildir. 961 00:47:16,940 --> 00:47:19,160 Svo ráð afturkreistingur af val tagi, 962 00:47:19,160 --> 00:47:23,790 sem við tilnefna með tákninu af þeta, þeta, í þessu tilfelli, 963 00:47:23,790 --> 00:47:24,790 myndi einnig vera n veldi. 964 00:47:24,790 --> 00:47:26,480 Allir þrír af þessum yrði n veldi. 965 00:47:26,480 --> 00:47:29,653 Er allir á hreinu hvers vegna afturkreistingur er n veldi? 966 00:47:29,653 --> 00:47:33,360 967 00:47:33,360 --> 00:47:33,980 >> Allt í lagi. 968 00:47:33,980 --> 00:47:39,120 Þannig að ég ætla bara að fara að fljótt hlaupa gegnum the hvíla af the konar. 969 00:47:39,120 --> 00:47:41,137 The reiknirit fyrir kúla sort-- muna, 970 00:47:41,137 --> 00:47:43,220 þetta var sá fyrsti Davíð fór yfir í fyrirlestri. 971 00:47:43,220 --> 00:47:46,000 Í meginatriðum, þú stíga í gegnum lista 972 00:47:46,000 --> 00:47:48,950 og þú swap-- þig bara bera saman tvö í einu. 973 00:47:48,950 --> 00:47:51,350 Og ef maður er meiri, en þú bara skipta á þeim. 974 00:47:51,350 --> 00:47:53,590 Svo ef þetta eru meiri, myndir þú skipta. 975 00:47:53,590 --> 00:47:56,180 Ég hef fengið opinbera hérna. 976 00:47:56,180 --> 00:47:59,100 >> Þannig að við skulum bara segja að þú hefðir 8, 6, 4, 2. 977 00:47:59,100 --> 00:48:00,571 Þú vilt bera saman 8 og 6. 978 00:48:00,571 --> 00:48:01,570 Þú vilt þurfa að skipta á þeim. 979 00:48:01,570 --> 00:48:02,610 Þú myndir bera saman 8 og 4. 980 00:48:02,610 --> 00:48:03,609 Þú vilt þurfa að skipta á þeim. 981 00:48:03,609 --> 00:48:07,000 Ef þú þarft að skipta um 8 og 2, breyta þeim eins og heilbrigður. 982 00:48:07,000 --> 00:48:10,760 Svo í svona tilfinningu, getur þú séð, spilað út á löngum tíma, 983 00:48:10,760 --> 00:48:13,730 hvernig gildi konar kúla til endar, sem er hvers vegna við köllum það 984 00:48:13,730 --> 00:48:15,320 kúla tegund. 985 00:48:15,320 --> 00:48:19,950 >> Við viljum bara hlaupa í gegnum aftur á Annað framhjá okkar, og þriðja framhjá okkar, 986 00:48:19,950 --> 00:48:21,150 og fjórða umferð okkar. 987 00:48:21,150 --> 00:48:25,820 Í meginatriðum, kúla raða bara keyrir þar til þú ekki gera neinar fleiri skiptasamninga. 988 00:48:25,820 --> 00:48:31,109 Svo í þeim skilningi, þetta er bara almenn sauðakóðanum fyrir það. 989 00:48:31,109 --> 00:48:32,650 Engar áhyggjur, þetta verður allt að vera á netinu. 990 00:48:32,650 --> 00:48:34,990 Við þurfum ekki að raunverulega fara yfir þetta. 991 00:48:34,990 --> 00:48:38,134 >> Við frumstilla bara teljara breyta sem byrjar á 0. 992 00:48:38,134 --> 00:48:39,800 Og við iterate gegnum allt array. 993 00:48:39,800 --> 00:48:43,420 Og ef eitt gildi is-- ef þetta gildi er meiri en þessi gildi, 994 00:48:43,420 --> 00:48:44,610 þú ert að fara að skipta á þeim. 995 00:48:44,610 --> 00:48:46,860 Og þá þú ert bara fara að halda áfram. 996 00:48:46,860 --> 00:48:47,970 Og þú ert að fara að telja. 997 00:48:47,970 --> 00:48:50,845 Og þú ert bara að fara að halda að gera þetta á meðan teljarinn er meiri 998 00:48:50,845 --> 00:48:53,345 en 0, sem þýðir að hvert skipti sem þú þarft að skipta, 999 00:48:53,345 --> 00:48:55,220 þú veist að þú vilt fara aftur og athuga aftur. 1000 00:48:55,220 --> 00:48:59,510 Þú vilt halda stöðva fyrr en þú veist að þú þarft ekki að skipta aftur. 1001 00:48:59,510 --> 00:49:05,570 >> Svo hvað eru bestu og verstu Málið runtimes fyrir kúla tegund? 1002 00:49:05,570 --> 00:49:09,300 Og hint-- þetta er í raun mismunandi frá val tagi í þeim skilningi 1003 00:49:09,300 --> 00:49:11,810 að þessi tvö svör eru ekki það sama. 1004 00:49:11,810 --> 00:49:14,709 Hugsaðu um hvað myndi gerast í mál ef það var þegar raðað. 1005 00:49:14,709 --> 00:49:16,500 Og hugsa um hvað myndi gerast ef það var 1006 00:49:16,500 --> 00:49:18,372 um er að ræða þar sem það var ekki raðað. 1007 00:49:18,372 --> 00:49:20,580 Og þú getur konar keyrt gegnum hvers vegna það er að gerast. 1008 00:49:20,580 --> 00:49:22,954 Ég skal gefa ykkur, eins og, 30 sekúndur til að hugsa um það. 1009 00:49:22,954 --> 00:49:52,330 1010 00:49:52,330 --> 00:49:53,540 >> OK. 1011 00:49:53,540 --> 00:49:57,462 Hefur einhver hafa a giska á hvað versta afturkreistingur af kúla tagi? 1012 00:49:57,462 --> 00:49:57,962 Já. 1013 00:49:57,962 --> 00:50:07,810 >> Áhorfendur: Væri, eins og, n sinnum n mínus 1 eða eitthvað svoleiðis? 1014 00:50:07,810 --> 00:50:10,650 Eins hvert skipti sem það keyrir, það er bara eins og einn skipti minna 1015 00:50:10,650 --> 00:50:10,960 að hvað sem það var. 1016 00:50:10,960 --> 00:50:12,668 >> ANDI Peng: Já, svo þú ert alveg rétt. 1017 00:50:12,668 --> 00:50:15,940 Og þetta er mál sem þinn Svarið var í raun flóknari 1018 00:50:15,940 --> 00:50:17,240 en sá sem við þurfum að gefa. 1019 00:50:17,240 --> 00:50:19,772 Svo það er að fara að run-- ég að fara að eyða öllu þessu hér. 1020 00:50:19,772 --> 00:50:20,480 Er allir góður? 1021 00:50:20,480 --> 00:50:21,869 Get ég eytt þessu? 1022 00:50:21,869 --> 00:50:22,368 OK. 1023 00:50:22,368 --> 00:50:27,904 1024 00:50:27,904 --> 00:50:30,320 Þú ert að fara að keyra í gegnum n sinnum í fyrsta skipti, ekki satt? 1025 00:50:30,320 --> 00:50:33,200 Og þeir eru að fara að keyra í gegnum n mínus 1 í annað sinn, ekki satt? 1026 00:50:33,200 --> 00:50:37,130 Og þá þú ert að fara að halda fara, n minn 2, et cetera. 1027 00:50:37,130 --> 00:50:40,210 David gerði þetta í fyrirlestri, þar sem, ef þú bætt upp alla þá gildi, 1028 00:50:40,210 --> 00:50:48,080 þú færð eitthvað sem er like-- yeah-- yfir 2, sem í raun bara dregur 1029 00:50:48,080 --> 00:50:49,784 niður á móti n veldi. 1030 00:50:49,784 --> 00:50:51,700 Þú ert að fara að fá undarlegt brot þar. 1031 00:50:51,700 --> 00:50:53,892 Og svo bara vita að N veldi alltaf 1032 00:50:53,892 --> 00:50:55,350 gengur framar hluta. 1033 00:50:55,350 --> 00:50:58,450 Og svo í þessu tilviki, það versta afturkreistingur yrði n veldi. 1034 00:50:58,450 --> 00:51:00,210 Ef það var í lækkandi röð, hugsa, þú 1035 00:51:00,210 --> 00:51:02,530 að gera skipti hvert einasta skipti. 1036 00:51:02,530 --> 00:51:05,170 >> Hvað væri hugsanlega, Best Case afturkreistingur? 1037 00:51:05,170 --> 00:51:08,580 Við skulum bara segja, ef listinn var þegar í því skyni, hvað myndi afturkreistingur vera? 1038 00:51:08,580 --> 00:51:09,565 >> Áhorfendur: n. 1039 00:51:09,565 --> 00:51:10,690 ANDI Peng: Það er n, nákvæmlega. 1040 00:51:10,690 --> 00:51:11,600 Og hvers vegna er það n? 1041 00:51:11,600 --> 00:51:13,850 Áhorfendur: Þar sem þú bara að kíkja á hverjum einu sinni. 1042 00:51:13,850 --> 00:51:14,770 ANDI Peng: Einmitt. 1043 00:51:14,770 --> 00:51:17,150 Svo í besta mögulega afturkreistingur, ef þessi listi var þegar 1044 00:51:17,150 --> 00:51:20,270 sorted-- segjum 1, 2, 3, 4-- þú myndi bara fara í gegnum, þú vildi athuga, 1045 00:51:20,270 --> 00:51:21,720 þú vildi sjá, ó, þeir pönnu út. 1046 00:51:21,720 --> 00:51:22,636 Ég vissi ekki að skipta. 1047 00:51:22,636 --> 00:51:23,370 Ég er búinn. 1048 00:51:23,370 --> 00:51:26,500 Svo í því tilfelli, það er bara n eða fjölda skrefum þú bara 1049 00:51:26,500 --> 00:51:29,870 þurfti að athuga í fyrsta listanum. 1050 00:51:29,870 --> 00:51:33,990 >> Og eftir, högg við nú innsetning flokka, þar 1051 00:51:33,990 --> 00:51:39,260 reiknirit er í raun að skipta það í raðaða og óflokkuðu hluta. 1052 00:51:39,260 --> 00:51:42,810 Og síðan einn af öðrum, en óflokkaðar gildin eru 1053 00:51:42,810 --> 00:51:46,880 sett í viðeigandi þeirra stöður í upphafi listanum. 1054 00:51:46,880 --> 00:51:52,120 >> Svo til dæmis, við höfum lista af 3, 5, 2, 6, 4 aftur. 1055 00:51:52,120 --> 00:51:54,750 Við vitum að það er nú Óflokkaður vegna þess að við höfum bara 1056 00:51:54,750 --> 00:51:57,030 byrjaði að horfa á það. 1057 00:51:57,030 --> 00:52:00,610 Við lítum og við vitum að Fyrsta gildið er raðað, ekki satt? 1058 00:52:00,610 --> 00:52:04,190 Ef þú ert bara að leita á fjölda stærð eitt, þú veist að það er flokkað. 1059 00:52:04,190 --> 00:52:08,230 >> Svo þá vitum við að Hinar fjórar eru Óflokkaður. 1060 00:52:08,230 --> 00:52:10,980 Við förum í gegnum og við sjáum það gildi. 1061 00:52:10,980 --> 00:52:11,730 Við skulum fara aftur. 1062 00:52:11,730 --> 00:52:13,130 Sjá að verðmæti 5? 1063 00:52:13,130 --> 00:52:14,110 Við taka a líta á það. 1064 00:52:14,110 --> 00:52:15,204 Við berum það saman í 3. 1065 00:52:15,204 --> 00:52:17,870 Við vitum að það er meiri en 3, þannig að við vitum að það er flokkað. 1066 00:52:17,870 --> 00:52:22,940 Þannig að við vitum nú að fyrstu tveir eru flokkuð og síðustu þrjú eru það ekki. 1067 00:52:22,940 --> 00:52:24,270 >> Við taka a líta á 2. 1068 00:52:24,270 --> 00:52:25,720 Við athugum það fyrst með 5. 1069 00:52:25,720 --> 00:52:26,700 Er það minna en 5? 1070 00:52:26,700 --> 00:52:27,240 Það er ekki. 1071 00:52:27,240 --> 00:52:29,510 Þannig að við verðum að halda að leita niður. 1072 00:52:29,510 --> 00:52:30,940 Síðan sem þú athugað 2 af 3. 1073 00:52:30,940 --> 00:52:31,850 Það er minna en? 1074 00:52:31,850 --> 00:52:32,350 Nei 1075 00:52:32,350 --> 00:52:35,430 Svo þú veist 2 á að setja inn að framan og 3 og 5 1076 00:52:35,430 --> 00:52:38,200 bæði að vera ýtt út. 1077 00:52:38,200 --> 00:52:42,190 Gerðu þetta aftur með 6 og 4. 1078 00:52:42,190 --> 00:52:48,962 Og við höldum bara að skoða í raun, þar sem við athuga bara, athuga, athuga. 1079 00:52:48,962 --> 00:52:51,170 Og þar sem það er í hægri staða, við konar bara 1080 00:52:51,170 --> 00:52:54,890 setja það í rétta stöðu, sem er þar sem nafn það kom frá. 1081 00:52:54,890 --> 00:52:59,830 >> Svo er það bara reiknirit, sauðakóðanum í sjálfu sér, eins konar, 1082 00:52:59,830 --> 00:53:04,990 um hvernig við myndum innleiða innsetning konar. 1083 00:53:04,990 --> 00:53:05,954 Sauðakóðanum er hér. 1084 00:53:05,954 --> 00:53:06,620 Það er allt á netinu. 1085 00:53:06,620 --> 00:53:10,720 Engar áhyggjur ef þið eru reyna að afrita þetta niður. 1086 00:53:10,720 --> 00:53:14,500 Svo enn og aftur, sama question-- hvað væri best og verstu runtimes 1087 00:53:14,500 --> 00:53:16,120 fyrir innsetningu tagi? 1088 00:53:16,120 --> 00:53:17,750 Það er mjög svipað og í síðustu spurningu. 1089 00:53:17,750 --> 00:53:20,479 Ég skal gefa ykkur, eins og, 30 sekúndur til að hugsa um þetta eins og heilbrigður. 1090 00:53:20,479 --> 00:53:47,150 1091 00:53:47,150 --> 00:53:50,071 >> OK Hefur einhver vilja til að gefa mér það versta afturkreistingur? 1092 00:53:50,071 --> 00:53:50,570 Já. 1093 00:53:50,570 --> 00:53:51,490 >> Áhorfendur: n veldi. 1094 00:53:51,490 --> 00:53:52,573 >> ANDI Peng: Það er n veldi. 1095 00:53:52,573 --> 00:53:53,730 Og hvers vegna er það veldi n? 1096 00:53:53,730 --> 00:53:57,562 >> Áhorfendur: Vegna þess að í í öfugri röð, þú þarft 1097 00:53:57,562 --> 00:54:02,619 að fara í gegnum n sinnum n, sem is-- 1098 00:54:02,619 --> 00:54:03,660 ANDI Peng: Já, einmitt. 1099 00:54:03,660 --> 00:54:06,610 Svo sama og í kúla tagi. 1100 00:54:06,610 --> 00:54:08,720 Ef þessi listi er í röð, þú ert 1101 00:54:08,720 --> 00:54:11,240 fara að hafa til að athuga fyrst þegar. 1102 00:54:11,240 --> 00:54:13,470 Og þá með hverjum Umframvirði, þú ert 1103 00:54:13,470 --> 00:54:16,390 fara að hafa til að stöðva það gegn hvert einasta gildi, ekki satt? 1104 00:54:16,390 --> 00:54:20,290 Og svo alveg, þú ert að fara að gera N pass sinnum annar n framhjá, sem 1105 00:54:20,290 --> 00:54:21,750 er n veldi. 1106 00:54:21,750 --> 00:54:22,860 Hvað um besta tilfelli? 1107 00:54:22,860 --> 00:54:24,360 Já. 1108 00:54:24,360 --> 00:54:28,840 >> Áhorfendur: n mínus 1, vegna þess að fyrsti er þegar veldi. 1109 00:54:28,840 --> 00:54:30,270 >> ANDI Peng: Svo nærri. 1110 00:54:30,270 --> 00:54:31,850 Svarið er í raun n. 1111 00:54:31,850 --> 00:54:37,189 Því á meðan sá fyrsti er raðað, getur það ekki actually-- það 1112 00:54:37,189 --> 00:54:38,980 við heppni bara út í sem dæmi, að 2 1113 00:54:38,980 --> 00:54:40,930 varð að vera minnsti fjöldi. 1114 00:54:40,930 --> 00:54:43,680 En það mun ekki alltaf vera raunin. 1115 00:54:43,680 --> 00:54:48,040 Ef 2 er þegar raðað í upphafi en þú útlit og það er 1 hér, 1116 00:54:48,040 --> 00:54:49,144 sem 1 er að fara að högg það. 1117 00:54:49,144 --> 00:54:51,060 Og það er að fara að enda upp höggdeyfir engu að síður. 1118 00:54:51,060 --> 00:54:56,250 >> Svo í besta falli, það er í raun bara að fara að vera n. 1119 00:54:56,250 --> 00:54:59,090 Ef þú ert 1, 2, 3, 4, 5, 6, 7, 8, ert 1120 00:54:59,090 --> 00:55:00,940 að fara að keyra í gegnum að allt lista einu sinni 1121 00:55:00,940 --> 00:55:03,430 að athuga hvort allt er í lagi. 1122 00:55:03,430 --> 00:55:07,390 Er allir á hreinu gangi sinnum við val eins og heilbrigður? 1123 00:55:07,390 --> 00:55:09,960 Ég veit að ég er að fara í gegnum þetta mjög hratt. 1124 00:55:09,960 --> 00:55:13,330 En bara veit að ef þú veist almenn hugtök, ættir þú að vera góður. 1125 00:55:13,330 --> 00:55:16,070 OK. 1126 00:55:16,070 --> 00:55:19,790 Svo ég ætla bara að gefa ykkur kannski, eins og, mínútu til að tala við nágranna þína 1127 00:55:19,790 --> 00:55:21,890 á hvað eru bara sumir af the aðalæð mismunur 1128 00:55:21,890 --> 00:55:23,540 milli þessa tegund af toga. 1129 00:55:23,540 --> 00:56:24,571 1130 00:56:24,571 --> 00:56:25,570 Við munum fara yfir það fljótlega. 1131 00:56:25,570 --> 00:56:26,444 Áhorfendur: Oh, OK. 1132 00:56:26,444 --> 00:56:27,320 ANDI Peng: Já. 1133 00:56:27,320 --> 00:56:28,380 OK. 1134 00:56:28,380 --> 00:56:33,420 Cool, við skulum reconvene í bekknum. 1135 00:56:33,420 --> 00:56:34,330 OK. 1136 00:56:34,330 --> 00:56:37,579 Svo var þetta góður af opinn í báða enda spurning í skilningi 1137 00:56:37,579 --> 00:56:39,120 að það er hellingur af svörum við þeim. 1138 00:56:39,120 --> 00:56:40,746 Og við munum fara yfir nokkrar af þeim stuttlega. 1139 00:56:40,746 --> 00:56:43,411 Ég vildi bara að fá ykkur hugsa um hvað mismunandi 1140 00:56:43,411 --> 00:56:44,530 Allar þrjár gerðir af toga. 1141 00:56:44,530 --> 00:56:47,440 Og ég heyrði einnig, mikill question-- hvað þýðir mergesort gera? 1142 00:56:47,440 --> 00:56:50,110 Frábær spurning, því það er það sem við erum nær næst. 1143 00:56:50,110 --> 00:56:52,850 >> Svo Mergesort er einn svona sem virka 1144 00:56:52,850 --> 00:56:56,100 mjög mismunandi frá öðrum tegundum. 1145 00:56:56,100 --> 00:56:58,180 Eins og þú krakkar geta see-- gerði Davíð að kynningu 1146 00:56:58,180 --> 00:57:01,130 þar sem hann hafði alla kaldur hávaði sjá hvernig sameinast 1147 00:57:01,130 --> 00:57:04,010 tegund hljóp, eins og, óendanlega hraðar en í hinum tveimur gerðum? 1148 00:57:04,010 --> 00:57:04,510 OK. 1149 00:57:04,510 --> 00:57:07,580 Svo er það vegna þess sameinast tegund útfærir sem aðskilja 1150 00:57:07,580 --> 00:57:11,020 og sigra hugtak sem við höfum talaði um mikið í fyrirlestri. 1151 00:57:11,020 --> 00:57:14,550 Í þeim skilningi að við viljum að vinna betri, ekki herða, þegar þú skipta 1152 00:57:14,550 --> 00:57:18,120 og sigra vandamál, og brjóta þau niður, og þá setja þá saman, 1153 00:57:18,120 --> 00:57:19,930 góðir hlutir gerast alltaf. 1154 00:57:19,930 --> 00:57:21,960 >> Svo á leiðinni að sameina Raða í raun virkar 1155 00:57:21,960 --> 00:57:24,660 er að það skiptir An Óflokkaður array í tvennt. 1156 00:57:24,660 --> 00:57:26,500 Og þá er það fékk tvo helminga af fylki. 1157 00:57:26,500 --> 00:57:28,220 Og það skiptir bara þá tvo helminga. 1158 00:57:28,220 --> 00:57:31,750 Hún heldur bara að deila í tvennt, í helmingur í helmingi uns allt er flokkað 1159 00:57:31,750 --> 00:57:33,680 og þá endurkvæmur setur það allt saman. 1160 00:57:33,680 --> 00:57:36,550 >> Svo er það í raun ágrip. 1161 00:57:36,550 --> 00:57:38,750 Svo er þetta bara hluti af sauðakóðanum. 1162 00:57:38,750 --> 00:57:41,040 Er að skynsamleg í hvernig það er að keyra? 1163 00:57:41,040 --> 00:57:43,870 Svo við skulum bara segja að þú ert með array af n þætti, ekki satt? 1164 00:57:43,870 --> 00:57:45,450 Ef n er minna en 2, getur þú farið aftur. 1165 00:57:45,450 --> 00:57:49,040 Því þú veist að ef það er aðeins einn hlutur, verður það að vera flokkaður. 1166 00:57:49,040 --> 00:57:52,600 Annars, þú raða vinstri helming, og þá raða rétt helminginn, 1167 00:57:52,600 --> 00:57:54,140 og þá sameinast. 1168 00:57:54,140 --> 00:57:56,979 >> Svo á meðan það lítur mjög auðvelt, í raun og veru, að hugsa um það er 1169 00:57:56,979 --> 00:58:00,270 konar erfitt. Þar sem þú ert eins og, Jæja, það er góður af gangi á sig. 1170 00:58:00,270 --> 00:58:00,769 Ekki satt? 1171 00:58:00,769 --> 00:58:02,430 Það er í gangi á sig. 1172 00:58:02,430 --> 00:58:05,479 Svo í þeim skilningi, David snert á endurkvæmni í bekknum. 1173 00:58:05,479 --> 00:58:07,270 Og það er hugtak við munum tala um meira. 1174 00:58:07,270 --> 00:58:11,430 Það er að þessu, þessar tvær línur hér, reyndar er bara program 1175 00:58:11,430 --> 00:58:13,860 segja það að keyra sig með mismunandi inntak. 1176 00:58:13,860 --> 00:58:17,230 Svo frekar en að keyra sig með heild á n þáttum, 1177 00:58:17,230 --> 00:58:20,530 þú getur brjóta það niður í vinstri helminginn og hægri helminginn 1178 00:58:20,530 --> 00:58:22,680 og þá að keyra hana aftur. 1179 00:58:22,680 --> 00:58:26,050 >> Og þá munum við líta á það sjónrænt, því ég er sjónrænn nemandi. 1180 00:58:26,050 --> 00:58:27,270 Það virkar betur fyrir mig. 1181 00:58:27,270 --> 00:58:29,890 Þannig að við munum líta á sjón dæmi hér. 1182 00:58:29,890 --> 00:58:36,237 >> Segjum að við höfum fylki, sex þættir, 3, 5, 2, 6, 4, 1, ekki raðað. 1183 00:58:36,237 --> 00:58:37,820 Allt í lagi, það er mikið á þessari síðu. 1184 00:58:37,820 --> 00:58:43,179 Svo ef þú krakkar geta líta á Fyrsta skrefið hér, 3, 5, 2, 6, 4, 1, 1185 00:58:43,179 --> 00:58:44,220 þú getur skipt henni í tvennt. 1186 00:58:44,220 --> 00:58:45,976 Þú hefur 3, 5, 2, 6, 4, 1. 1187 00:58:45,976 --> 00:58:48,850 Þú veist að þetta aren't-- þig veit ekki hvort þeir eru raðað eða ekki, 1188 00:58:48,850 --> 00:58:52,517 svo þú haldir að brjóta þá niður, í tvennt, í tvennt, í tvennt, þar til að lokum, 1189 00:58:52,517 --> 00:58:53,600 þú hefur aðeins einn þáttur. 1190 00:58:53,600 --> 00:58:56,790 Og einn þáttur er alltaf raðað, ekki satt? 1191 00:58:56,790 --> 00:59:01,560 >> Við vitum því að 3, 5, 2, 4, 6, 1, með sjálfum sér, eru flokkuð. 1192 00:59:01,560 --> 00:59:05,870 Og nú getum við setja þá aftur saman. 1193 00:59:05,870 --> 00:59:07,510 Þannig að við vitum að 3, 5. 1194 00:59:07,510 --> 00:59:08,510 Við setja þá saman. 1195 00:59:08,510 --> 00:59:09,617 Við vitum að það er flokkað. 1196 00:59:09,617 --> 00:59:10,450 2 er enn þar. 1197 00:59:10,450 --> 00:59:11,830 Við getum sett 4 og 6 saman. 1198 00:59:11,830 --> 00:59:13,996 Við vitum að það er raðað, svo við settum það saman. 1199 00:59:13,996 --> 00:59:14,940 Og 1 er. 1200 00:59:14,940 --> 00:59:18,720 >> Og þá þú lítur bara á þessir tveir helmingar hérna. 1201 00:59:18,720 --> 00:59:21,300 Þú hefur 3, 5, 2, 2, 3, 5. 1202 00:59:21,300 --> 00:59:23,465 Þú getur bara að bera saman farin af öllu. 1203 00:59:23,465 --> 00:59:26,340 Því þú veist að þetta er flokkað og þú veist að það er flokkað. 1204 00:59:26,340 --> 00:59:29,360 Svo þá getur þú ekki einu sinni að bera 5, að bera bara 3. 1205 00:59:29,360 --> 00:59:32,070 Og 2 er minna en 3, svo þú veist 2 að fara á endanum. 1206 00:59:32,070 --> 00:59:33,120 >> Sami hlutur þarna. 1207 00:59:33,120 --> 00:59:34,740 The 1 verður að fara hér. 1208 00:59:34,740 --> 00:59:37,330 Og svo þegar þú ferð að setja þessir tveir gildi saman, 1209 00:59:37,330 --> 00:59:39,950 þú veist að þetta er flokkað og þú veist að það er flokkað. 1210 00:59:39,950 --> 00:59:43,240 Svo þá 1 og 2, er 1 er minna en 2. 1211 00:59:43,240 --> 00:59:45,570 Það segir þér að 1 ætti að fara á lok þessa 1212 00:59:45,570 --> 00:59:47,480 án þess þó að horfa á 3 eða 5. 1213 00:59:47,480 --> 00:59:50,100 Og 4 þá getur þú bara stöðva, það fer rétt hér. 1214 00:59:50,100 --> 00:59:51,480 Þú þarft ekki að líta á 5. 1215 00:59:51,480 --> 00:59:52,570 Sami hlutur með 6. 1216 00:59:52,570 --> 00:59:55,860 Þú veist að 6-- það bara þarf ekki að vera sá. 1217 00:59:55,860 --> 00:59:57,870 >> Og svo á þann hátt, að þú ert bara að safna sjálfur 1218 00:59:57,870 --> 00:59:59,526 a einhver fjöldi af stíga þegar þú ert að bera saman. 1219 00:59:59,526 --> 01:00:02,150 Þú þarft ekki að bera saman hvert þáttur gegn öðrum þáttum. 1220 01:00:02,150 --> 01:00:05,230 Að bera bara á móti þeim sem sem þú þarft að bera það gegn. 1221 01:00:05,230 --> 01:00:06,870 Svo er það eins konar abstrakt hugtak. 1222 01:00:06,870 --> 01:00:10,540 Engar áhyggjur ef það er ekki alveg hitting þér rétt enn. 1223 01:00:10,540 --> 01:00:14,740 En almennt, þetta er hvernig Mergesort virkar. 1224 01:00:14,740 --> 01:00:17,750 Spurningar, fljótur spurningar, áður en ég fara? 1225 01:00:17,750 --> 01:00:18,550 Já. 1226 01:00:18,550 --> 01:00:22,230 >> Áhorfendur: Svo þú segir að þú takir í 1, og þá 4, og 6 1227 01:00:22,230 --> 01:00:23,860 og setja þá í. 1228 01:00:23,860 --> 01:00:26,800 Svo eru those-- ekki eru ekki þú horfa á þá 1229 01:00:26,800 --> 01:00:28,544 sem aðskilda þætti, ekki sem heild? 1230 01:00:28,544 --> 01:00:29,210 ANDI Peng: Já. 1231 01:00:29,210 --> 01:00:32,020 Svo hvað er að gerast er að þú í rauninni 1232 01:00:32,020 --> 01:00:33,650 eru að búa til nýtt array. 1233 01:00:33,650 --> 01:00:36,690 Svo þú veist að hér, ég hef tvær fylki af stærð 3, ekki satt? 1234 01:00:36,690 --> 01:00:39,600 Svo þú veist að Raðað array minn þarf að hafa sex þætti. 1235 01:00:39,600 --> 01:00:42,270 Svo þú býrð bara a Ný magn af minni. 1236 01:00:42,270 --> 01:00:44,270 Svo þú ert svona eins og vera eyðslusamur af minni, 1237 01:00:44,270 --> 01:00:46,186 en það skiptir ekki máli því það er svo lítið. 1238 01:00:46,186 --> 01:00:48,590 Svo þú horfir á 1 og þú horfir á 2. 1239 01:00:48,590 --> 01:00:50,770 Og þú veist að 1 er minna en 2. 1240 01:00:50,770 --> 01:00:53,840 Svo þú veist að 1 ætti að fara í upphaf allra þeirra. 1241 01:00:53,840 --> 01:00:55,850 >> Þú þarft ekki einu sinni að líta á 3 og 5. 1242 01:00:55,850 --> 01:00:57,400 Svo þú veist 1 fer þangað. 1243 01:00:57,400 --> 01:00:59,300 Síðan sem þú höggva í grundvallaratriðum af 1. 1244 01:00:59,300 --> 01:01:00,370 Það er, eins og dauður okkur. 1245 01:01:00,370 --> 01:01:03,690 Þá höfum við bara 2, 3, 5, og þá 4 og 6. 1246 01:01:03,690 --> 01:01:06,270 Og þá veistu að þú bera þau saman 4 og 2, 1247 01:01:06,270 --> 01:01:07,560 ó, 2 ætti að fara í það. 1248 01:01:07,560 --> 01:01:09,685 Svo þú plop á 2 niður, og þú höggva það burt. 1249 01:01:09,685 --> 01:01:12,060 Svo þá er bara að 3 og 5 í 4 og 6. 1250 01:01:12,060 --> 01:01:14,650 Og þú heldur bara chopping það burt fyrr en þú setur þá í array. 1251 01:01:14,650 --> 01:01:17,110 >> Áhorfendur: Svo þú ert bara alltaf bera [inaudible]? 1252 01:01:17,110 --> 01:01:17,710 >> ANDI Peng: Einmitt. 1253 01:01:17,710 --> 01:01:19,590 Svo í þeim skilningi, að þú ert bara að bera saman, í raun, 1254 01:01:19,590 --> 01:01:21,240 eitt númer á móti annað númer. 1255 01:01:21,240 --> 01:01:22,990 Og vegna þess að þú veist að það er raðað, þú 1256 01:01:22,990 --> 01:01:24,350 þurfa ekki að horfa í gegnum allar tölur. 1257 01:01:24,350 --> 01:01:25,870 Þú verður bara að líta á það fyrsta. 1258 01:01:25,870 --> 01:01:27,582 Og þá getur þú bara plop þá niður, vegna þess að þú veist 1259 01:01:27,582 --> 01:01:29,640 þeir tilheyra þar sem þeir þurfa að tilheyra. 1260 01:01:29,640 --> 01:01:31,030 Já. 1261 01:01:31,030 --> 01:01:32,920 Góð spurning. 1262 01:01:32,920 --> 01:01:35,290 >> Og ef einhver ykkar eru dálítið metnaðarfull, 1263 01:01:35,290 --> 01:01:38,660 ekki hika við að líta á þetta númer. 1264 01:01:38,660 --> 01:01:40,680 Þetta er í raun líkamlega framkvæmd 1265 01:01:40,680 --> 01:01:42,150 um hvernig við myndum skrifa mergesort. 1266 01:01:42,150 --> 01:01:44,070 Og þú geta sjá, það er mjög stutt. 1267 01:01:44,070 --> 01:01:46,310 En hugmyndir að baki það eru ansi flókið. 1268 01:01:46,310 --> 01:01:50,865 Svo ef þér finnst eins og að teikna þetta út í heimavinna í kvöld þína, ekki hika við að. 1269 01:01:50,865 --> 01:01:54,050 1270 01:01:54,050 --> 01:01:54,740 >> OK. 1271 01:01:54,740 --> 01:01:58,070 Og Davíð fór líka yfir þetta í fyrirlestri. 1272 01:01:58,070 --> 01:02:00,660 Hvað eru bestu málið runtimes, á versta runtimes, 1273 01:02:00,660 --> 01:02:05,680 og væntanlegan runtimes af mergesort? 1274 01:02:05,680 --> 01:02:07,260 Tveimur sekúndum að hugsa. 1275 01:02:07,260 --> 01:02:11,198 Þetta er frekar erfitt, en eins konar innsæi ef þér finnst um það. 1276 01:02:11,198 --> 01:02:20,090 1277 01:02:20,090 --> 01:02:23,054 Allt í lagi. 1278 01:02:23,054 --> 01:02:25,269 >> Áhorfendur: Er versta n log n? 1279 01:02:25,269 --> 01:02:26,060 ANDI Peng: Einmitt. 1280 01:02:26,060 --> 01:02:29,380 Og hvers vegna er það log n n. 1281 01:02:29,380 --> 01:02:32,230 >> Áhorfendur: Er það ekki vegna þess að það verður veldishraða hraðar, 1282 01:02:32,230 --> 01:02:35,390 svo það er eins og virkni sem í stað þess að bara einfaldlega að vera n 1283 01:02:35,390 --> 01:02:37,529 kvaðrat eða eitthvað? 1284 01:02:37,529 --> 01:02:38,320 ANDI Peng: Einmitt. 1285 01:02:38,320 --> 01:02:40,750 Svo er ástæðan fyrir því afturkreistingur á þetta er n log 1286 01:02:40,750 --> 01:02:44,310 n er because-- hvað ert þú gera í öllum þessum skrefum? 1287 01:02:44,310 --> 01:02:46,190 Þú ert bara að höggva hann í tvennt, ekki satt? 1288 01:02:46,190 --> 01:02:48,750 Og svo þegar við erum að gera í log, allt sem það er að gera 1289 01:02:48,750 --> 01:02:53,150 er að deila vandamál í tvennt, í tvennt, í tvennt, í fleiri helminga. 1290 01:02:53,150 --> 01:02:56,430 Og í þeim skilningi, getur þú góður af útrýma línulega líkan 1291 01:02:56,430 --> 01:02:57,510 sem við höfum verið að nota. 1292 01:02:57,510 --> 01:03:00,254 Vegna þess að þegar þú höggva hlutir í tvennt, það er skráning. 1293 01:03:00,254 --> 01:03:02,420 Það er bara stærðfræði leið fulltrúi hana. 1294 01:03:02,420 --> 01:03:06,310 >> Og svo að lokum, í lok, þú ert bara að gera eitt síðasta liggja í gegnum 1295 01:03:06,310 --> 01:03:07,930 að setja þá alla í röð, ekki satt? 1296 01:03:07,930 --> 01:03:10,330 Og svo ef þú verður bara að athuga eitt, það er n. 1297 01:03:10,330 --> 01:03:13,420 Og svo þú ert góður af margfalda tvö saman. 1298 01:03:13,420 --> 01:03:17,660 Svo það er eins og þú hafir fengið það sem kemur síðas athuga n hérna með log n 1299 01:03:17,660 --> 01:03:18,390 upp hér. 1300 01:03:18,390 --> 01:03:21,060 Og ef þú margfaldar þá, sem er n log n. 1301 01:03:21,060 --> 01:03:26,100 >> Og svo það besta tilfelli og versta tilfelli og gert er ráð fyrir allt n log n. 1302 01:03:26,100 --> 01:03:27,943 Það er líka eins og annars konar. 1303 01:03:27,943 --> 01:03:30,090 Það er eins og val konar í þeim skilningi að það 1304 01:03:30,090 --> 01:03:32,131 skiptir ekki máli hvað þinn Listinn er, það er bara að fara 1305 01:03:32,131 --> 01:03:34,801 að gera það sama í hvert einasta skipti. 1306 01:03:34,801 --> 01:03:35,300 OK. 1307 01:03:35,300 --> 01:03:39,950 Svo eins og þú krakkar geta sjá, jafnvel þótt þær tegundir sem við höfum farið through-- n 1308 01:03:39,950 --> 01:03:41,660 veldi, það er ekki mjög duglegur. 1309 01:03:41,660 --> 01:03:47,060 Og jafnvel þessi n log n er ekki duglegur. 1310 01:03:47,060 --> 01:03:49,720 Ef þið eru forvitinn, það er tegund kerfi 1311 01:03:49,720 --> 01:03:54,310 sem eru svo duglegur að þeir eru nánast nánast í afturkreistingur. 1312 01:03:54,310 --> 01:03:55,420 >> Þú hefur got sumir log n 's. 1313 01:03:55,420 --> 01:03:58,190 Þú hefur got sumir log log n 's. 1314 01:03:58,190 --> 01:04:00,330 Við ekki snerta á þeim í þessum flokki núna. 1315 01:04:00,330 --> 01:04:02,663 En ef þú krakkar eru forvitnir, ekki hika við að google, hvað er 1316 01:04:02,663 --> 01:04:04,392 hagkvæmustu flokkun kerfi. 1317 01:04:04,392 --> 01:04:06,350 Ég veit það ekki, það eru sumir raunverulega fyndið sjálfur, 1318 01:04:06,350 --> 01:04:09,860 like-- það er einhver raunverulega fyndið þau sem fólk gerir. 1319 01:04:09,860 --> 01:04:12,210 Og þú furða hvernig þeir alltaf hugsað um það. 1320 01:04:12,210 --> 01:04:15,730 Svo google, ef þið hafið einhverjar vara tími, á, hvað eru nokkur fyndin leiðir 1321 01:04:15,730 --> 01:04:17,730 sem people-- sem og duglegur ways-- fólk 1322 01:04:17,730 --> 01:04:20,371 hafa verið fær um að framkvæma konar. 1323 01:04:20,371 --> 01:04:20,870 OK. 1324 01:04:20,870 --> 01:04:22,880 Og hér er bara handlaginn lítill graf. 1325 01:04:22,880 --> 01:04:26,850 Ég veit allt um þig, fyrir þann spurningakeppni 0, verður í herberginu þínu líklega að reyna 1326 01:04:26,850 --> 01:04:27,960 að leggja á minnið það. 1327 01:04:27,960 --> 01:04:30,940 Svo er það gott þarna fyrir ykkur. 1328 01:04:30,940 --> 01:04:37,120 Bara ekki gleyma rökfræði sem made-- hvers vegna þær tölur voru fram. 1329 01:04:37,120 --> 01:04:39,870 Ef þú ert alltaf tapað, bara gera viss um að þú veist hvað konar eru. 1330 01:04:39,870 --> 01:04:40,820 Og þú getur keyrt í gegnum þá í huga þínum 1331 01:04:40,820 --> 01:04:42,903 að reikna út hvers vegna þeir Svörin eru þau svör. 1332 01:04:42,903 --> 01:04:46,250 1333 01:04:46,250 --> 01:04:47,600 >> Allt í lagi. 1334 01:04:47,600 --> 01:04:49,680 Þannig að við erum að fara að flytja á, að lokum, að leita. 1335 01:04:49,680 --> 01:04:51,638 Því eins og þau ykkar sem hafa lesið pset, 1336 01:04:51,638 --> 01:04:55,175 rannsakandi er einnig hluti af þessa viku vandamál setur. 1337 01:04:55,175 --> 01:04:57,300 Þú verður beðin að framkvæma tvær tegundir af leit. 1338 01:04:57,300 --> 01:05:00,070 Eitt er línuleg leit og einn er a tvöfaldur leit. 1339 01:05:00,070 --> 01:05:01,760 >> Svo er nokkuð auðvelt að línuleg leit. 1340 01:05:01,760 --> 01:05:04,070 Þú vilt bara að leita frumefni af lista til að sjá hvort þú færð það. 1341 01:05:04,070 --> 01:05:05,444 Þú verður bara að árétta gegnum. 1342 01:05:05,444 --> 01:05:08,170 Og ef það er jafnt eitthvað, þú getur bara farið með hana, ekki satt? 1343 01:05:08,170 --> 01:05:10,890 En sá sem við erum mest áhuga á að tala um 1344 01:05:10,890 --> 01:05:14,550 er tvöfaldur leita, hægri, sem er skipta og sigra kerfi sem 1345 01:05:14,550 --> 01:05:18,190 David var að sýna í fyrirlestri. 1346 01:05:18,190 --> 01:05:20,810 >> Mundu símaskránni dæmi að hann heldur að koma upp, 1347 01:05:20,810 --> 01:05:23,960 sá sem hann svona barist dálítið á þessu síðasta ári, 1348 01:05:23,960 --> 01:05:27,530 þar sem þú skipta vandamál í tvennt, í tvennt, í tvennt, aftur og aftur, 1349 01:05:27,530 --> 01:05:30,730 þar til þú finnur það sem þú ert að leita að? 1350 01:05:30,730 --> 01:05:33,727 Og þú hefur fengið að afturkreistingur af því sem vel. 1351 01:05:33,727 --> 01:05:35,810 Og þú geta sjá, það er verulega skilvirkari 1352 01:05:35,810 --> 01:05:39,080 en nokkur önnur tegund af leit. 1353 01:05:39,080 --> 01:05:41,880 >> Svo leið að við myndum fara um innleiða tvöfaldur leit 1354 01:05:41,880 --> 01:05:46,510 er, ef við hefðum fylki, Vísitalan 0 til 6, en sjö, 1355 01:05:46,510 --> 01:05:49,790 getum við litið í miðju, right-- Því miður, ef spurningunni okkar first-- 1356 01:05:49,790 --> 01:05:53,840 ef við viljum að spyrja um, er array innihalda þáttur 7, 1357 01:05:53,840 --> 01:05:56,840 augljóslega, vera menn, og hafa svo lítið array, það er auðvelt fyrir okkur 1358 01:05:56,840 --> 01:05:58,210 að segja já. 1359 01:05:58,210 --> 01:06:05,750 En leiðin til að innleiða tvöfaldur Leita væri að líta í miðjunni. 1360 01:06:05,750 --> 01:06:08,020 >> Við vitum að vísitalan 3 er miðju, vegna þess að við 1361 01:06:08,020 --> 01:06:09,270 veit að það eru sjö atriði. 1362 01:06:09,270 --> 01:06:10,670 Hvað 7 deilt með 2? 1363 01:06:10,670 --> 01:06:12,850 Þú getur skorið burt sem auka 1. 1364 01:06:12,850 --> 01:06:14,850 Þú hafir fengið 3 í miðjunni. 1365 01:06:14,850 --> 01:06:17,590 Svo er array af 3 jafnt og 7? 1366 01:06:17,590 --> 01:06:18,900 Það er ekki, ekki satt? 1367 01:06:18,900 --> 01:06:21,050 En við getum gert nokkrar athuganir. 1368 01:06:21,050 --> 01:06:25,380 Er array af 3 minna en 7 eða er array af 3 meiri en 7? 1369 01:06:25,380 --> 01:06:27,240 >> Og við vitum að það er minna en 7. 1370 01:06:27,240 --> 01:06:30,259 Þannig að við vitum að, ó, verður það ekki vera í vinstri helming. 1371 01:06:30,259 --> 01:06:32,300 Við vitum að það verður að vera í hægri hluta, ekki satt? 1372 01:06:32,300 --> 01:06:34,662 Svo við getum bara höggva af helming fylkisins. 1373 01:06:34,662 --> 01:06:36,370 Við gerum ekki einu sinni að líta á það lengur. 1374 01:06:36,370 --> 01:06:38,711 Þar sem við vitum að helmingur problem-- okkar 1375 01:06:38,711 --> 01:06:41,210 við vitum að svarið er í hægri helminginn af vandamálinu okkar. 1376 01:06:41,210 --> 01:06:42,580 Svo við lítum bara á það núna. 1377 01:06:42,580 --> 01:06:44,860 >> Svo nú erum við að líta á miðja hvað er vinstri. 1378 01:06:44,860 --> 01:06:46,880 Vísitalan 5. 1379 01:06:46,880 --> 01:06:50,200 Við gerum það sama stöðva aftur og við sjáum að það er minni. 1380 01:06:50,200 --> 01:06:52,050 Svo við lítum vinstra megin við það. 1381 01:06:52,050 --> 01:06:53,430 Og þá sjáum við að stöðva. 1382 01:06:53,430 --> 01:06:57,600 Er fylki gildi á Vísitala 4 jafnt og 7? 1383 01:06:57,600 --> 01:06:58,260 Það er. 1384 01:06:58,260 --> 01:07:03,580 Svo við getum skila satt, vegna þess að við fundum gildi í listanum okkar. 1385 01:07:03,580 --> 01:07:06,738 Er eins og ég fór í gegnum að skynsamleg að allir? 1386 01:07:06,738 --> 01:07:08,760 OK. 1387 01:07:08,760 --> 01:07:11,670 Ég skal gefa ykkur kannski, eins og, þrjár, fjórar mínútur til að reikna út 1388 01:07:11,670 --> 01:07:13,270 hvernig á að sauðakóðanum þetta í. 1389 01:07:13,270 --> 01:07:18,070 >> Svo ímynda ég bað þig að skrifa virka kölluð Leita () sem skilaði 1390 01:07:18,070 --> 01:07:20,640 gildi, a Boolean gildi, sem var satt eða false-- eins, 1391 01:07:20,640 --> 01:07:22,970 satt ef þú fundið gildi, falskur ef þú gerðir það ekki. 1392 01:07:22,970 --> 01:07:25,230 Og þá þú varst samþykkt í gildi sem þú 1393 01:07:25,230 --> 01:07:28,410 voru að leita að í gildi, sem er array-- ó, setti ég örugglega 1394 01:07:28,410 --> 01:07:29,410 sem á röngum stað. 1395 01:07:29,410 --> 01:07:29,580 OK. 1396 01:07:29,580 --> 01:07:31,829 Allavega, það ætti að hafa verið að hægri gildum. 1397 01:07:31,829 --> 01:07:36,280 Og þá er INT n fjöldi staka í því fylki. 1398 01:07:36,280 --> 01:07:39,430 Hvernig myndir þú fara um að reyna sauðakóðanum þessi vandamál í? 1399 01:07:39,430 --> 01:07:41,630 Ég skal gefa ykkur eins þrjár mínútur til að gera það. 1400 01:07:41,630 --> 01:08:00,137 1401 01:08:00,137 --> 01:08:02,595 Nei, ég held að það er only-- já, það er eitt rétt upp hér. 1402 01:08:02,595 --> 01:08:03,261 Áhorfendur: Get ég? 1403 01:08:03,261 --> 01:08:04,388 ANDI Peng: Já, ég fékk þig. 1404 01:08:04,388 --> 01:08:09,410 1405 01:08:09,410 --> 01:08:11,050 Er það vinna? 1406 01:08:11,050 --> 01:08:12,290 OK, flott. 1407 01:08:12,290 --> 01:10:43,590 1408 01:10:43,590 --> 01:10:44,720 >> OK. 1409 01:10:44,720 --> 01:10:47,630 Jaeja krakkar, við erum að fara að hemja það í. 1410 01:10:47,630 --> 01:10:49,730 OK. 1411 01:10:49,730 --> 01:10:54,020 Svo gerum við höfum fengið þessa yndislegu lítið array með n gildum í það. 1412 01:10:54,020 --> 01:10:55,170 Ég vissi ekki að draga línurnar. 1413 01:10:55,170 --> 01:10:58,649 En hvernig myndum við fara um reyna að skrifa þetta? 1414 01:10:58,649 --> 01:11:00,440 Er einhver vilja til að gefa mér fyrstu línu? 1415 01:11:00,440 --> 01:11:02,814 Ef þú vilt gefa mér að Fyrsta lína af þessu sauðakóðanum. 1416 01:11:02,814 --> 01:11:06,563 1417 01:11:06,563 --> 01:11:08,430 >> Áhorfendur: [inaudible] 1418 01:11:08,430 --> 01:11:10,138 Áhorfendur: Þú vilt vilt að árétta through-- 1419 01:11:10,138 --> 01:11:11,094 Áhorfendur: Bara annar fyrir lykkju? 1420 01:11:11,094 --> 01:11:11,760 Áhorfendur: --for. 1421 01:11:11,760 --> 01:11:15,880 1422 01:11:15,880 --> 01:11:17,780 >> ANDI Peng: Svo er þetta dálítið erfiður. 1423 01:11:17,780 --> 01:11:23,130 Hugsaðu about-- þú vilt að halda í gangi þessa lykkju 1424 01:11:23,130 --> 01:11:27,950 aftur og aftur þangað til hvenær? 1425 01:11:27,950 --> 01:11:30,819 >> Áhorfendur: Til [inaudible] gildi er jöfn að verðmæti. 1426 01:11:30,819 --> 01:11:31,610 ANDI Peng: Einmitt. 1427 01:11:31,610 --> 01:11:33,900 Svo þú getur í raun bara write-- við getum jafnvel einfalda það meira. 1428 01:11:33,900 --> 01:11:35,630 Við getum bara gert while lykkju, ekki satt? 1429 01:11:35,630 --> 01:11:39,380 Svo þú getur bara hafa loop-- við vitum að það er á meðan. 1430 01:11:39,380 --> 01:11:42,850 En núna ætla ég að að segja "lykkju" - í gegnum það? 1431 01:11:42,850 --> 01:11:46,640 Loop until-- hvað er okkar endar ástand? 1432 01:11:46,640 --> 01:11:47,510 Ég held að ég heyrði það. 1433 01:11:47,510 --> 01:11:48,530 Ég heyrði einhvern segja það. 1434 01:11:48,530 --> 01:11:51,255 >> Áhorfendur: Gildi jafngildir miðjuna. 1435 01:11:51,255 --> 01:11:52,255 ANDI Peng: Segja það aftur. 1436 01:11:52,255 --> 01:11:54,470 Áhorfendur: Eða, þar til gildi sem þú ert að leita 1437 01:11:54,470 --> 01:11:58,470 fyrir er jafnt miðju gildi. 1438 01:11:58,470 --> 01:12:00,280 >> ANDI Peng: Hvað ef það er ekki þar? 1439 01:12:00,280 --> 01:12:03,113 Hvað ef gildið sem þú ert að leita fyrir er í raun ekki í þessu fylki? 1440 01:12:03,113 --> 01:12:05,890 Áhorfendur: Þú skila 1. 1441 01:12:05,890 --> 01:12:08,850 >> ANDI Peng: En hvað viljum við lykkja til ef við höfum ástand? 1442 01:12:08,850 --> 01:12:09,350 Já. 1443 01:12:09,350 --> 01:12:11,239 >> Áhorfendur: Til að það er aðeins eitt gildi? 1444 01:12:11,239 --> 01:12:13,530 ANDI Peng: Þú getur lykkja until-- svo þú veist að þú ert 1445 01:12:13,530 --> 01:12:15,714 fara að hafa max gildi, ekki satt? 1446 01:12:15,714 --> 01:12:18,130 Og þú veist að þú ert að fara hafa min gildi, ekki satt? 1447 01:12:18,130 --> 01:12:20,379 Vegna einnig, það er eitthvað Ég gleymdi að segja áður, 1448 01:12:20,379 --> 01:12:22,640 sem eitthvað sem er gagnrýni um tvöfaldur leit 1449 01:12:22,640 --> 01:12:24,182 er að array er þegar raðað. 1450 01:12:24,182 --> 01:12:26,973 Vegna þess að það er engin leið til að gera þetta ef þeir eru bara handahófi gildi. 1451 01:12:26,973 --> 01:12:29,190 Þú veist ekki hvort maður er stærri en hinn, ekki satt? 1452 01:12:29,190 --> 01:12:32,720 >> Svo þú veist að max og mín eru hér, ekki satt? 1453 01:12:32,720 --> 01:12:35,590 Ef þú ert að fara að stilla max þinn í mín þínum og mid-- 1454 01:12:35,590 --> 01:12:38,470 við skulum gera ráð bara þinn miðjan gildi er rétt here-- 1455 01:12:38,470 --> 01:12:43,910 þú ert að fara að í grundvallaratriðum lykkja þar til lágmarks er 1456 01:12:43,910 --> 01:12:47,510 um það sama og max þinni, ekki satt, eða ef max er ekki það sama og mín þinn. 1457 01:12:47,510 --> 01:12:48,040 Ekki satt? 1458 01:12:48,040 --> 01:12:51,340 Vegna þess að þegar það gerist, þú veist að þú hefur loksins högg á sama gildi. 1459 01:12:51,340 --> 01:12:59,135 Svo þú vilt að lykkju þar til mín þitt er minna en eða jafnt to-- oops, 1460 01:12:59,135 --> 01:13:01,510 ekki minna en eða jafnt og, önnur leið around-- max er. 1461 01:13:01,510 --> 01:13:15,110 1462 01:13:15,110 --> 01:13:16,160 >> Var það skynsamleg? 1463 01:13:16,160 --> 01:13:18,810 Ég tók nokkrar tilraunir til að fá það rétt. 1464 01:13:18,810 --> 01:13:21,869 En lykkja þar max value þinn er í raun nánast minna 1465 01:13:21,869 --> 01:13:23,410 en eða jafnt og lágmarki þinni, ekki satt? 1466 01:13:23,410 --> 01:13:25,201 Það er þegar þú veist sem þú hefur stefna. 1467 01:13:25,201 --> 01:13:29,290 Áhorfendur: Þegar myndi hámark þitt gildi er minna en lágmarkið? 1468 01:13:29,290 --> 01:13:31,040 ANDI Peng: Ef þú halda stilla það, sem 1469 01:13:31,040 --> 01:13:32,380 er það sem við erum að fara að vera að gera í þessu. 1470 01:13:32,380 --> 01:13:33,460 Er að skynsamleg? 1471 01:13:33,460 --> 01:13:35,750 Lágmarks- og max eru bara heiltölur sem við erum líklega 1472 01:13:35,750 --> 01:13:39,260 fara til að vilja búa til að halda lag þar sem við erum að leita. 1473 01:13:39,260 --> 01:13:41,790 Þar sem array til staðar án tillits til þess hvað við erum að gera. 1474 01:13:41,790 --> 01:13:45,030 Eins erum við í raun ekki líkamlega chopping burt array, ekki satt? 1475 01:13:45,030 --> 01:13:47,261 Við erum bara að stilla þar sem við erum að leita. 1476 01:13:47,261 --> 01:13:48,136 Er að skynsamleg? 1477 01:13:48,136 --> 01:13:48,472 >> Áhorfendur: Já. 1478 01:13:48,472 --> 01:13:49,110 >> ANDI Peng: OK. 1479 01:13:49,110 --> 01:13:57,090 Þannig að ef það er skilyrði fyrir lykkju okkar, hvað við viljum inni þessa lykkju? 1480 01:13:57,090 --> 01:13:58,700 Hvað erum við að fara að hafa áhuga á að gera? 1481 01:13:58,700 --> 01:14:02,390 Svo núna, þá erum við a max og mín, hægri, 1482 01:14:02,390 --> 01:14:04,962 líklega búin hér einhvers staðar. 1483 01:14:04,962 --> 01:14:07,170 Við erum að fara að sennilega vilja að finna miðju, rétt? 1484 01:14:07,170 --> 01:14:08,450 Hvernig eigum við að fara að vera fær um að finna miðju? 1485 01:14:08,450 --> 01:14:09,491 Hvað er mathematical-- 1486 01:14:09,491 --> 01:14:11,079 Áhorfendur: Max plús mín deilt með 2. 1487 01:14:11,079 --> 01:14:11,870 ANDI Peng: Einmitt. 1488 01:14:11,870 --> 01:14:20,300 1489 01:14:20,300 --> 01:14:21,620 Er að skynsamleg? 1490 01:14:21,620 --> 01:14:25,780 Og gera þú krakkar sjá hvers vegna við ekki bara use-- hvers vegna við gerðum þetta 1491 01:14:25,780 --> 01:14:27,850 í stað þess að gera bara n deilt með 2? 1492 01:14:27,850 --> 01:14:30,310 Það er vegna þess að n er gildi það er að fara að vera sú sama. 1493 01:14:30,310 --> 01:14:30,979 Ekki satt? 1494 01:14:30,979 --> 01:14:34,020 En eins og við að stilla lágmarks okkar og hámarksgildi, þeir eru að fara að breytast. 1495 01:14:34,020 --> 01:14:36,040 Og þar af leiðandi, miðja okkar er að fara að breytast líka. 1496 01:14:36,040 --> 01:14:37,873 Svo er það hvers vegna við viljum að gera þetta hérna. 1497 01:14:37,873 --> 01:14:38,510 OK. 1498 01:14:38,510 --> 01:14:41,600 >> Og þá, nú sem við höfum fundið our-- já. 1499 01:14:41,600 --> 01:14:44,270 >> Áhorfendur: Just a fljótur question-- þegar þú segir mín og max, 1500 01:14:44,270 --> 01:14:46,410 við erum að því gefnu að það er þegar raðað? 1501 01:14:46,410 --> 01:14:48,400 >> ANDI Peng: Já, það er í raun forsenda tvöfaldur leit, 1502 01:14:48,400 --> 01:14:49,816 sem þú þarft að vita að það er flokkað. 1503 01:14:49,816 --> 01:14:53,660 Hver er ástæðan fyrir tegund, skrifa þú í þinn Heimadæmi fyrir tvöfaldur leitina. 1504 01:14:53,660 --> 01:14:55,910 OK. 1505 01:14:55,910 --> 01:14:58,876 Svo nú er að við vitum hvar miðpunkt okkar er, hvað viltu gera hér? 1506 01:14:58,876 --> 01:15:01,789 1507 01:15:01,789 --> 01:15:04,319 >> Áhorfendur: Við viljum að bera saman að til þess að hinn. 1508 01:15:04,319 --> 01:15:05,110 ANDI Peng: Einmitt. 1509 01:15:05,110 --> 01:15:12,280 Svo þú ert að fara að bera saman meðal til verðmæti, ekki satt? 1510 01:15:12,280 --> 01:15:14,900 1511 01:15:14,900 --> 01:15:18,670 Og hvað segir það okkur þegar við berum saman? 1512 01:15:18,670 --> 01:15:22,226 Hvað viljum við gera á eftir? 1513 01:15:22,226 --> 01:15:25,389 >> Áhorfendur: Ef gildið er stærra en um miðjan, viljum við að skera það burt. 1514 01:15:25,389 --> 01:15:26,180 ANDI Peng: Einmitt. 1515 01:15:26,180 --> 01:15:33,940 Svo ef gildið er stærra en um miðjan erum við 1516 01:15:33,940 --> 01:15:36,550 fara til að vilja breyta þeim lágmarki og Maxes, ekki satt? 1517 01:15:36,550 --> 01:15:38,980 Hvað viljum við að breyta? 1518 01:15:38,980 --> 01:15:42,145 Þannig að ef við vitum gildi er einhvers staðar hér, hvað þér við að breyta? 1519 01:15:42,145 --> 01:15:44,758 Við viljum breyta okkar lágmark að vera miðjan, ekki satt? 1520 01:15:44,758 --> 01:15:49,420 1521 01:15:49,420 --> 01:15:54,292 Og þá annað, ef það er í þessu helmingur, hvað viljum við breyta? 1522 01:15:54,292 --> 01:15:55,306 >> Áhorfendur: hámark þitt. 1523 01:15:55,306 --> 01:15:55,972 ANDI Peng: Já. 1524 01:15:55,972 --> 01:16:02,597 1525 01:16:02,597 --> 01:16:04,680 Og þá þú ert bara að fara að halda lykkja, ekki satt? 1526 01:16:04,680 --> 01:16:08,920 Vegna þess að nú, eftir einn endurtekning í gegnum, hefur þú fengið max hér. 1527 01:16:08,920 --> 01:16:10,760 Og þá er hægt að endurreikna miðjan. 1528 01:16:10,760 --> 01:16:11,990 Og þá er hægt að bera saman. 1529 01:16:11,990 --> 01:16:14,766 Og þú ert að fara að halda áfram þar til mín og maxes 1530 01:16:14,766 --> 01:16:15,890 hafa í raun stefna. 1531 01:16:15,890 --> 01:16:17,890 Og það er þegar þú veist að þú hefur högg fyrir endann á henni. 1532 01:16:17,890 --> 01:16:20,280 Og annað hvort þú hefur fundið það eða þú hefur ekki á þeim tímapunkti. 1533 01:16:20,280 --> 01:16:23,170 >> Er þetta skynsamleg að allir? 1534 01:16:23,170 --> 01:16:26,020 1535 01:16:26,020 --> 01:16:26,770 OK. 1536 01:16:26,770 --> 01:16:27,900 Þetta er mjög mikilvægt, því þú munt hafa 1537 01:16:27,900 --> 01:16:29,760 að skrifa þetta í kóða kvöld þínum. 1538 01:16:29,760 --> 01:16:32,660 En þú krakkar hafa a laglegur góður vit á því hvað þú ættir að vera að gera, 1539 01:16:32,660 --> 01:16:34,051 sem er gott. 1540 01:16:34,051 --> 01:16:34,550 OK. 1541 01:16:34,550 --> 01:16:38,840 Þannig að við höfum fengið um sjö mínútur eftir kafla. 1542 01:16:38,840 --> 01:16:43,170 Þannig að við erum að fara að tala um þetta pset að við munum vera að gera. 1543 01:16:43,170 --> 01:16:46,410 Svo pset er skipt í tvo helminga. 1544 01:16:46,410 --> 01:16:50,230 Á fyrri helmingi felur framkvæmd a find 1545 01:16:50,230 --> 01:16:54,210 þar sem þú skrifa línulega leit, a Tvíundarleit og flokkun reiknirit. 1546 01:16:54,210 --> 01:16:56,690 >> Svo er þetta fyrsta tími í pset hvar 1547 01:16:56,690 --> 01:17:00,050 við munum vera að gefa ykkur það sem er kallað dreifingu kóða, sem er númer 1548 01:17:00,050 --> 01:17:02,740 sem við höfum fyrirfram skrifað, en bara skilið eftir nokkur stykki af 1549 01:17:02,740 --> 01:17:04,635 fyrir þig að klára að skrifa. 1550 01:17:04,635 --> 01:17:07,510 Svo ykkur, þegar þú horfir á þetta kóða, þú might fá virkilega hrædd. 1551 01:17:07,510 --> 01:17:08,630 Ef þú ert bara eins og, Ahh, I veit ekki hvað það er að gera, 1552 01:17:08,630 --> 01:17:11,670 Ég veit ekki, eins og það virðist svo flókið, Ahh, slaka á. 1553 01:17:11,670 --> 01:17:12,170 Það er allt í lagi. 1554 01:17:12,170 --> 01:17:12,930 Lesa sérstakur. 1555 01:17:12,930 --> 01:17:16,920 Sérstakur mun útskýra fyrir þér nákvæmlega hvað öll þessi forrit eru að gera. 1556 01:17:16,920 --> 01:17:20,560 >> Til dæmis, generate.c er forrit sem mun koma með pset þinn. 1557 01:17:20,560 --> 01:17:24,060 Þú gera ekki raunverulega hafa að snerta það, en þú ættir að skilja hvað það er að gera. 1558 01:17:24,060 --> 01:17:28,550 Og generate.c, allt það er að gera er annaðhvort að búa slembitölur 1559 01:17:28,550 --> 01:17:32,400 eða þú getur gefið það fræ, eins og fyrirfram ákveðnum fjölda sem það tekur, 1560 01:17:32,400 --> 01:17:34,140 og hefur meiri tölur. 1561 01:17:34,140 --> 01:17:37,170 Svo er einhver sérstök leið til að innleiða generate.c sem 1562 01:17:37,170 --> 01:17:42,760 þú getur bara gert fullt af tölum fyrir þig að prófa aðrar aðferðir þínar. 1563 01:17:42,760 --> 01:17:45,900 >> Svo ef þú vildir, að dæmi, prófa finna þinn, 1564 01:17:45,900 --> 01:17:48,970 þú vilt að keyra generate.c, búa til fullt af tölum, 1565 01:17:48,970 --> 01:17:50,880 og þá hlaupa aðstoðarmenn virka. 1566 01:17:50,880 --> 01:17:53,930 Framreiðslu virka er þar sem þú ert í raun líkamlega skrifa kóðann. 1567 01:17:53,930 --> 01:17:59,330 Og hugsa um framreiðslu sem bókasafn skrá þú ert að skrifa, sem finna er að hringja. 1568 01:17:59,330 --> 01:18:02,950 Og svo innan helpers.c, þú munt gera að leita og flokka. 1569 01:18:02,950 --> 01:18:06,500 >> Og þá þú ert að fara að í raun bara setja þá alla saman. 1570 01:18:06,500 --> 01:18:10,350 Sérstakur mun segja þér hvernig á að setja það á the stjórn lína. 1571 01:18:10,350 --> 01:18:14,880 Og þú munt vera fær um að prófa hvort ekki svoleiðis og leita starfa. 1572 01:18:14,880 --> 01:18:15,870 Cool. 1573 01:18:15,870 --> 01:18:18,720 Hefur einhver þegar hafið og komið upp vandamál eða spurningar 1574 01:18:18,720 --> 01:18:20,520 þeir hafa núna með þetta? 1575 01:18:20,520 --> 01:18:21,020 OK. 1576 01:18:21,020 --> 01:18:21,476 >> Áhorfendur: Bíddu. 1577 01:18:21,476 --> 01:18:21,932 Ég hef spurningu. 1578 01:18:21,932 --> 01:18:22,844 >> ANDI Peng: Já. 1579 01:18:22,844 --> 01:18:28,390 >> Áhorfendur: Svo ég byrjaði að gera línulegt leita í helpers.c 1580 01:18:28,390 --> 01:18:29,670 og það var ekki í raun að vinna. 1581 01:18:29,670 --> 01:18:34,590 En þá seinna, fann ég út við bara að eyða því og gera tvöfaldur leit. 1582 01:18:34,590 --> 01:18:36,991 Svo skiptir það máli ef það virkar ekki? 1583 01:18:36,991 --> 01:18:39,700 1584 01:18:39,700 --> 01:18:41,510 >> ANDI Peng: Stutta svarið er nei. 1585 01:18:41,510 --> 01:18:42,642 En þar sem við erum not-- 1586 01:18:42,642 --> 01:18:44,350 Áhorfendur: En enginn er reyndar haka. 1587 01:18:44,350 --> 01:18:46,058 ANDI Peng: Við erum aldrei fara að sjá það. 1588 01:18:46,058 --> 01:18:49,590 En þú vilt sennilega að gera viss leitina er að vinna. 1589 01:18:49,590 --> 01:18:51,700 Vegna þess að ef línulegt þitt Leita virkar ekki, 1590 01:18:51,700 --> 01:18:54,410 þá líkur eru tvöfaldur þitt leit er ekki að fara að vinna eins og heilbrigður. 1591 01:18:54,410 --> 01:18:56,646 Þar sem þú hefur svipuð rökfræði í þeim báðum. 1592 01:18:56,646 --> 01:18:58,020 Og nei, það skiptir ekki máli. 1593 01:18:58,020 --> 01:19:01,300 Þannig að aðeins þær sem þú munt snúa í eru tegund og tvöfaldur leit. 1594 01:19:01,300 --> 01:19:02,490 Já. 1595 01:19:02,490 --> 01:19:06,610 >> Og einnig, a einhver fjöldi af krökkum voru reyna að safna saman helpers.c. 1596 01:19:06,610 --> 01:19:09,550 Þú ert í raun ekki leyft að gera það, vegna þess að helpers.c 1597 01:19:09,550 --> 01:19:11,200 hefur ekki aðalæð virka. 1598 01:19:11,200 --> 01:19:13,550 Og svo þú ættir aðeins verið í raun gerð 1599 01:19:13,550 --> 01:19:18,670 mynda og finna, því finna símtöl helpers.c og aðgerðir innan þess. 1600 01:19:18,670 --> 01:19:20,790 Svo gerir kembiforrit a sársauki í rassinn. 1601 01:19:20,790 --> 01:19:22,422 En það er það sem við þurfum að gera. 1602 01:19:22,422 --> 01:19:23,880 Áhorfendur: Þú gerir bara allt, ekki satt? 1603 01:19:23,880 --> 01:19:27,290 ANDI Peng: Þú getur bara gera allt eins vel, já. 1604 01:19:27,290 --> 01:19:28,060 OK. 1605 01:19:28,060 --> 01:19:32,570 Svo er það það í skilmálar af því sem pset er að spyrja ykkur að gera. 1606 01:19:32,570 --> 01:19:35,160 Ef þú hefur einhverjar spurningar, ekki hika að spyrja mig eftir kafla. 1607 01:19:35,160 --> 01:19:37,580 Ég kem hér, eins og 20 mínútur. 1608 01:19:37,580 --> 01:19:40,500 >> Og já, pset er í raun ekki svo slæmt. 1609 01:19:40,500 --> 01:19:41,680 Þú krakkar ættu að vera í lagi. 1610 01:19:41,680 --> 01:19:43,250 Þetta, bara fylgja leiðbeiningunum. 1611 01:19:43,250 --> 01:19:47,840 Konar hafa tilfinningu, þá er rökrétt, hvað ætti að vera að gerast og þú munt vera fínn. 1612 01:19:47,840 --> 01:19:48,690 Ekki vera of hrædd. 1613 01:19:48,690 --> 01:19:50,220 There er a einhver fjöldi af kóða þegar skrifað það. 1614 01:19:50,220 --> 01:19:53,011 Ekki vera of hrædd ef þú ert ekki skilja hvað allt þetta þýðir. 1615 01:19:53,011 --> 01:19:54,749 Ef það er mikið, það er alveg í lagi. 1616 01:19:54,749 --> 01:19:55,790 Og koma til skrifstofutíma. 1617 01:19:55,790 --> 01:19:57,520 Við hjálpum þér að kíkja. 1618 01:19:57,520 --> 01:20:00,810 >> Áhorfendur: Með viðbótinni aðgerðir, eigum vér að vænta þá upp? 1619 01:20:00,810 --> 01:20:03,417 >> ANDI Peng: Já, eru þeir í kóðanum. 1620 01:20:03,417 --> 01:20:05,750 Í leiknum á 15. Tæpur helmingur það er nú þegar skrifað fyrir þig. 1621 01:20:05,750 --> 01:20:09,310 Svo þau virka eru þegar í kóðanum. 1622 01:20:09,310 --> 01:20:12,020 Jebb. 1623 01:20:12,020 --> 01:20:12,520 Allt í lagi. 1624 01:20:12,520 --> 01:20:14,000 Jæja, það besta af heppni. 1625 01:20:14,000 --> 01:20:15,180 Það er ógeðslegt dag. 1626 01:20:15,180 --> 01:20:19,370 Svo vonandi þú krakkar finnst ekki of slæmt um að dvelja inni og forritun. 1627 01:20:19,370 --> 01:20:22,133