1 00:00:00,000 --> 00:00:11,100 2 00:00:11,100 --> 00:00:12,300 >> SIARADWR 1: Hei bawb! 3 00:00:12,300 --> 00:00:13,890 Croeso'n ôl i'r adran. 4 00:00:13,890 --> 00:00:17,480 Mor falch o weld cymaint o ddau ohonoch yma, a phawb sydd wedi gwylio ar-lein. 5 00:00:17,480 --> 00:00:18,760 6 00:00:18,760 --> 00:00:20,920 Felly, fel y cefn croeso arferol. 7 00:00:20,920 --> 00:00:24,360 Gobeithio eich bod i gyd wedi cael hyfryd penwythnos, yn llawn o orffwys, ymlacio. 8 00:00:24,360 --> 00:00:26,026 Roedd yn hyfryd allan ddoe. 9 00:00:26,026 --> 00:00:27,525 Felly, yr wyf yn gobeithio y byddwch yn mwynhau'r awyr agored. 10 00:00:27,525 --> 00:00:28,840 11 00:00:28,840 --> 00:00:30,610 >> Felly, y tro cyntaf neu ddau o gyhoeddiadau. 12 00:00:30,610 --> 00:00:31,920 13 00:00:31,920 --> 00:00:32,700 Graddio. 14 00:00:32,700 --> 00:00:37,350 Felly, dylai'r rhan fwyaf ohonoch wedi gotten yn e-bost oddi wrthyf am eich Pset Scratch, 15 00:00:37,350 --> 00:00:39,920 yn ogystal â graddio ar gyfer Pset 1. 16 00:00:39,920 --> 00:00:41,000 17 00:00:41,000 --> 00:00:42,220 Felly, dim ond un neu ddau o bethau. 18 00:00:42,220 --> 00:00:45,150 Byddwch yn siwr i ddefnyddio check50 mewn style50. 19 00:00:45,150 --> 00:00:47,250 Mae'r rhain i fod i fod yn adnoddau i chi guys, 20 00:00:47,250 --> 00:00:50,660 i wneud yn siŵr eich bod yn cael gynifer o bwyntiau ag y gallwch 21 00:00:50,660 --> 00:00:52,390 heb ddiangen eu colli. 22 00:00:52,390 --> 00:00:54,407 Felly, pethau fel steil yn bwysig iawn. 23 00:00:54,407 --> 00:00:55,740 Rydym yn mynd i gymryd i ffwrdd ar ei gyfer. 24 00:00:55,740 --> 00:00:58,115 Efallai y bydd rhai ohonoch yn barod sylwi bod gan eich Pset. 25 00:00:58,115 --> 00:00:58,920 26 00:00:58,920 --> 00:01:01,450 A check50 yn unig yw ffordd hawdd iawn i wneud yn siŵr 27 00:01:01,450 --> 00:01:05,050 ein bod yn dychwelyd mewn gwirionedd yn beth angen dychwelyd i'r defnyddiwr, 28 00:01:05,050 --> 00:01:06,690 a bod popeth yn gweithio'n iawn. 29 00:01:06,690 --> 00:01:08,690 30 00:01:08,690 --> 00:01:12,040 >> Ar yr ail nodyn, gwnewch yn siŵr eich llwytho pethau i'r ffolder cywir. 31 00:01:12,040 --> 00:01:14,470 Mae'n gwneud fy mywyd yn unig ychydig bach yn fwy anodd 32 00:01:14,470 --> 00:01:18,836 os ydych yn llwytho Pset 2 i mewn i Pset 1 oherwydd pan oeddwn lawrlwytho pethau, 33 00:01:18,836 --> 00:01:20,085 nid ydynt yn llwytho i lawr yn gywir. 34 00:01:20,085 --> 00:01:21,690 35 00:01:21,690 --> 00:01:24,560 Ac yr wyf yn gwybod ei fod yn ychydig yn wonky mewn system i ddod i arfer i, 36 00:01:24,560 --> 00:01:26,950 ond yn unig fod super yn ofalus, os mai dim ond i mi, 37 00:01:26,950 --> 00:01:30,080 felly pan ydych yn cael negeseuon e-bost yn hoffi 02:00 ac rwy'n graddio. 38 00:01:30,080 --> 00:01:33,710 Os na fydd yn achosi rhaid i mi edrych i gyd o gwmpas ar gyfer eich Pset. 39 00:01:33,710 --> 00:01:34,440 Cool. 40 00:01:34,440 --> 00:01:37,270 >> Rwy'n gwybod ei fod yn gynnar, ond yr wyf yn hollol got tynnu oddi ar wyliadwrus 41 00:01:37,270 --> 00:01:40,800 gan draethawd sy'n ddyledus dydd Gwener yma, bod fy athrawon yn union fel, o ie. 42 00:01:40,800 --> 00:01:42,550 Cofiwch, mae gennych traethawd ddyledus ar ddydd Gwener. 43 00:01:42,550 --> 00:01:45,780 Felly, yr wyf yn gwybod nad oes neb yn hoffi i feddwl am midterms, 44 00:01:45,780 --> 00:01:50,620 ond mae eich cwis cyntaf ar 15 Hydref, sydd Hydref yn dechrau yr wythnos hon. 45 00:01:50,620 --> 00:01:53,290 Felly, gallai fod yn gynt nag yr oeddech yn disgwyl i gyd. 46 00:01:53,290 --> 00:01:57,510 Felly, nad ydych yn taflu i ffwrdd wyliadwrus pan Rwy'n sôn am adran yr wythnos nesaf yn y oh, 47 00:01:57,510 --> 00:02:00,560 eich cwis yr wythnos nesaf, yr wyf yn meddwl Byddwn yn rhoi ychydig bach yn fwy 48 00:02:00,560 --> 00:02:01,500 o pennau i fyny yn awr. 49 00:02:01,500 --> 00:02:02,970 50 00:02:02,970 --> 00:02:04,660 >> Felly, eich problem a osodwyd, rhif tri. 51 00:02:04,660 --> 00:02:07,070 Sut mae pobl wedi darllen y fanyleb allan o chwilfrydedd? 52 00:02:07,070 --> 00:02:08,560 53 00:02:08,560 --> 00:02:09,199 OK. 54 00:02:09,199 --> 00:02:10,229 Rydym yn cael un neu ddau. 55 00:02:10,229 --> 00:02:12,320 Kind o lawr o ddiwethaf wythnos, ond mae hynny'n iawn. 56 00:02:12,320 --> 00:02:13,650 Dwi'n gwybod ei fod allan brydferth. 57 00:02:13,650 --> 00:02:15,120 58 00:02:15,120 --> 00:02:16,660 Felly Break Out. 59 00:02:16,660 --> 00:02:21,010 Yn bendant ar ôl i chi yn cael eu gwneud Heddiw ddarllen eich manyleb o leiaf 60 00:02:21,010 --> 00:02:25,240 ceisiwch hoffi lawrlwytho cod dosbarthu a rhedeg 61 00:02:25,240 --> 00:02:27,430 fel y cychwynnol cyntaf beth y maent yn gofyn i chi. 62 00:02:27,430 --> 00:02:28,681 63 00:02:28,681 --> 00:02:32,590 Oherwydd ein bod yn defnyddio cod dosbarthu a llyfrgell 64 00:02:32,590 --> 00:02:36,790 yr ydym wedi dim ond bod yn using-- --It dim ond yr ail dro rydym wedi gwneud Pset hwn, 65 00:02:36,790 --> 00:02:38,650 Gall pethau crazy ddigwydd gyda eich offer, 66 00:02:38,650 --> 00:02:41,370 ac rydych am ddod o hyd bod allan yn awr yn erbyn yn ddiweddarach. 67 00:02:41,370 --> 00:02:45,570 >> Oherwydd os yw'n nos Iau neu 'i' Nos Fercher ac am ryw reswm 68 00:02:45,570 --> 00:02:48,912 eich offer nid yn unig yn ei wneud eisiau rhedeg gyda'r llyfrgell 69 00:02:48,912 --> 00:02:50,620 neu gyda'r dosbarthiad cod, bod modd 70 00:02:50,620 --> 00:02:52,309 Ni allwch chi hyd yn oed yn dechrau gwneud y codio. 71 00:02:52,309 --> 00:02:54,100 Oherwydd nad ydych yn gallu gwirio i weld a yw'n gweithio. 72 00:02:54,100 --> 00:02:55,975 Eich Nid yw gonna fod yn gallu i weld a yw'n llunio. 73 00:02:55,975 --> 00:03:00,500 Rydych am i ofalu am y rhai yn gynnar yn yr wythnos, pryd y gallwch barhau i e-bost ataf 74 00:03:00,500 --> 00:03:03,100 neu un o'r TFS eraill, a gallwn gael rhai sefydlog. 75 00:03:03,100 --> 00:03:05,410 Gan fod y rheini yn faterion bod yn mynd i roi'r gorau i chi 76 00:03:05,410 --> 00:03:07,120 rhag gwneud unrhyw gynnydd gwirioneddol. 77 00:03:07,120 --> 00:03:10,055 Dyw hi ddim yn hoffi un nam, bod gallwch jyst fath o sgip drosodd. 78 00:03:10,055 --> 00:03:10,712 79 00:03:10,712 --> 00:03:13,420 Os ydych yn cael problemau gyda'ch offer neu cod dosbarthu, 80 00:03:13,420 --> 00:03:16,211 chi wir am gael hynny a gymerwyd gofal o gynt yn hytrach nag yn hwyrach. 81 00:03:16,211 --> 00:03:20,410 Felly hyd yn oed os nad ydych yn gonna mewn gwirionedd dechrau codio, lawrlwythwch y dosbarthiad 82 00:03:20,410 --> 00:03:24,040 cod, darllenwch y spec, gwnewch yn siŵr popeth sy'n gweithio yno. 83 00:03:24,040 --> 00:03:25,134 OK? 84 00:03:25,134 --> 00:03:27,675 Os gallwch wneud hynny, yr wyf yn addo eich bywyd yn haws. 85 00:03:27,675 --> 00:03:28,800 86 00:03:28,800 --> 00:03:31,410 Ac felly mae'n debyg eich bod yn mynd i wneud hynny ar hyn o bryd yn iawn? 87 00:03:31,410 --> 00:03:32,100 OK. 88 00:03:32,100 --> 00:03:33,950 Felly, unrhyw gwestiynau yno? 89 00:03:33,950 --> 00:03:35,850 Unrhyw pethau logistaidd? 90 00:03:35,850 --> 00:03:36,910 Mae pawb yn dda? 91 00:03:36,910 --> 00:03:38,270 OK. 92 00:03:38,270 --> 00:03:41,700 >> Ymwadiad ar gyfer y rhai o chi yn yr ystafell ac ar-lein. 93 00:03:41,700 --> 00:03:45,437 Rydw i'n mynd i fod yn ceisio newid rhwng PowerPoint yn y peiriant 94 00:03:45,437 --> 00:03:47,270 oherwydd ein bod yn mynd i fod yn gwneud rhywfaint o codio 95 00:03:47,270 --> 00:03:53,630 heddiw drwy alw poblogaidd y ddienw arolwg awgrym Anfonais yr wythnos diwethaf. 96 00:03:53,630 --> 00:03:55,480 Felly, byddwn yn gwneud rhywfaint o godio. 97 00:03:55,480 --> 00:03:57,800 Felly, os ydych guys hefyd eisiau i tân i fyny eich offer, 98 00:03:57,800 --> 00:04:02,910 a dylech fod wedi cael e-bost oddi wrthyf, gyda ffeil enghreifftiol. 99 00:04:02,910 --> 00:04:04,310 Mae croeso i chi wneud hynny. 100 00:04:04,310 --> 00:04:07,340 >> Felly, rydym yn mynd i siarad am GDB, sydd yn debugger. 101 00:04:07,340 --> 00:04:09,970 Mae'n mynd i helpu chi math o chyfrif i maes ble 102 00:04:09,970 --> 00:04:11,860 pethau'n mynd o chwith yn eich cod. 103 00:04:11,860 --> 00:04:15,370 Mae'n mewn gwirionedd dim ond yn ffordd i chi gamu drwy eich cod fel y mae'n digwydd, 104 00:04:15,370 --> 00:04:19,100 a gallu argraffu newidynnau neu weld beth sy'n digwydd mewn gwirionedd 105 00:04:19,100 --> 00:04:22,980 o dan y cwfl penillion eich rhaglen dim ond yn rhedeg, mae fel ffawtio, 106 00:04:22,980 --> 00:04:25,030 a ydych chi fel, dim syniad beth yn union ddigwyddodd yma. 107 00:04:25,030 --> 00:04:26,730 Nid wyf yn gwybod pa llinell fod wedi methu ar. 108 00:04:26,730 --> 00:04:29,040 Nid wyf yn gwybod lle y mae'n mynd o'i le. 109 00:04:29,040 --> 00:04:31,280 Felly, GDB yn mynd i eich helpu gyda hynny. 110 00:04:31,280 --> 00:04:35,240 Hefyd, os ydych yn penderfynu parhau ie, ac yn cymryd 61, 111 00:04:35,240 --> 00:04:38,430 bydd yn iawn, iawn fydd eich ffrind gorau, achos gallaf ddweud wrthych 112 00:04:38,430 --> 00:04:40,840 oherwydd fy mod i'n mynd drwy'r y dosbarth hwnnw. 113 00:04:40,840 --> 00:04:43,620 >> Rydym yn mynd i edrych ar deuaidd chwilio, ac os ydych yn guys yn cofio 114 00:04:43,620 --> 00:04:47,540 yr enghraifft llyfr ffôn wych olygfa o'r dosbarth. 115 00:04:47,540 --> 00:04:50,620 Byddwn yn gweithredu hynny, a cerdded trwy hynny ychydig yn fwy, 116 00:04:50,620 --> 00:04:54,650 ac yna rydym yn mynd drwy bedair wahanol fathau, sef Bubble, 117 00:04:54,650 --> 00:04:56,285 Dewis, Mewnosod, a Cyfuno. 118 00:04:56,285 --> 00:04:57,830 119 00:04:57,830 --> 00:04:58,330 Cool. 120 00:04:58,330 --> 00:05:00,390 Felly, GDB fel y soniais, yn dadfygiwr. 121 00:05:00,390 --> 00:05:01,400 122 00:05:01,400 --> 00:05:09,370 Ac mae'r rhain yn fath o yr mawr pethau, mae'r swyddogaethau mawr neu'r gorchmynion 123 00:05:09,370 --> 00:05:13,240 eich bod yn defnyddio o fewn GDB, a byddaf yn cerdded chi drwy demo ohono mewn eiliad. 124 00:05:13,240 --> 00:05:15,360 >> Felly, nid yw hyn yn unig mynd i aros haniaethol. 125 00:05:15,360 --> 00:05:18,000 'N annhymerus' ceisio gwneud mor concrid â phosibl i chi guys. 126 00:05:18,000 --> 00:05:19,870 Felly, torri. 127 00:05:19,870 --> 00:05:22,200 Bydd yn naill ai fod egwyl fel, mae rhai rhif, a oedd yn 128 00:05:22,200 --> 00:05:26,900 yn cynrychioli llinell yn eich rhaglen, neu gallwch enwi swyddogaeth. 129 00:05:26,900 --> 00:05:30,150 Felly, os byddwch yn dweud torri prif, bydd yn stopio ym mhrif, 130 00:05:30,150 --> 00:05:32,400 ac yn gadael i chi gerdded drwy'r swyddogaeth honno. 131 00:05:32,400 --> 00:05:36,350 >> Yn yr un modd, os oes gennych rai allanol weithredu fel Swap neu Cube, 132 00:05:36,350 --> 00:05:38,450 ein bod yn edrych ar yr wythnos diwethaf. 133 00:05:38,450 --> 00:05:41,780 Os ydych yn dweud torri un o'r rheini, pryd bynnag eich rhaglen hits hynny, 134 00:05:41,780 --> 00:05:44,290 bydd yn aros i chi i yn dweud ei bod beth i'w wneud. 135 00:05:44,290 --> 00:05:47,860 Cyn y bydd yn jyst gweithredu er mwyn i chi Gallai gwirionedd gamu i mewn i'r swyddogaeth 136 00:05:47,860 --> 00:05:49,020 a gweld beth sy'n mynd ymlaen. 137 00:05:49,020 --> 00:05:50,370 138 00:05:50,370 --> 00:05:53,515 Felly, Next, jyst sgipiau dros y llinell nesaf, yn mynd dros swyddogaethau. 139 00:05:53,515 --> 00:05:54,730 140 00:05:54,730 --> 00:05:55,560 Step. 141 00:05:55,560 --> 00:05:56,810 Mae'r rhain i gyd yn haniaethol bach. 142 00:05:56,810 --> 00:06:00,530 Felly, Im 'jyst yn mynd i redeg drwyddynt, ond byddwch yn eu gweld yn cael eu defnyddio mewn eiliad. 143 00:06:00,530 --> 00:06:01,810 >> Camwch i mewn i swyddogaeth. 144 00:06:01,810 --> 00:06:04,170 Felly, fel yr oeddwn yn dweud, fel ag Swap, byddai'n 145 00:06:04,170 --> 00:06:07,110 yn caniatáu i chi mewn gwirionedd fel pe baech chi'n fel camu y tu mewn yn gorfforol, 146 00:06:07,110 --> 00:06:10,990 gallwch chi chwarae o gwmpas gyda newidynnau hynny, print allan beth ydynt, gweld beth sy'n mynd ymlaen. 147 00:06:10,990 --> 00:06:12,140 148 00:06:12,140 --> 00:06:14,830 Bydd y rhestr yn llythrennol dim ond argraffu allan y cod cyfagos. 149 00:06:14,830 --> 00:06:17,570 Felly, os ydych yn fath o anghofio ble rydych chi yn eich rhaglen, 150 00:06:17,570 --> 00:06:19,880 neu os ydych yn meddwl beth sy'n digwydd o'i gwmpas, 151 00:06:19,880 --> 00:06:23,790 Bydd hyn yn unig argraffu segment o hoffi pump neu chwe llinell o'i gwmpas. 152 00:06:23,790 --> 00:06:26,080 Felly, gallwch fod yn ganolog am ble rydych chi. 153 00:06:26,080 --> 00:06:27,230 154 00:06:27,230 --> 00:06:28,650 >> Argraffu rhywfaint newidyn. 155 00:06:28,650 --> 00:06:34,590 Felly, os ydych yn cael y allweddol fel yn Cesar, a byddwn yn edrych ar. 156 00:06:34,590 --> 00:06:36,220 Gallwch ddweud Print Allweddol ar unrhyw adeg. 157 00:06:36,220 --> 00:06:40,070 Bydd yn dweud wrthych beth yw gwerth mor hynny, efallai rhywle ar hyd y ffordd, 158 00:06:40,070 --> 00:06:42,070 overwrote chi eich allwedd. 159 00:06:42,070 --> 00:06:45,495 Alli 'n weithredol ddweud hynny oherwydd alli 'n weithredol yn arsylwi bod gwerth. 160 00:06:45,495 --> 00:06:46,500 161 00:06:46,500 --> 00:06:48,780 >> Yn y bobl leol, dim ond printiau allan eich newidynnau lleol. 162 00:06:48,780 --> 00:06:53,120 Felly, unrhyw bryd ydych chi o fewn dolen, a 'ch jyst eisiau gweld fel, oh. 163 00:06:53,120 --> 00:06:54,270 Beth yw fy I? 164 00:06:54,270 --> 00:06:57,020 Beth yw hyn yn werth allweddol fy mod ymgychwyn fan hyn? 165 00:06:57,020 --> 00:06:58,537 Beth yw'r neges yn y fan hon? 166 00:06:58,537 --> 00:07:00,370 Bydd 'I jyst yn argraffu gyd o'r rheiny, er mwyn i chi 167 00:07:00,370 --> 00:07:04,330 nid oes rhaid iddynt yn unigol dweud, Print I. Print Neges. 168 00:07:04,330 --> 00:07:04,970 Allwedd Print. 169 00:07:04,970 --> 00:07:06,190 170 00:07:06,190 --> 00:07:07,700 Ac yna Arddangos. 171 00:07:07,700 --> 00:07:10,370 Yr hyn sy'n gwneud yw wrth i chi camu drwy'r rhaglen, 172 00:07:10,370 --> 00:07:13,980 bydd yn jyst wneud yn siŵr ei fod yn arddangos peth newidyn penodol 173 00:07:13,980 --> 00:07:14,780 ar bob adeg. 174 00:07:14,780 --> 00:07:17,160 Er mwyn i chi also-- --it yn fath o shortcut lle 175 00:07:17,160 --> 00:07:19,530 Nid oes rhaid i chi gadw i fynd fel, oh. 176 00:07:19,530 --> 00:07:23,150 Print Allweddol neu Argraffu I. I jyst Bydd gwneud hyn yn awtomatig ar eich rhan. 177 00:07:23,150 --> 00:07:25,959 >> Felly, gyda hynny, rydym yn mynd i weld sut mae hyn yn mynd. 178 00:07:25,959 --> 00:07:28,000 Rydw i'n mynd i geisio newid drosodd i fy offer. 179 00:07:28,000 --> 00:07:30,200 180 00:07:30,200 --> 00:07:31,271 Weld os gallaf wneud hyn. 181 00:07:31,271 --> 00:07:31,770 I gyd. 182 00:07:31,770 --> 00:07:40,970 183 00:07:40,970 --> 00:07:42,370 Rydym yn jyst yn mynd i adlewyrchu hynny. 184 00:07:42,370 --> 00:07:44,530 Does dim byd crazy ar fy laptop anyways. 185 00:07:44,530 --> 00:07:49,600 186 00:07:49,600 --> 00:07:50,100 OK. 187 00:07:50,100 --> 00:07:57,030 188 00:07:57,030 --> 00:08:01,054 Mae angen i hyn fod yn yr un yma. 189 00:08:01,054 --> 00:08:01,795 Mae mor bach. 190 00:08:01,795 --> 00:08:03,730 191 00:08:03,730 --> 00:08:05,120 Gadewch i ni weld os gallwn wneud hyn. 192 00:08:05,120 --> 00:08:09,970 193 00:08:09,970 --> 00:08:10,940 >> OK. 194 00:08:10,940 --> 00:08:15,305 Alice yn amlwg yn cael trafferth dyma ychydig bach, 195 00:08:15,305 --> 00:08:17,995 ond byddwn yn ei gael mewn momento. 196 00:08:17,995 --> 00:08:20,810 197 00:08:20,810 --> 00:08:22,020 OK. 198 00:08:22,020 --> 00:08:25,900 Rydym yn jyst yn mynd i gynyddu hyn. 199 00:08:25,900 --> 00:08:28,770 200 00:08:28,770 --> 00:08:29,380 OK. 201 00:08:29,380 --> 00:08:31,679 Gall pawb fath o weld hynny? 202 00:08:31,679 --> 00:08:32,470 Efallai ychydig bach? 203 00:08:32,470 --> 00:08:33,594 Rwy'n gwybod ei fod yn ychydig yn fach. 204 00:08:33,594 --> 00:08:34,570 205 00:08:34,570 --> 00:08:37,530 Ni allwch hollol chyfrif i maes sut i wneud hyn yn fwy. 206 00:08:37,530 --> 00:08:38,350 Os oes unrhyw un yn gwybod. 207 00:08:38,350 --> 00:08:40,309 Oes rhywun yn gwybod sut i'w wneud yn fwy? 208 00:08:40,309 --> 00:08:40,932 OK. 209 00:08:40,932 --> 00:08:42,140 Rydym yn mynd i gyflwyno ag ef. 210 00:08:42,140 --> 00:08:45,801 Nid yw'n fater anyways oherwydd ei fod yn unig dyna yw'r cod y dylech guys 211 00:08:45,801 --> 00:08:46,300 wedi. 212 00:08:46,300 --> 00:08:48,310 >> Beth sydd yn fwy pwysig yw'r derfynell yma. 213 00:08:48,310 --> 00:08:52,840 214 00:08:52,840 --> 00:08:58,690 Ac mae gennym yma Pam ei fod mor fach? 215 00:08:58,690 --> 00:09:02,325 216 00:09:02,325 --> 00:09:02,825 Gosodiadau. 217 00:09:02,825 --> 00:09:07,920 218 00:09:07,920 --> 00:09:08,420 Oh. 219 00:09:08,420 --> 00:09:09,500 Gwir Ike. 220 00:09:09,500 --> 00:09:10,880 Sut ydyn nhw? 221 00:09:10,880 --> 00:09:11,770 Allan o yno. 222 00:09:11,770 --> 00:09:19,370 223 00:09:19,370 --> 00:09:21,810 A yw hynny'n well i bawb? 224 00:09:21,810 --> 00:09:22,525 OK ,. 225 00:09:22,525 --> 00:09:23,025 Cool. 226 00:09:23,025 --> 00:09:25,830 227 00:09:25,830 --> 00:09:28,220 >> Rydych yn gwybod pan fyddwch chi'n mewn CS anawsterau technegol dosbarth 228 00:09:28,220 --> 00:09:32,971 yn fath o yn rhan o the-- Felly, gadewch i ni glirio'r hyn. 229 00:09:32,971 --> 00:09:33,470 OK. 230 00:09:33,470 --> 00:09:38,060 Felly, i'r dde yma yn yr adran, oedd yn oedd gennym yma. 231 00:09:38,060 --> 00:09:40,830 Cesar yn ffeil weithredadwy. 232 00:09:40,830 --> 00:09:41,800 Felly, yr wyf yn ei gwneud yn. 233 00:09:41,800 --> 00:09:46,370 Felly, un peth i sylweddoli gyda GDB yn mai dim ond yn gweithio ar ffeiliau gweithredadwy. 234 00:09:46,370 --> 00:09:48,040 Felly, ni allwch ei redeg ar un DOTSY. 235 00:09:48,040 --> 00:09:50,532 Rhaid i chi wneud mewn gwirionedd yn siwr bod eich cod llunio, 236 00:09:50,532 --> 00:09:51,865 ac y gall fod mewn gwirionedd yn cael ei redeg. 237 00:09:51,865 --> 00:09:52,970 238 00:09:52,970 --> 00:09:56,186 >> Felly, gwnewch yn siŵr nad os nad yw'n gwneud lunio, ei gael i lunio, 239 00:09:56,186 --> 00:09:57,810 er mwyn i chi fath o redeg drwyddo. 240 00:09:57,810 --> 00:10:04,590 Felly, i ddechrau GDB, i gyd chi ei wneud, Gloria Math o GDB, ac yna dim ond y 241 00:10:04,590 --> 00:10:06,250 ffeilio a 'ch angen. 242 00:10:06,250 --> 00:10:08,240 Rwyf bob amser yn misspell Cesar. 243 00:10:08,240 --> 00:10:11,730 Ond yr ydych am wneud yn siŵr gan ei fod yn 'an cyflawnadwy, 244 00:10:11,730 --> 00:10:14,210 ti yn dot fflach fel bod yn golygu eich bod yn mynd 245 00:10:14,210 --> 00:10:19,240 i redeg CSI ydych yn mynd i weithredu mae hyn ffeiliau naill ai gyda'r debugger. 246 00:10:19,240 --> 00:10:19,910 OK. 247 00:10:19,910 --> 00:10:22,885 Felly, yr ydych yn bod, byddwch yn cael y math hwn o gibberish. 248 00:10:22,885 --> 00:10:24,250 249 00:10:24,250 --> 00:10:25,750 Dim ond yr holl bethau am dadfygiwr. 250 00:10:25,750 --> 00:10:28,200 Nid oes mewn gwirionedd yn rhaid i chi poeni am y peth ar hyn o bryd. 251 00:10:28,200 --> 00:10:31,460 Ac fel y gwelwch, rydym wedi hyn parens agored, GDP, parens agos, 252 00:10:31,460 --> 00:10:34,690 a dim ond yn fath o edrych fel ein llinell orchymyn, dde? 253 00:10:34,690 --> 00:10:37,010 >> Felly, yr hyn yr ydym am ei do-- --So, Y peth cyntaf 254 00:10:37,010 --> 00:10:39,570 yw ein bod am ddewis lle i dorri iddo. 255 00:10:39,570 --> 00:10:42,332 Felly, mae yna un bug yn y rhaglen Caesar 256 00:10:42,332 --> 00:10:44,290 fy mod yn cyflwyno, hynny rydym yn mynd i gael gwybod. 257 00:10:44,290 --> 00:10:45,330 258 00:10:45,330 --> 00:10:56,350 Mae'n beth mae'n yw y mae'n ei gymryd mewnbwn Barfoo ym mhob gapiau, ac am ryw reswm 259 00:10:56,350 --> 00:11:01,950 nid yw'n newid A. 'I jyst yn gadael ei ben ei hun, A yw popeth arall yn gywir, 260 00:11:01,950 --> 00:11:03,980 ond yr ail lythyr A aros heb ei newid. 261 00:11:03,980 --> 00:11:07,120 Felly, rydym yn mynd i geisio chyfrif i maes pam y mae. 262 00:11:07,120 --> 00:11:10,440 Felly, y peth cyntaf y byddwch fel arfer am ei wneud pryd bynnag y byddwch yn dechrau ar GDB 263 00:11:10,440 --> 00:11:12,010 yw chyfrif i maes ble i dorri iddo. 264 00:11:12,010 --> 00:11:14,956 >> Felly Cesar yn rhaglen eithaf byr. 265 00:11:14,956 --> 00:11:16,330 Rydym yn unig wedi un swyddogaeth, dde? 266 00:11:16,330 --> 00:11:18,520 Beth oedd ein swyddogaeth yn Cesar? 267 00:11:18,520 --> 00:11:19,590 268 00:11:19,590 --> 00:11:24,350 Dim ond un swyddogaeth, Main iawn? 269 00:11:24,350 --> 00:11:26,490 Main yn swyddogaeth ar gyfer eich holl raglenni. 270 00:11:26,490 --> 00:11:29,230 Os nad oedd gennych Main, yr wyf efallai fod ychydig yn poeni yn ar hyn o bryd, 271 00:11:29,230 --> 00:11:31,000 ond yr wyf yn gobeithio y byddwch i gyd wedi Main i mewn 'na. 272 00:11:31,000 --> 00:11:34,150 Felly, yr hyn y gallwn ei wneud yw ein bod yn gallu jyst torri Main, yn union fel hynny. 273 00:11:34,150 --> 00:11:35,190 Felly, y mae'n ei ddweud, OK. 274 00:11:35,190 --> 00:11:37,430 Rydym yn gosod ein un torbwynt yno. 275 00:11:37,430 --> 00:11:42,870 >> Felly, yn awr y peth i'w gofio yw Cesar cymryd un ymresymiad llinell orchymyn hawl 276 00:11:42,870 --> 00:11:45,150 ac nid ydym wedi gwneud hynny unrhyw le eto. 277 00:11:45,150 --> 00:11:47,560 Felly, yr hyn yr ydych yn ei wneud yw pan yr ydych mewn gwirionedd yn mynd i redeg 278 00:11:47,560 --> 00:11:51,540 y rhaglen, unrhyw raglen eich bod yn rhedeg yn GDB bod angen llinell orchymyn 279 00:11:51,540 --> 00:11:55,010 dadleuon, rydych chi'n mynd i mewnbwn pan fyddwch yn dechrau rhedeg. 280 00:11:55,010 --> 00:11:59,280 Felly, yn yr achos hwn, rydym yn ei wneud Rhedeg gydag allwedd o dri. 281 00:11:59,280 --> 00:12:00,770 282 00:12:00,770 --> 00:12:02,040 A bydd yn dechrau mewn gwirionedd. 283 00:12:02,040 --> 00:12:08,480 >> Felly, os ydych yn gweld yma, rydym wedi Os nad RC yn hafal i 2. 284 00:12:08,480 --> 00:12:12,210 Felly os ydych yn guys i gyd yn cael bod ffeil a anfonais allan fyny 285 00:12:12,210 --> 00:12:15,100 youll 'canfod a dyna fel yr llinell gyntaf ein prif swyddogaeth, dde? 286 00:12:15,100 --> 00:12:17,890 Mae wedi gwirio i weld a oes gennym y nifer cywir o ddadleuon. 287 00:12:17,890 --> 00:12:20,620 Felly, os ydych yn meddwl os RC yn gywir, 288 00:12:20,620 --> 00:12:23,250 gallwch wneud rhywbeth yn union fel Print RC. 289 00:12:23,250 --> 00:12:24,380 290 00:12:24,380 --> 00:12:28,640 RC yw dau, sef hyn yr oeddem yn disgwyl, dde? 291 00:12:28,640 --> 00:12:32,010 >> Felly, gallwn fynd Next, ac yn parhau trwy. 292 00:12:32,010 --> 00:12:33,200 Felly, mae gennym rai allwedd yno. 293 00:12:33,200 --> 00:12:34,260 294 00:12:34,260 --> 00:12:37,090 A gallwn argraffu ein allwedd i wneud yn siŵr mae hynny'n gywir. 295 00:12:37,090 --> 00:12:38,380 296 00:12:38,380 --> 00:12:39,500 Diddorol. 297 00:12:39,500 --> 00:12:41,210 Ddim yn hollol yr hyn yr oeddem yn disgwyl. 298 00:12:41,210 --> 00:12:44,810 Felly, un peth i wireddu gyda GDB hefyd, yn 299 00:12:44,810 --> 00:12:49,000 nad yw'n nes i chi daro mewn gwirionedd Nesaf, bod y llinell yr ydych newydd ei gweld 300 00:12:49,000 --> 00:12:50,720 ei chyflawni mewn gwirionedd. 301 00:12:50,720 --> 00:12:53,870 Felly, yn yr achos hwn Allwedd Nid yw wedi cael ei neilltuo eto. 302 00:12:53,870 --> 00:12:57,050 Felly, mae Allweddol rhywfaint o werth garbage a welwch ar y gwaelod yno. 303 00:12:57,050 --> 00:13:03,680 Negyddol $ 120-- --It yn un biliwn o a rhywbeth pethau rhyfedd iawn? 304 00:13:03,680 --> 00:13:05,340 Dyw hi ddim yn y allweddol a ddisgwylir gennym. 305 00:13:05,340 --> 00:13:10,720 Ond os ydym yn taro Nesaf, ac yna rydym yn ceisio Print allweddol, mae'n tri. 306 00:13:10,720 --> 00:13:11,710 >> Mae pawb yn gweld hynny? 307 00:13:11,710 --> 00:13:13,780 Felly, os ydych yn cael rhywbeth eich bod yn hoffi, aros. 308 00:13:13,780 --> 00:13:15,540 Mae hyn yn gwbl anghywir, ac nid wyf yn gwybod 309 00:13:15,540 --> 00:13:20,150 sut y byddai hyn yn digwydd gan fod yr holl wyf eisiau ei wneud yw aseinio rhif, newidyn, 310 00:13:20,150 --> 00:13:22,900 ceisiwch taro Nesaf, rhowch gynnig argraffu eto, a gweld os yw hynny'n gweithio. 311 00:13:22,900 --> 00:13:27,830 Oherwydd ei fod yn unig yn mynd i weithredu a mewn gwirionedd yn aseinio rhywbeth ar ôl i chi 312 00:13:27,830 --> 00:13:29,340 daro Next. 313 00:13:29,340 --> 00:13:30,336 Gwneud synnwyr i bawb? 314 00:13:30,336 --> 00:13:30,836 Uh huh? 315 00:13:30,836 --> 00:13:33,220 >> SIARADWR 2: Pan fyddwch yn ar hap rhifau beth mae hynny'n ei olygu? 316 00:13:33,220 --> 00:13:34,790 >> SIARADWR 1: Dim ond ar hap. 317 00:13:34,790 --> 00:13:35,710 Dim ond garbage. 318 00:13:35,710 --> 00:13:38,320 Dim ond rhywbeth y mae eich Bydd y cyfrifiadur yn neilltuo ar hap. 319 00:13:38,320 --> 00:13:39,721 320 00:13:39,721 --> 00:13:40,220 Cool. 321 00:13:40,220 --> 00:13:45,760 Felly, erbyn hyn gallwn symud drwy'r, ac yn y blaen erbyn hyn mae gennym y GetString testun plaen. 322 00:13:45,760 --> 00:13:48,600 Felly, gadewch i mi yn unig gyflwyno beth fydd yn digwydd pan fyddwn yn taro Next yma. 323 00:13:48,600 --> 00:13:51,320 Mae ein GDB fath o diflannu, dde? 324 00:13:51,320 --> 00:13:55,720 Mae hynny oherwydd GetString yn awr yn cyflawni, dde? 325 00:13:55,720 --> 00:14:01,460 Felly, pan welsom destun plaen yn dychwelyd GetString, parens agored a parens, 326 00:14:01,460 --> 00:14:04,380 ac yr ydym yn taro Nesaf, sydd ddienyddio mewn gwirionedd nawr. 327 00:14:04,380 --> 00:14:06,580 Felly, mae'n aros am i ni mewnbwn rhywbeth. 328 00:14:06,580 --> 00:14:13,560 >> Felly, rydym yn mynd i gyfrannu ein bwyd sydd yn yr hyn y mae'n methu fel y dywedais wrthych 329 00:14:13,560 --> 00:14:18,020 ac mai dim ond yn dweud ei fod yn gorffen cyflawni, bod y cau 330 00:14:18,020 --> 00:14:19,980 braced yn golygu ei fod yn cyffrous allan o'r ddolen. 331 00:14:19,980 --> 00:14:21,170 332 00:14:21,170 --> 00:14:25,420 Felly, gallwn daro Next, ac yn awr, gan fy mod yn siŵr eich bod i gyd yn gyfarwydd gan Cesar, 333 00:14:25,420 --> 00:14:27,260 mae hyn yw, beth sydd y llinell hon yn mynd i'w wneud. 334 00:14:27,260 --> 00:14:32,030 Mae'n i Int I yn dychwelyd 0, N hafal Strlen, testun plaen, ac yna 335 00:14:32,030 --> 00:14:33,960 Rwyf yn llai na n, I, yn ogystal, yn ogystal. 336 00:14:33,960 --> 00:14:35,210 Beth yw dolen hwn yn mynd i'w wneud? 337 00:14:35,210 --> 00:14:37,900 338 00:14:37,900 --> 00:14:39,160 Agorwch eich neges. 339 00:14:39,160 --> 00:14:39,770 Cool. 340 00:14:39,770 --> 00:14:41,330 Felly, gadewch i ni ddechrau gwneud hynny. 341 00:14:41,330 --> 00:14:47,210 >> Felly, dylai amod hwn cyfateb, ar gyfer ein un cyntaf? 342 00:14:47,210 --> 00:14:52,250 Os yw'n B, mae'n destun plaen I. Rydym Gellir cael gwybodaeth am ein pobl leol. 343 00:14:52,250 --> 00:14:53,610 344 00:14:53,610 --> 00:14:57,970 Felly, yr wyf yn sero, ac os bydd chwech, a oedd rydym yn disgwyl, ac mae ein allwedd yw tri. 345 00:14:57,970 --> 00:14:59,227 Y cyfan sydd yn gwneud synnwyr, dde? 346 00:14:59,227 --> 00:15:01,310 Niferoedd hynny i gyd yn union yr hyn y dylent fod. 347 00:15:01,310 --> 00:15:02,590 348 00:15:02,590 --> 00:15:03,870 Felly, Hum? 349 00:15:03,870 --> 00:15:05,620 SIARADWR 3: Mae gen i rhifau ar hap i pwll. 350 00:15:05,620 --> 00:15:09,156 351 00:15:09,156 --> 00:15:12,030 SIARADWR 1: Wel, gallwn check-- --we Gall sgwrsio am hynny mewn eiliad. 352 00:15:12,030 --> 00:15:14,110 353 00:15:14,110 --> 00:15:15,750 Ond dylech fod yn cael hyn. 354 00:15:15,750 --> 00:15:17,700 355 00:15:17,700 --> 00:15:20,130 Felly, os oes gennym gyfalaf B ar gyfer ein un cyntaf, 356 00:15:20,130 --> 00:15:22,080 Dylai cyflwr hwn yn ei ddal, dde? 357 00:15:22,080 --> 00:15:27,120 Felly, os ydym yn taro Nesaf, rydym yn gweld mai Os yw hyn mewn gwirionedd yn executes. 358 00:15:27,120 --> 00:15:29,220 Oherwydd os ydych yn dilyn ynghyd yn eich cod, 359 00:15:29,220 --> 00:15:33,460 y llinell hon yma, lle testun plaen I yn cael ei disodli gan rhifyddeg hwn, 360 00:15:33,460 --> 00:15:35,720 ond yn executes os yw'r Os cyflwr yn iawn yn gywir? 361 00:15:35,720 --> 00:15:36,905 362 00:15:36,905 --> 00:15:40,240 >> GDB Dim ond yn mynd i ddangos i chi pethau sy'n cael eu gweithredu mewn gwirionedd. 363 00:15:40,240 --> 00:15:45,140 Felly, os nad yw hyn cyflwr Pe ei gwrdd, 'i' jyst yn mynd i neidio at y llinell nesaf. 364 00:15:45,140 --> 00:15:46,540 OK? 365 00:15:46,540 --> 00:15:48,510 Felly, mae gennym hynny. 366 00:15:48,510 --> 00:15:51,171 Y band yn golygu ei fod yn cau allan o'r cylch hwnnw erbyn hyn. 367 00:15:51,171 --> 00:15:52,420 Felly, mae'n mynd i ddechrau eto. 368 00:15:52,420 --> 00:15:54,760 369 00:15:54,760 --> 00:15:56,280 Yn union fel 'na. 370 00:15:56,280 --> 00:15:59,120 Felly, y gallwn gael gwybodaeth am ein pobl leol yma, 371 00:15:59,120 --> 00:16:02,575 ac rydym yn gweld bod ein cyntaf llythyr wedi newid, dde? 372 00:16:02,575 --> 00:16:05,150 Mae'n awr yn E, fel y dylai fod. 373 00:16:05,150 --> 00:16:07,360 Felly, gallwn barhau ar. 374 00:16:07,360 --> 00:16:08,500 >> Ac yr ydym wedi gwiriad hwn. 375 00:16:08,500 --> 00:16:09,916 A dylai gwiriad hwn yn gweithio, dde? 376 00:16:09,916 --> 00:16:12,570 Mae'n A. Dylid ei newid tri llythyr ymlaen. 377 00:16:12,570 --> 00:16:14,320 378 00:16:14,320 --> 00:16:16,530 Ond os byddwch yn sylwi, rydym yn cael rhywbeth gwahanol. 379 00:16:16,530 --> 00:16:17,580 380 00:16:17,580 --> 00:16:22,860 Felly, yn yr achos yma, mae'n dal iddo, ac felly mae hyn yn llinell ddienyddio, 381 00:16:22,860 --> 00:16:28,620 oedd yn addasu ein B. Ond, yn yr achos yma, 382 00:16:28,620 --> 00:16:32,860 rydym wedi bod 'i jyst ei hepgor, ac aeth at y [? Siff L. ?] 383 00:16:32,860 --> 00:16:34,660 Felly, rhywbeth sy'n mynd ymlaen yno. 384 00:16:34,660 --> 00:16:37,780 Yr hyn sy'n cael ei ddweud wrthych chi yw, rydym yn gwybod y dylai ddal yma, 385 00:16:37,780 --> 00:16:39,200 ond dyw e ddim. 386 00:16:39,200 --> 00:16:42,210 A all unrhyw un weld beth mae ein broblem yw yn y llinell? 387 00:16:42,210 --> 00:16:45,380 388 00:16:45,380 --> 00:16:46,969 Mae'n beth munud iawn. 389 00:16:46,969 --> 00:16:48,510 A gallech hefyd yn edrych ar eich cod. 390 00:16:48,510 --> 00:16:49,980 391 00:16:49,980 --> 00:16:54,940 Mae hefyd yn line-- anghofio pa linell y mae yn there-- namyn 'i' yn y [Anghlywadwy]. 392 00:16:54,940 --> 00:16:55,480 Ie? 393 00:16:55,480 --> 00:16:58,639 >> SIARADWR 4: Mae'n ar y fwy na dudalen os ydych yn ei ddarllen yn y llyfr. 394 00:16:58,639 --> 00:16:59,430 SIARADWR 1: Yn union. 395 00:16:59,430 --> 00:17:02,620 Felly, ni allai'r debugger ddweud eich bod yn, ond mae'r debugger 396 00:17:02,620 --> 00:17:05,880 Gellid mynd â chi i lawr i linell nad ydych yn gwybod nad yw yn gweithio. 397 00:17:05,880 --> 00:17:09,319 Ac weithiau, pan yn enwedig yn ddiweddarach yn y semester, pan 398 00:17:09,319 --> 00:17:12,910 ydych yn delio ag cant, a cant ychydig o linellau o god, ac rydych 399 00:17:12,910 --> 00:17:16,190 ddim yn gwybod ble mae'n methu, mae hwn yn ffordd wych o wneud hynny. 400 00:17:16,190 --> 00:17:17,900 401 00:17:17,900 --> 00:17:18,989 Felly, rydym yn dod o hyd ein bug. 402 00:17:18,989 --> 00:17:21,530 Gallwch drwsio yn eich ffeil, ac yna gallech redeg eto, 403 00:17:21,530 --> 00:17:23,029 a byddai popeth yn gweithio'n berffaith. 404 00:17:23,029 --> 00:17:24,970 405 00:17:24,970 --> 00:17:30,590 A'r peth mwyaf yw Gall hyn ymddangos fel, OK. 406 00:17:30,590 --> 00:17:31,090 Yeah. 407 00:17:31,090 --> 00:17:31,370 Cool. 408 00:17:31,370 --> 00:17:32,744 Rydych yn gwybod beth rydych chi'n chwilio amdano. 409 00:17:32,744 --> 00:17:34,910 Felly, rydych yn gwybod beth i'w wneud. 410 00:17:34,910 --> 00:17:39,021 >> Gall GDB fod super ddefnyddiol oherwydd eich bod Gellir argraffu yr holl bethau hyn sy'n eich 411 00:17:39,021 --> 00:17:39,520 Ni fyddai. 412 00:17:39,520 --> 00:17:41,160 Mae'n llawer mwy defnyddiol nag printf. 413 00:17:41,160 --> 00:17:43,440 Faint ohonoch chi ei ddefnyddio fel datganiadau printf 414 00:17:43,440 --> 00:17:46,200 i chyfrif i maes ble roedd yn bug, dde? 415 00:17:46,200 --> 00:17:48,450 Felly, gyda hyn, nid ydych yn ei wneud rhaid i gadw i fynd yn ôl, 416 00:17:48,450 --> 00:17:51,139 ac yn hoffi rhoi sylwadau mewn Printf, neu sylwadau allan, 417 00:17:51,139 --> 00:17:52,930 a chyfrif i maes beth dylech fod yn argraffu. 418 00:17:52,930 --> 00:17:55,670 Mae hyn mewn gwirionedd yn unig yn caniatáu i chi gamu drwy, argraffu pethau 419 00:17:55,670 --> 00:18:00,000 fel eich bod yn mynd drwy, felly, gallwch arsylwi sut maent yn newid mewn amser real, 420 00:18:00,000 --> 00:18:02,190 fel eich rhaglen yn rhedeg. 421 00:18:02,190 --> 00:18:04,390 >> Ac mae'n cymryd ychydig ychydig o ddod i arfer â. 422 00:18:04,390 --> 00:18:07,850 Byddwn yn argymell yn unig fath o fod ychydig yn rhwystredig ag ef 423 00:18:07,850 --> 00:18:08,930 am ar hyn o bryd. 424 00:18:08,930 --> 00:18:13,450 Os ydych yn treulio awr dros y Yr wythnos nesaf, yn dysgu sut i ddefnyddio GDB, 425 00:18:13,450 --> 00:18:16,140 y byddwch yn arbed eich hun cymaint o amser yn nes ymlaen. 426 00:18:16,140 --> 00:18:18,750 Ac yn llythrennol. byddwn yn dweud hwn i bobl bob blwyddyn, 427 00:18:18,750 --> 00:18:23,890 ac yr wyf yn cofio pan oeddwn yn cymryd y dosbarth, yr wyf yn hoffi, byddaf yn iawn. 428 00:18:23,890 --> 00:18:24,700 Rhif 429 00:18:24,700 --> 00:18:27,030 Daeth Pset 6 am ac roeddwn yn fel, Im 'gonna yn dysgu 430 00:18:27,030 --> 00:18:29,500 sut i ddefnyddio GDB am nad wyf yn ei wneud gwybod beth sy'n digwydd yma. 431 00:18:29,500 --> 00:18:32,940 >> Felly, os ydych yn cymryd yr amser felly ei ddefnyddio ar raglenni llai 432 00:18:32,940 --> 00:18:35,697 eich bod yn mynd i fod yn yn gweithio ar, megis weithio 433 00:18:35,697 --> 00:18:37,530 trwy rywbeth tebyg Visionare, fel hyn. 434 00:18:37,530 --> 00:18:38,800 435 00:18:38,800 --> 00:18:42,850 Neu os ydych am ymarfer ychwanegol, rwy'n siŵr Y gallwn i ddod o hyd i raglenni buggy, 436 00:18:42,850 --> 00:18:45,300 i chi i debug os hoffech. 437 00:18:45,300 --> 00:18:49,300 >> Ond os ydych yn unig yn cymryd peth amser i ddod i arfer ag ef, dim ond chwarae o gwmpas ag ef, 438 00:18:49,300 --> 00:18:50,550 bydd yn wir yn eich gwasanaethu yn dda. 439 00:18:50,550 --> 00:18:52,591 Ac mae'n wir yn un o pethau hynny yr ydych newydd 440 00:18:52,591 --> 00:18:57,340 rhaid i ni geisio, ac yn cael eich dwylo budr gyda, cyn i chi wir yn ei ddeall. 441 00:18:57,340 --> 00:19:02,090 Fi 'n sylweddol dim ond unwaith yn deall ei Bu'n rhaid i mi debug pethau ag ef, 442 00:19:02,090 --> 00:19:08,170 ac mae'n llawer brafiach i gael syniad o sut i debug gynt yn hytrach nag yn hwyrach. 443 00:19:08,170 --> 00:19:08,850 OK. 444 00:19:08,850 --> 00:19:09,625 Cool. 445 00:19:09,625 --> 00:19:12,960 Gwn fod fath o fel gwrs carlam mewn GDB, 446 00:19:12,960 --> 00:19:16,400 a byddaf yn bendant yn gweithio ar gael hyn i edrych yn fwy y tro nesaf. 447 00:19:16,400 --> 00:19:17,590 448 00:19:17,590 --> 00:19:18,280 Cool. 449 00:19:18,280 --> 00:19:20,390 >> Felly, os ydym yn mynd yn ôl at ein PowerPoint. 450 00:19:20,390 --> 00:19:27,194 451 00:19:27,194 --> 00:19:28,110 A yw hyn yn mynd i weithio? 452 00:19:28,110 --> 00:19:29,711 453 00:19:29,711 --> 00:19:30,210 AWH. 454 00:19:30,210 --> 00:19:31,101 Ie. 455 00:19:31,101 --> 00:19:31,600 OK. 456 00:19:31,600 --> 00:19:35,480 Felly, os ydych chi erioed angen unrhyw un o'r hynny eto, mae y rhestr. 457 00:19:35,480 --> 00:19:37,160 458 00:19:37,160 --> 00:19:40,830 Chwilio Felly Binary, y mae pawb cofio'r olygfa mawr Dafydd 459 00:19:40,830 --> 00:19:42,259 ripping llyfrau ffôn yn ei hanner. 460 00:19:42,259 --> 00:19:44,050 Dydw i ddim wir yn cael y llyfrau ffôn anymore, 461 00:19:44,050 --> 00:19:46,530 oherwydd fel ble rydych chi'n cael llyfrau ffôn y dyddiau hyn? 462 00:19:46,530 --> 00:19:48,220 Fi 'n sylweddol ddim yn gwybod. 463 00:19:48,220 --> 00:19:49,840 464 00:19:49,840 --> 00:19:50,590 Mae'r Chwilio Binary. 465 00:19:50,590 --> 00:19:52,464 A oes unrhyw un yn cofio pa mor Binary Chwilio yn gweithio? 466 00:19:52,464 --> 00:19:54,380 467 00:19:54,380 --> 00:19:55,220 Unrhyw un o gwbl? 468 00:19:55,220 --> 00:19:56,325 Yeah? 469 00:19:56,325 --> 00:19:58,283 SIARADWR 5: Rydych yn gwybod pryd ydych yn edrych ar pa hanner 470 00:19:58,283 --> 00:20:01,146 byddai er, Ar sail hynny, a chael gwared ar yr hanner arall. 471 00:20:01,146 --> 00:20:01,896 >> SIARADWR 1 Yn union. 472 00:20:01,896 --> 00:20:06,290 Felly, Chwilio Binary, mae'n fath o a-- --we hoffi ei alw yn rhannu ac yn gorchfygu. 473 00:20:06,290 --> 00:20:09,170 Felly, beth y byddwch yn ei wneud yw byddwch yn edrych yn y canol, 474 00:20:09,170 --> 00:20:11,990 a byddwch yn gweld os bydd yn cyd-fynd hyn yr ydych yn chwilio am. 475 00:20:11,990 --> 00:20:15,420 Ac os nad yw'n gwneud hynny, yna rydych yn ceisio chyfrif i maes, a yw'n mynd i gael ei adael 476 00:20:15,420 --> 00:20:16,450 hanner neu'r hanner cywir. 477 00:20:16,450 --> 00:20:19,325 Felly, gallai hyn fod os ydych yn chwilio yn rhywbeth sydd wedi alphabetized, 478 00:20:19,325 --> 00:20:20,720 chi'n gweld, oh. 479 00:20:20,720 --> 00:20:22,750 A yw Allison ddod o flaen M? 480 00:20:22,750 --> 00:20:23,250 Ie. 481 00:20:23,250 --> 00:20:25,030 Felly, rydym yn mynd i edrych ar yr hanner cyntaf. 482 00:20:25,030 --> 00:20:26,450 >> Neu gallai fod yn debyg â rhifau. 483 00:20:26,450 --> 00:20:28,830 Unrhyw beth y gallwch cymharu, gellir ei datrys. 484 00:20:28,830 --> 00:20:29,920 485 00:20:29,920 --> 00:20:31,260 Gallwch ddefnyddio chwiliad deuaidd ar. 486 00:20:31,260 --> 00:20:32,340 487 00:20:32,340 --> 00:20:37,455 Felly, unrhyw un yn cofio hyn graff neu beth yw hwn? 488 00:20:37,455 --> 00:20:39,520 Mae'n Cymhlethdod asymptotic. 489 00:20:39,520 --> 00:20:42,830 Felly, graff hwn yn unig yn disgrifio pa mor hir y mae'n 490 00:20:42,830 --> 00:20:46,230 yn mynd â chi i ddatrys problem fel byddwch yn cynyddu nifer o bethau 491 00:20:46,230 --> 00:20:47,090 eich bod yn defnyddio. 492 00:20:47,090 --> 00:20:51,260 >> Felly, mae gennym N, sef amser llinol. 493 00:20:51,260 --> 00:20:54,560 Os N dros ddwy, sydd ychydig yn yn well, yn dal i tyfu super gyflym. 494 00:20:54,560 --> 00:20:58,360 Ac yna rydym wedi Logio mewn, sef yr hyn yr ydym yn ystyried Chwilio Binary. 495 00:20:58,360 --> 00:21:03,630 Os ydym yn sylwi, fel eich problem yn cael mwy o faint o lawer a llawer, 496 00:21:03,630 --> 00:21:06,600 yr amser mae'n ei gymryd i chi ei datrys nid yw'n wir yn cynyddu cymaint â hynny. 497 00:21:06,600 --> 00:21:09,010 Mae fel cymaradwy yma yn y dechrau. 498 00:21:09,010 --> 00:21:10,060 Ydych chi fel, OK. 499 00:21:10,060 --> 00:21:13,000 Unrhyw beth nad yw yma yn gwneud 'n sylweddol waeth pa un yr ydym yn ei ddefnyddio, 500 00:21:13,000 --> 00:21:16,220 ond byddwch yn cael allan at filiwn, a biliwn. 501 00:21:16,220 --> 00:21:20,010 Rydych yn ceisio dod o hyd some-- --you're ceisio dod o hyd i nodwydd mewn tas wair. 502 00:21:20,010 --> 00:21:21,550 >> Rwy'n credu eich bod am y broblem hon. 503 00:21:21,550 --> 00:21:25,850 Rydych am cymhlethdod hwn, nid llinellol gan fod ar gyfer yr holl chi 504 00:21:25,850 --> 00:21:30,049 adnabod eich gonna yn cael ei chwilio drwy pob nodwydd unigol, beth y gwair, 505 00:21:30,049 --> 00:21:31,340 yn ceisio chwilio am eich nodwydd. 506 00:21:31,340 --> 00:21:34,730 Ac nid dyna'r rhy hwyl yn fy marn i. 507 00:21:34,730 --> 00:21:35,500 Rwy'n hoffi gyflym. 508 00:21:35,500 --> 00:21:36,620 Rwy'n hoffi effeithlon. 509 00:21:36,620 --> 00:21:40,450 A myfyrwyr wrth gweithio'n galed i chi guys yw, eich bod yn gwybod yn fwy craff, 510 00:21:40,450 --> 00:21:43,010 Nid galetach fath beth, sut yr ydych yn Gall wneud iawn algorithmau hyn. 511 00:21:43,010 --> 00:21:45,110 512 00:21:45,110 --> 00:21:47,910 >> Felly, rydym yn mynd i gerdded drwy dim ond esiampl gyflym. 513 00:21:47,910 --> 00:21:51,090 Rwy'n meddwl y dylech chi guys gael llaw ar Search Binary, 514 00:21:51,090 --> 00:21:54,352 ond rhag ofn bod rhywun yn ychydig fuzzy, yn awyddus i atgyfnerthu iddo, 515 00:21:54,352 --> 00:21:56,310 rydym yn mynd i jyst yn mynd drwy esiampl yma. 516 00:21:56,310 --> 00:21:59,490 Felly, rydym yn chwilio am, os yr amrywiaeth yn cynnwys saith. 517 00:21:59,490 --> 00:22:00,540 518 00:22:00,540 --> 00:22:06,010 >> Felly, peth cyntaf yr ydym yn ei wneud yw edrychwch yn y canol, dde? 519 00:22:06,010 --> 00:22:09,340 A hefyd eich bod yn mynd i gael eu codio Chwilio Binary mewn dim ond eiliad. 520 00:22:09,340 --> 00:22:11,310 Felly, mae'n mynd i fod yn hwyl. 521 00:22:11,310 --> 00:22:13,710 Felly, rydym yn edrych yn y araeau bach canol 3. 522 00:22:13,710 --> 00:22:15,501 A yw 3 gyfartal 7? 523 00:22:15,501 --> 00:22:16,000 Nad yw'n gweithio. 524 00:22:16,000 --> 00:22:18,670 525 00:22:18,670 --> 00:22:19,550 Mae'n chwech. 526 00:22:19,550 --> 00:22:21,480 Felly, a yw'n llai na neu'n fwy na saith? 527 00:22:21,480 --> 00:22:23,080 528 00:22:23,080 --> 00:22:23,960 Llai na. 529 00:22:23,960 --> 00:22:24,570 Ie. 530 00:22:24,570 --> 00:22:25,170 Swyddi guys Nice. 531 00:22:25,170 --> 00:22:25,569 532 00:22:25,569 --> 00:22:27,360 Rwy'n teimlo fy mod yn hoffi dylwn rhaid i Candy oherwydd fy mod 533 00:22:27,360 --> 00:22:29,460 eisiau ei daflu allan i'r iardiau. 534 00:22:29,460 --> 00:22:30,270 Mae'n hyn yr wyf am ei wneud yr wythnos nesaf. 535 00:22:30,270 --> 00:22:31,436 Bydd yn rhoi gwybod i chi guys miniog. 536 00:22:31,436 --> 00:22:32,560 537 00:22:32,560 --> 00:22:34,690 >> Felly, rydym yn taflu bod hanner cyntaf, dde? 538 00:22:34,690 --> 00:22:35,670 ei fod yn llai na. 539 00:22:35,670 --> 00:22:39,325 rydym yn gwybod bod popeth ar yr ochr chwith 540 00:22:39,325 --> 00:22:41,700 yn mynd i fod yn llai na'r hyn a rydym yn mewn gwirionedd yn chwilio am. 541 00:22:41,700 --> 00:22:43,491 Felly, nid oes angen i talu sylw iddo. 542 00:22:43,491 --> 00:22:45,120 Dim ond yn anghofio am y peth. 543 00:22:45,120 --> 00:22:48,720 Felly, nawr rydym yn edrych ar ein ochr dde, ac yr ydym yn edrych ar y canol dros yno, 544 00:22:48,720 --> 00:22:50,510 ac yn awr ei fod yn naw. 545 00:22:50,510 --> 00:22:55,510 Felly, 9 yw-- --Everyone? 546 00:22:55,510 --> 00:22:57,470 Fwy na'r hyn rydym yn chwilio am, dde? 547 00:22:57,470 --> 00:22:59,860 Felly, rydym yn mynd i daflu popeth i ffwrdd i'r dde. 548 00:22:59,860 --> 00:23:00,970 549 00:23:00,970 --> 00:23:01,940 Fel 'na. 550 00:23:01,940 --> 00:23:03,700 Yn awr, i gyd rydym yn weddill yw un. 551 00:23:03,700 --> 00:23:07,760 Felly rydym yn gwirio, mae hyn yn un beth rydym yn chwilio amdano? y mae. 552 00:23:07,760 --> 00:23:08,970 Rydym yn dod o hyd i hyn yr ydym ei eisiau. 553 00:23:08,970 --> 00:23:10,440 554 00:23:10,440 --> 00:23:11,690 Felly, rydym yn ei wneud. 555 00:23:11,690 --> 00:23:12,550 Bilinear Search. 556 00:23:12,550 --> 00:23:15,740 >> Ac os ydych yn sylwi, rydym yn Roedd gan saith mewnbynnau yno. 557 00:23:15,740 --> 00:23:24,320 Dim ond yn mynd â ni yn hoffi dair gwaith, ond os ydych chi'n ei wneud fel biliwn, 558 00:23:24,320 --> 00:23:28,190 rydych guys yn gwybod faint o gamau y byddai ei cymryd pe bai gennym i bedwar biliwn o bethau? 559 00:23:28,190 --> 00:23:29,940 560 00:23:29,940 --> 00:23:30,455 Unrhyw ddyfalu? 561 00:23:30,455 --> 00:23:32,286 562 00:23:32,286 --> 00:23:33,960 Mae'n 32. 563 00:23:33,960 --> 00:23:37,110 32 camau i ddod o hyd i rywbeth mewn i bedwar biliwn o 564 00:23:37,110 --> 00:23:39,650 Elfen amrywiaeth oherwydd bwerau o ddau. 565 00:23:39,650 --> 00:23:43,550 Felly ddau yw i 32, mae i bedwar biliwn. 566 00:23:43,550 --> 00:23:50,430 >> Pa mor mor bert crazy eich bod yn dal i fod o fewn fel nifer gweddol fach o gamau 567 00:23:50,430 --> 00:23:52,650 dod o hyd i rywbeth yn i bedwar biliwn o elfen. 568 00:23:52,650 --> 00:23:55,730 Felly, ar y nodyn hwnnw, rydym yn mynd i cod hwn 569 00:23:55,730 --> 00:23:58,950 felly gallwch chi guys mewn gwirionedd fath o weld sut mae hyn yn gweithio. 570 00:23:58,950 --> 00:24:01,520 Mae pob hawl, er mwyn i chi guys cod. 571 00:24:01,520 --> 00:24:04,100 Rydw i'n mynd i adael i chi guys siarad am ychydig bach. 572 00:24:04,100 --> 00:24:07,970 Dod i adnabod pobl o'ch cwmpas, sef beth mae rhywun am ei gael gan yr adran olaf. 573 00:24:07,970 --> 00:24:10,280 >> Felly, dod i adnabod y bobl o'ch cwmpas. 574 00:24:10,280 --> 00:24:11,305 Siaradwch am ychydig. 575 00:24:11,305 --> 00:24:12,580 576 00:24:12,580 --> 00:24:15,730 A'r cyfan yr wyf am ei gael i chi guys ar hyn o bryd yn unig 577 00:24:15,730 --> 00:24:17,575 ceisio creu amlinelliad o'r pseudocode. 578 00:24:17,575 --> 00:24:18,075 OK? 579 00:24:18,075 --> 00:24:20,825 580 00:24:20,825 --> 00:24:21,325 Whoa. 581 00:24:21,325 --> 00:24:23,320 582 00:24:23,320 --> 00:24:29,520 Y cyfan yr wyf am ei gael gan eich bod guys yw eich bod yn jyst yn mynd i lenwi'r yn yr achos tra. 583 00:24:29,520 --> 00:24:32,170 Felly, yr wyf wedi gosod y rhain uchaf i nerth is nad 584 00:24:32,170 --> 00:24:35,250 cynrychioli y dechrau ac ar ddiwedd ein arae. 585 00:24:35,250 --> 00:24:40,440 A ydych yn mynd i mewn gwirionedd dolen drwy a chyfrif i maes 586 00:24:40,440 --> 00:24:42,470 yr hyn rydym yn ei wneud o fewn y dolen tra. 587 00:24:42,470 --> 00:24:45,810 >> Felly, os gallwch chyfrif i out-- gen i awgrym there-- beth yw'r achosion 588 00:24:45,810 --> 00:24:46,640 sydd gennym yma? 589 00:24:46,640 --> 00:24:48,100 590 00:24:48,100 --> 00:24:51,560 Felly, os ydych am i chyfrif i maes y achosion, byddwn yn pseudocode rheini 591 00:24:51,560 --> 00:24:53,350 ac yna byddwn mewn gwirionedd yn eu cod. 592 00:24:53,350 --> 00:24:55,330 Ac mae'n mynd i fod, yr wyf yn yn credu, gobeithio ei fod annhymerus 593 00:24:55,330 --> 00:24:56,788 fod ychydig yn haws na'r disgwyl. 594 00:24:56,788 --> 00:24:57,554 595 00:24:57,554 --> 00:25:00,220 Oherwydd nad yw'n bod llawer o cod, mewn gwirionedd, sydd yn 'n sylweddol oera. 596 00:25:00,220 --> 00:25:34,110 597 00:25:34,110 --> 00:25:35,018 >> Mm-EM? 598 00:25:35,018 --> 00:25:35,893 >> MYFYRIWR: [Anghlywadwy]? 599 00:25:35,893 --> 00:25:36,984 600 00:25:36,984 --> 00:25:37,650 HYFFORDDWR: Ydw. 601 00:25:37,650 --> 00:25:38,595 Roedd rhywbeth i ddod o hyd yn y canol. 602 00:25:38,595 --> 00:25:39,552 >> MYFYRIWR: Felly, gallwn ddefnyddio hynny. 603 00:25:39,552 --> 00:25:39,770 OK. 604 00:25:39,770 --> 00:25:40,603 >> HYFFORDDWR: Perffaith. 605 00:25:40,603 --> 00:25:42,950 Felly dyna'r peth cyntaf mae angen i ni ei wneud. 606 00:25:42,950 --> 00:25:44,330 Felly dod o hyd i'r canol. 607 00:25:44,330 --> 00:25:45,415 608 00:25:45,415 --> 00:25:45,915 Great. 609 00:25:45,915 --> 00:25:47,770 610 00:25:47,770 --> 00:25:55,010 Felly, a oes gennych syniad o sut y gallem mewn gwirionedd yn dod o hyd i'r canol gyda cod? 611 00:25:55,010 --> 00:25:55,980 >> MYFYRIWR: Yeah. 612 00:25:55,980 --> 00:25:57,000 n dros 2? 613 00:25:57,000 --> 00:25:58,500 614 00:25:58,500 --> 00:25:59,500 HYFFORDDWR: Felly n dros 2. 615 00:25:59,500 --> 00:26:05,170 Felly, un peth i'w gofio yw bod eich arffiniau uchaf ac isaf yn newid. 616 00:26:05,170 --> 00:26:08,110 Rydym yn cadw yw cyfyngu y rhan y rhesi rydym yn edrych i. 617 00:26:08,110 --> 00:26:11,970 Felly n dros 2 yn unig yn gweithio am y peth cyntaf a wnawn. 618 00:26:11,970 --> 00:26:17,810 Felly, gan gymryd uchaf ac isaf i ystyriaeth, sut y gallem gael yr elfen honno canol? 619 00:26:17,810 --> 00:26:20,640 Oherwydd ein bod am i'r canol rhwng uchaf ac isaf, dde? 620 00:26:20,640 --> 00:26:21,730 621 00:26:21,730 --> 00:26:22,494 Mm-EM? 622 00:26:22,494 --> 00:26:23,369 >> MYFYRIWR: [Anghlywadwy]. 623 00:26:23,369 --> 00:26:26,170 624 00:26:26,170 --> 00:26:28,080 >> HYFFORDDWR: Felly, mae gennym rai canol. 625 00:26:28,080 --> 00:26:32,730 A bydd yn cael ei uchaf ynghyd is dros 2. 626 00:26:32,730 --> 00:26:34,740 627 00:26:34,740 --> 00:26:35,690 Awesome. 628 00:26:35,690 --> 00:26:36,570 Dyna ni. 629 00:26:36,570 --> 00:26:37,280 Un i lawr lein. 630 00:26:37,280 --> 00:26:38,560 Rydych guys yn ar eich ffordd. 631 00:26:38,560 --> 00:26:41,400 Felly nawr bod gennym ein canol, beth ydym ni eisiau ei wneud? 632 00:26:41,400 --> 00:26:45,050 633 00:26:45,050 --> 00:26:45,900 Dim ond yn gyffredinol. 634 00:26:45,900 --> 00:26:47,734 Nid oes rhaid i chi ei godio iddo. 635 00:26:47,734 --> 00:26:48,335 Ie. 636 00:26:48,335 --> 00:26:49,210 MYFYRIWR: [Anghlywadwy]? 637 00:26:49,210 --> 00:27:00,310 638 00:27:00,310 --> 00:27:10,310 HYFFORDDWR: Felly mae'n ynghyd am eich bod dod o hyd i'r cyfartaledd rhwng y ddau 639 00:27:10,310 --> 00:27:10,810 ohonynt. 640 00:27:10,810 --> 00:27:11,890 641 00:27:11,890 --> 00:27:17,370 Felly, os ydych yn meddwl amdanynt fel math o gynyddu i mewn o'r ochr, 642 00:27:17,370 --> 00:27:21,640 meddwl am y peth wrth i chi nesáu y canol, yr ydych am fel 'na. 643 00:27:21,640 --> 00:27:27,150 Felly, os ydych yn ar y naill ochr a'r llall i'r canol, ac mae gennym yn hoffi 5 a 7. 644 00:27:27,150 --> 00:27:31,440 Pan fyddwch yn ychwanegu nhw at ei gilydd i chi cael 12, rydych rannu â 2, yw 6. 645 00:27:31,440 --> 00:27:33,726 >> Weithiau mae'n anodd esbonio pam fod yn gweithio, 646 00:27:33,726 --> 00:27:35,600 ond os ydych yn gweithio drwy enghraifft weithiau, 647 00:27:35,600 --> 00:27:37,962 bydd yn eich helpu i chyfrif i maes os dylai fod yn plws neu finws. 648 00:27:37,962 --> 00:27:38,846 Ie. 649 00:27:38,846 --> 00:27:40,830 >> MYFYRIWR: [Anghlywadwy] yn union yn y canol 650 00:27:40,830 --> 00:27:43,950 pe bai ganddynt achos lle mae llawer o niferoedd llai 651 00:27:43,950 --> 00:27:45,860 ac fel un nifer fawr? 652 00:27:45,860 --> 00:27:49,750 >> HYFFORDDWR: Felly yr holl ei angen arnoch yn nghanol y rhesi. 653 00:27:49,750 --> 00:27:53,010 Felly, os ydych wedi cael criw o rifau bach ac yna un rhif yn wirioneddol fawr 654 00:27:53,010 --> 00:27:54,799 ar y diwedd, does dim ots. 655 00:27:54,799 --> 00:27:56,840 Mae'r holl sy'n bwysig yw bod maent yn didoli, 'ch jyst 656 00:27:56,840 --> 00:27:59,339 am edrych ar ganol yr amrywiaeth oherwydd eich bod yn dal i fod yn 657 00:27:59,339 --> 00:28:00,700 sleisio eich problem yn ei hanner. 658 00:28:00,700 --> 00:28:03,020 659 00:28:03,020 --> 00:28:03,680 Cool. 660 00:28:03,680 --> 00:28:06,430 Felly nawr bod gennym y canol, beth ydym ni'n ei wneud nesaf? 661 00:28:06,430 --> 00:28:07,150 >> MYFYRIWR: Cymharu. 662 00:28:07,150 --> 00:28:08,150 HYFFORDDWR: Y cymharu. 663 00:28:08,150 --> 00:28:11,670 Felly cymharu canol i value_wanted. 664 00:28:11,670 --> 00:28:14,300 665 00:28:14,300 --> 00:28:15,160 Cool. 666 00:28:15,160 --> 00:28:17,950 Felly, byddwch yn gweld hyd yma rydym wedi gwerth hwn, rydym am i fyny yma. 667 00:28:17,950 --> 00:28:22,012 668 00:28:22,012 --> 00:28:23,095 Cofiwch mae hwn yn arae. 669 00:28:23,095 --> 00:28:24,100 670 00:28:24,100 --> 00:28:26,970 Felly canol yn cyfeirio at y mynegai. 671 00:28:26,970 --> 00:28:29,785 Felly rydym am ei wneud gwerthoedd canol. 672 00:28:29,785 --> 00:28:32,380 673 00:28:32,380 --> 00:28:35,650 Cofiwch, os ydych chi am i gymharu, gyfartal dwbl. 674 00:28:35,650 --> 00:28:38,250 Rydych yn gwneud sengl yn dychwelyd eich bod jyst yn mynd i ail-neilltuo iddo, 675 00:28:38,250 --> 00:28:41,090 ac yna, wrth gwrs, 'i' mynd i fod yn y gwerth yr ydych ei eisiau. 676 00:28:41,090 --> 00:28:42,300 Felly peidiwch â gwneud hynny. 677 00:28:42,300 --> 00:28:44,350 >> Felly, rydym yn mynd i weld os y gwerthoedd yn y canol 678 00:28:44,350 --> 00:28:46,460 yn hafal i'r gwerth yr ydym ei eisiau. 679 00:28:46,460 --> 00:28:47,749 680 00:28:47,749 --> 00:28:48,790 Peidiwch ag anghofio eich braces. 681 00:28:48,790 --> 00:28:50,520 682 00:28:50,520 --> 00:28:52,235 Dylai Dropbox yn mynd i ffwrdd. 683 00:28:52,235 --> 00:28:54,140 684 00:28:54,140 --> 00:28:56,200 Felly, beth ydym yn ei wneud yn yr achos hwn? 685 00:28:56,200 --> 00:28:59,360 Os yw'n beth ydyn ni eisiau ei ddychwelyd? 686 00:28:59,360 --> 00:29:01,510 687 00:29:01,510 --> 00:29:02,626 Rydym yn ceisio ei ddweud. 688 00:29:02,626 --> 00:29:03,440 >> MYFYRIWR: Printiwch. 689 00:29:03,440 --> 00:29:05,314 >> HYFFORDDWR: Wel, rydym yn nad ydych am i argraffu. 690 00:29:05,314 --> 00:29:08,220 Felly mae hwn yn bool yma, felly rydym am ddychwelyd yn wir neu'n anwir. 691 00:29:08,220 --> 00:29:12,280 Rydym yn dweud, yw'r rhif hwn yn [? RRA? ?] Felly, os ydyw, 692 00:29:12,280 --> 00:29:13,788 rydym yn unig ddychwelyd o'n wir. 693 00:29:13,788 --> 00:29:16,780 694 00:29:16,780 --> 00:29:17,760 Os gallaf sillafu wir. 695 00:29:17,760 --> 00:29:18,830 696 00:29:18,830 --> 00:29:20,805 >> MYFYRIWR: Pam na fyddech yn dychwelyd sero? 697 00:29:20,805 --> 00:29:22,930 HYFFORDDWR: Felly gallech dychwelyd sero os ydych yn dymuno. 698 00:29:22,930 --> 00:29:26,780 Ond yn yr achos hwn oherwydd ein swyddogaeth yn dychwelyd bool, 699 00:29:26,780 --> 00:29:28,962 mae angen i ni ddychwelyd un ai gwir neu gau. 700 00:29:28,962 --> 00:29:30,920 MYFYRIWR: Pan fyddwch yn gan ddweud mynegiant boolean, 701 00:29:30,920 --> 00:29:33,450 gallwch ei osod yn hafal i anwir? 702 00:29:33,450 --> 00:29:39,860 Fel os wyf am ei ddweud, os bydd y cyflwr hwn Nid yw yn cael ei fodloni, fel yn uchaf yn dychwelyd ffug. 703 00:29:39,860 --> 00:29:42,332 A fydd yn deall os ydych yn unig rhoi ffug ar yr ochr arall? 704 00:29:42,332 --> 00:29:43,040 HYFFORDDWR: Yeah. 705 00:29:43,040 --> 00:29:44,820 Felly, mewn gwirionedd, os ydych yn erioed wedi gwneud rhywbeth 706 00:29:44,820 --> 00:29:49,600 fel yn uchaf neu yn is, sy'n dychwelyd wir neu'n anwir 707 00:29:49,600 --> 00:29:53,850 ac mae'n arddull ddrwg mewn gwirionedd i dyweder yn hafal hafal wir neu gyfartal 708 00:29:53,850 --> 00:29:54,840 yn dychwelyd ffug. 709 00:29:54,840 --> 00:30:00,210 Ydych am ddefnyddio y canlyniad wrth ei hun fel eich siec. 710 00:30:00,210 --> 00:30:04,720 711 00:30:04,720 --> 00:30:05,860 Nid yw hyn yr oeddwn i eisiau. 712 00:30:05,860 --> 00:30:08,150 713 00:30:08,150 --> 00:30:09,240 Dyna beth oeddwn i eisiau. 714 00:30:09,240 --> 00:30:13,205 Felly, yn achos yr ydych yn gofyn am rywbeth tebyg i arbed hyn mewn c. 715 00:30:13,205 --> 00:30:16,320 716 00:30:16,320 --> 00:30:25,150 >> Felly, os oes gennym int brif (gwagle) a rhywbeth fel hyn. 717 00:30:25,150 --> 00:30:31,922 Ac mae gennych os yn uchaf o ryw mewnbwn ac rydych yn 718 00:30:31,922 --> 00:30:33,630 yn gofyn os gallwch chi ei wneud rhywbeth fel hyn? 719 00:30:33,630 --> 00:30:35,010 720 00:30:35,010 --> 00:30:35,679 Hawl? 721 00:30:35,679 --> 00:30:37,470 MYFYRIWR: Yr oeddwn yn ceisio i wneud hynny [Anghlywadwy]. 722 00:30:37,470 --> 00:30:38,450 Oherwydd os it's-- 723 00:30:38,450 --> 00:30:39,200 HYFFORDDWR: Iawn. 724 00:30:39,200 --> 00:30:41,197 Felly rydych am i hyn fod yn ffug, dde? 725 00:30:41,197 --> 00:30:41,780 MYFYRIWR: Yeah. 726 00:30:41,780 --> 00:30:45,960 HYFFORDDWR: Felly, yn yr achos hwn i chi am iddo weithredu os nad yw'n wir. 727 00:30:45,960 --> 00:30:50,510 Felly, y peth oera chi ei wneud mae hyn. 728 00:30:50,510 --> 00:30:52,900 729 00:30:52,900 --> 00:30:55,650 Felly cofiwch ebychnod pwynt negyddu'r pethau? 730 00:30:55,650 --> 00:30:58,270 Mae'n dweud [Anghlywadwy] Nid ei olygu. 731 00:30:58,270 --> 00:31:03,590 Felly, os ydym yn edrych ar dim ond rhan hon yma, byddech yn 732 00:31:03,590 --> 00:31:05,740 dweud bod yn gwerthuso i ffug fel yr ydych am iddo. 733 00:31:05,740 --> 00:31:06,790 734 00:31:06,790 --> 00:31:09,880 Nid yw ffug yn wir sydd yn golygu y byddai hyn yn gweithredu. 735 00:31:09,880 --> 00:31:11,037 A yw hynny'n gwneud synnwyr? 736 00:31:11,037 --> 00:31:11,620 MYFYRIWR: Yeah. 737 00:31:11,620 --> 00:31:12,453 HYFFORDDWR: Awesome. 738 00:31:12,453 --> 00:31:13,800 739 00:31:13,800 --> 00:31:14,300 OK. 740 00:31:14,300 --> 00:31:16,330 Felly gallem dim ond yn dychwelyd yn wir yn yr achos hwn. 741 00:31:16,330 --> 00:31:20,357 Felly nawr mae gennym ddau arall achosion yn yr achos hwn. 742 00:31:20,357 --> 00:31:21,565 Beth yw ein dau achos arall? 743 00:31:21,565 --> 00:31:31,610 744 00:31:31,610 --> 00:31:32,900 Gadewch i jyst yn ei wneud fel hyn. 745 00:31:32,900 --> 00:31:40,660 Felly gadewch i ni ddechrau gyda arall os yw gwerthoedd yn y canol 746 00:31:40,660 --> 00:31:43,230 yn llai na gwerth yr ydym ei eisiau. 747 00:31:43,230 --> 00:31:47,200 748 00:31:47,200 --> 00:31:52,020 Felly mae ein gwerth yn y canol yn llai na gwerth yr ydym yn chwilio am. 749 00:31:52,020 --> 00:31:53,765 750 00:31:53,765 --> 00:31:56,720 >> Felly, sy'n rhwymo ydych chi'n meddwl ein bod am ddiweddaru? 751 00:31:56,720 --> 00:31:57,870 752 00:31:57,870 --> 00:31:58,780 Uchaf neu'n is? 753 00:31:58,780 --> 00:32:01,440 754 00:32:01,440 --> 00:32:01,940 Upper? 755 00:32:01,940 --> 00:32:03,230 756 00:32:03,230 --> 00:32:06,470 Felly, pa ochr o'r arae ydym yn mynd i fod yn edrych ar? 757 00:32:06,470 --> 00:32:07,500 >> MYFYRIWR: Y is. 758 00:32:07,500 --> 00:32:09,750 >> HYFFORDDWR: Yr ydym ydym ni'n mynd i fod yn edrych ar y chwith. 759 00:32:09,750 --> 00:32:11,120 Felly arall os yw fawr o werth yn llai. 760 00:32:11,120 --> 00:32:14,730 Felly eich gwerth canol yma yn llai na'r hyn yr ydym ei eisiau. 761 00:32:14,730 --> 00:32:17,202 Felly, rydym yn awyddus i gymryd y ochr dde ein arae. 762 00:32:17,202 --> 00:32:18,910 Felly, rydym yn mynd i diweddaru ein is rhwymo. 763 00:32:18,910 --> 00:32:20,210 764 00:32:20,210 --> 00:32:23,020 Felly, byddwn yn ail-neilltuo ein is. 765 00:32:23,020 --> 00:32:25,221 A beth yn eich barn chi y dylai is fod? 766 00:32:25,221 --> 00:32:26,304 MYFYRIWR: Mae gwerth canol? 767 00:32:26,304 --> 00:32:27,446 768 00:32:27,446 --> 00:32:28,820 HYFFORDDWR: Felly mae'r value-- canol 769 00:32:28,820 --> 00:32:30,136 MYFYRIWR: Plus 1. 770 00:32:30,136 --> 00:32:31,010 HYFFORDDWR: --plus 1. 771 00:32:31,010 --> 00:32:32,300 772 00:32:32,300 --> 00:32:34,380 A all unrhyw un ddweud wrthyf pam mae gennym hynny ac 1? 773 00:32:34,380 --> 00:32:35,730 >> MYFYRIWR: [? Nid oes unrhyw werth?] yn fwy cyfartal iddo. 774 00:32:35,730 --> 00:32:36,120 >> HYFFORDDWR: Iawn. 775 00:32:36,120 --> 00:32:38,661 Gan ein bod eisoes yn gwybod bod Nid yw ein gwerth canol yn hafal i 776 00:32:38,661 --> 00:32:42,750 ac rydym am i wahardd iddo o pob chwiliad dilynol. 777 00:32:42,750 --> 00:32:46,360 Os byddwch yn anghofio hynny ynghyd ag 1, mae hyn Bydd hoffi dolen am gyfnod amhenodol. 778 00:32:46,360 --> 00:32:49,620 A byddwch yn unig gael eu dal mewn dolen ddiddiwedd ac yna byddwch segfault 779 00:32:49,620 --> 00:32:50,370 ac mae pethau'n mynd yn ddrwg. 780 00:32:50,370 --> 00:32:54,780 Felly, bob amser yn gwneud yn siwr nad ydych yn gan gynnwys y gwerth yr ydych newydd 781 00:32:54,780 --> 00:32:55,380 edrych ar. 782 00:32:55,380 --> 00:32:58,530 Felly, rydym yn gofalu am hynny gyda plws 1. 783 00:32:58,530 --> 00:33:04,840 >> Felly nawr rydym wedi ein gyflwr diwethaf yr wyf bob amser er mwyn diogelwch 784 00:33:04,840 --> 00:33:12,664 gallwch edrych yma, arall os yw gwerth yn y canol yn fwy na'r gwerth 785 00:33:12,664 --> 00:33:13,163 yr ydym ei eisiau. 786 00:33:13,163 --> 00:33:16,260 787 00:33:16,260 --> 00:33:20,230 Mae hynny'n golygu ein bod am yr hanner ar y chwith. 788 00:33:20,230 --> 00:33:21,350 789 00:33:21,350 --> 00:33:23,260 Felly, pa un a ydym yn mynd i ddiweddaru? 790 00:33:23,260 --> 00:33:23,760 Uchaf. 791 00:33:23,760 --> 00:33:25,470 792 00:33:25,470 --> 00:33:26,970 A beth yw hyn yn un yn mynd i fod yn gyfartal? 793 00:33:26,970 --> 00:33:31,630 794 00:33:31,630 --> 00:33:33,690 Canol minws 1, oherwydd, wrth gwrs, yr ydym am 795 00:33:33,690 --> 00:33:38,370 i wneud yn siŵr nad ydym yn gan edrych ar y gwerth canol eto. 796 00:33:38,370 --> 00:33:41,830 797 00:33:41,830 --> 00:33:45,110 Ac yna mae gennym iddo. 798 00:33:45,110 --> 00:33:45,610 Dyna ni. 799 00:33:45,610 --> 00:33:46,820 Dyna i gyd chwiliad deuaidd yw. 800 00:33:46,820 --> 00:33:48,190 Dyw hi ddim mor ddrwg, dde? 801 00:33:48,190 --> 00:33:51,590 Mae fel 10 llinell o Cod gyda gofod gwyn. 802 00:33:51,590 --> 00:33:57,510 Mor bwerus iawn, yn ddefnyddiol iawn, byddwch yn cael ei ddefnyddio mewn un o'ch psets diweddarach. 803 00:33:57,510 --> 00:33:59,360 Efallai nad yw hyn yn un, ond yn ddiweddarach. 804 00:33:59,360 --> 00:34:00,670 Felly dysgu. 805 00:34:00,670 --> 00:34:01,510 Wrth eu bodd. 806 00:34:01,510 --> 00:34:02,980 Bydd yn eich trin yn dda. 807 00:34:02,980 --> 00:34:05,370 Felly, oes unrhyw un yn cael unrhyw cwestiynau ar chwiliad deuaidd? 808 00:34:05,370 --> 00:34:06,196 Ie. 809 00:34:06,196 --> 00:34:09,840 >> MYFYRIWR: A yw o bwys a yw eich n yn oed neu'n od? 810 00:34:09,840 --> 00:34:10,750 >> HYFFORDDWYR: Na 811 00:34:10,750 --> 00:34:18,150 Oherwydd ein bod yn bwrw i'r canol fel yn int, bydd yn jyst gwtogi'r amser iddo. 812 00:34:18,150 --> 00:34:21,600 Felly bydd yn aros yn gyfanrif a bydd yn yn y pen draw didoli drwy bopeth. 813 00:34:21,600 --> 00:34:23,909 Felly nid oes rhaid i chi boeni am hynny. 814 00:34:23,909 --> 00:34:24,580 Mae pawb yn dda? 815 00:34:24,580 --> 00:34:25,659 816 00:34:25,659 --> 00:34:26,850 Awesome. 817 00:34:26,850 --> 00:34:27,919 Cool. 818 00:34:27,919 --> 00:34:30,836 Felly, rydych guys got hyn. 819 00:34:30,836 --> 00:34:33,380 820 00:34:33,380 --> 00:34:33,880 Sioe sleidiau. 821 00:34:33,880 --> 00:34:35,719 822 00:34:35,719 --> 00:34:43,270 Felly, gan ein bod yn sôn amdano, yr wyf yn gwybod Soniodd David runtimes cymhlethdod. 823 00:34:43,270 --> 00:34:44,420 824 00:34:44,420 --> 00:34:50,340 >> Felly, yn yr achos gorau, 'i' jyst un, yr ydym yn galw amser cyson. 825 00:34:50,340 --> 00:34:51,909 A all unrhyw un ddweud wrthyf pam y gallai hynny fod? 826 00:34:51,909 --> 00:34:52,969 827 00:34:52,969 --> 00:34:55,800 Pa fath o senario a fyddai'n ei olygu? 828 00:34:55,800 --> 00:34:58,260 829 00:34:58,260 --> 00:34:58,760 Mm-EM. 830 00:34:58,760 --> 00:34:59,926 >> MYFYRIWR: [Anghlywadwy] first-- 831 00:34:59,926 --> 00:35:00,789 832 00:35:00,789 --> 00:35:03,830 HYFFORDDWR: Felly y canol yw'r elfen gyntaf yr ydym yn dod i, dde? 833 00:35:03,830 --> 00:35:08,167 Hynny naill ai amrywiaeth o un neu beth bynnag yr ydym yn chwilio am ddim ond 834 00:35:08,167 --> 00:35:09,750 digwydd bod dab smack yn y canol. 835 00:35:09,750 --> 00:35:11,190 836 00:35:11,190 --> 00:35:13,380 Felly dyna ein achos gorau. 837 00:35:13,380 --> 00:35:17,540 Byddwch yn cael i mewn i broblemau go iawn, yn ôl pob tebyg nid yw mynd i gyrraedd [Anghlywadwy] yn aml. 838 00:35:17,540 --> 00:35:18,667 839 00:35:18,667 --> 00:35:19,750 Beth am ein achos gwaethaf? 840 00:35:19,750 --> 00:35:21,270 Mae ein achos gwaethaf yw log n. 841 00:35:21,270 --> 00:35:25,360 Ac mae hynny wedi ei wneud gyda y cyfan bwerau o ddau peth yr wyf yn siarad am. 842 00:35:25,360 --> 00:35:30,930 >> Felly, yn yr achos gwaethaf byddai'n golygu bod yn rhaid i ni i dorri i lawr y rhesi 843 00:35:30,930 --> 00:35:33,270 hyd nes ei fod yn elfen o un. 844 00:35:33,270 --> 00:35:34,810 845 00:35:34,810 --> 00:35:38,930 Felly roedd yn rhaid i dorri i lawr yn ei hanner gymaint o weithiau ag y gallai o bosibl. 846 00:35:38,930 --> 00:35:41,430 Dyna pam ei bod yn log n oherwydd 'ch jyst cadw rhannu â dau. 847 00:35:41,430 --> 00:35:42,890 848 00:35:42,890 --> 00:35:45,830 Felly rhagdybiaethau, y pethau yr ydych Mae angen i ni wybod os ydych chi erioed wedi 849 00:35:45,830 --> 00:35:48,050 mynd i ddefnyddio chwiliad deuaidd. 850 00:35:48,050 --> 00:35:50,680 Rhaid i'ch elfennau eu datrys. 851 00:35:50,680 --> 00:35:53,890 Mae'n rhaid iddynt gael eu datrys oherwydd bod dyna'r unig ffordd i chi 852 00:35:53,890 --> 00:35:57,060 Gall gwybod os ydych yn gallu i daflu allan hanner ohono. 853 00:35:57,060 --> 00:36:00,260 >> Os ydych wedi cael y bag cymysgu o rifau ac rydych yn ei ddweud, 854 00:36:00,260 --> 00:36:05,380 OK, yr wyf i'n mynd i edrych ar y canol rhif a nifer rwy'n chwilio am 855 00:36:05,380 --> 00:36:08,510 yn llai na hynny, Im 'jyst yn mynd i daflu allan fympwyol un hanner. 856 00:36:08,510 --> 00:36:11,130 Fyddech chi ddim yn gwybod os yw eich niferoedd yn yr hanner arall. 857 00:36:11,130 --> 00:36:12,655 Mae eich rhestr wedi cael ei datrys. 858 00:36:12,655 --> 00:36:14,030 859 00:36:14,030 --> 00:36:16,560 Yn ogystal, gall hyn fod yn mynd yn ei flaen ychydig, 860 00:36:16,560 --> 00:36:18,360 ond mae angen i chi gael mynediad ar hap. 861 00:36:18,360 --> 00:36:21,940 Mae angen i chi fod yn gallu jyst ewch at yr elfen ganol. 862 00:36:21,940 --> 00:36:25,110 Os oes rhaid i chi deithio ar draws trwy rywbeth 863 00:36:25,110 --> 00:36:28,630 neu mae'n cymryd camau ychwanegol i chi i gyrraedd yr elfen ganol, 864 00:36:28,630 --> 00:36:31,750 nid yw'n log n mwyach gan eich bod yn ychwanegu mwy o waith i mewn iddo. 865 00:36:31,750 --> 00:36:34,800 A bydd hyn yn gwneud ychydig yn mwy o synnwyr mewn pythefnos, 866 00:36:34,800 --> 00:36:37,950 ond Fi jyst fath o eisiau rhagair, rhoi syniad o beth sydd i chi guys 867 00:36:37,950 --> 00:36:38,999 i ddod. 868 00:36:38,999 --> 00:36:40,790 Ond dyna'r ddau tybiaethau pwysig 869 00:36:40,790 --> 00:36:44,804 sydd ei angen arnoch i gael rhestr deuaidd. 870 00:36:44,804 --> 00:36:45,720 Gwnewch yn siŵr ei fod yn datrys. 871 00:36:45,720 --> 00:36:47,920 Dyna yr un mawr i chi guys ar hyn o bryd. 872 00:36:47,920 --> 00:36:52,170 Ac ar y gallwn fynd i mewn i gweddill ein math. 873 00:36:52,170 --> 00:36:56,444 Felly pedwar swigen sorts--, mewnosod, dethol, ac yn uno. 874 00:36:56,444 --> 00:36:57,485 Maen nhw i gyd yn fath o oer. 875 00:36:57,485 --> 00:37:02,860 Os byddwch yn guys penderfynu cymryd CS 124, byddwch yn dysgu am bob math o ryw fath. 876 00:37:02,860 --> 00:37:07,575 Ac os ydych yn gefnogwr XKCD, yna yn ymwneud comig 'n sylweddol oera 877 00:37:07,575 --> 00:37:11,530 fel math wir yn aneffeithiol, yr wyf yn dal argymell eich bod yn mynd i edrych ar. 878 00:37:11,530 --> 00:37:16,170 Mae un ohonynt yn debyg i fath panig, a oedd yn yn debyg, o na, yn dychwelyd array hap. 879 00:37:16,170 --> 00:37:16,991 System Shutdown. 880 00:37:16,991 --> 00:37:17,490 Gadewch. 881 00:37:17,490 --> 00:37:19,070 882 00:37:19,070 --> 00:37:21,500 Felly hiwmor geeky yn bob amser yn dda. 883 00:37:21,500 --> 00:37:22,620 884 00:37:22,620 --> 00:37:25,750 >> Felly, mae unrhyw un yn cofio garedig o fel dim ond syniad cyffredinol 885 00:37:25,750 --> 00:37:27,810 o sut fath swigen yn gweithio. 886 00:37:27,810 --> 00:37:31,130 887 00:37:31,130 --> 00:37:32,155 Rydych yn cofio? 888 00:37:32,155 --> 00:37:32,755 >> MYFYRIWR: Yeah. 889 00:37:32,755 --> 00:37:33,970 >> HYFFORDDWR: Ewch amdani. 890 00:37:33,970 --> 00:37:38,980 >> MYFYRIWR: Felly, ydych yn mynd trwy ac os yw'n fwy, yna rydych yn cyfnewid y ddau. 891 00:37:38,980 --> 00:37:39,820 >> HYFFORDDWR: Mm-EM. 892 00:37:39,820 --> 00:37:40,564 Yn union. 893 00:37:40,564 --> 00:37:41,730 Felly, 'ch jyst ailadrodd drwy'r. 894 00:37:41,730 --> 00:37:43,050 Yn gwirio dau rif. 895 00:37:43,050 --> 00:37:46,510 Os yw'r un o'r blaen yn fwy nag yr un ar ôl hynny, 896 00:37:46,510 --> 00:37:50,230 'ch jyst yn eu cyfnewid fel bod yn y ffordd hon bob un o'r niferoedd uwch 897 00:37:50,230 --> 00:37:54,990 swigen i fyny tuag at ddiwedd y rhestr a holl rifau is swigen i lawr. 898 00:37:54,990 --> 00:37:59,355 >> A oedd ei fod yn dangos i chi guys y oer effaith sain didoli fideo? 899 00:37:59,355 --> 00:38:00,480 Mae'n fath o oer. 900 00:38:00,480 --> 00:38:01,510 901 00:38:01,510 --> 00:38:05,200 Felly, fel Robert newydd ei ddweud, mae'r algorithm eich bod jyst gamu drwy'r rhestr, 902 00:38:05,200 --> 00:38:07,930 gyfnewid gwerthoedd cyfagos os dydyn nhw ddim mewn trefn. 903 00:38:07,930 --> 00:38:10,975 Ac yna jyst cadw ailadrodd hyd nes nad ydych yn gwneud unrhyw gyfnewidiadau. 904 00:38:10,975 --> 00:38:11,990 905 00:38:11,990 --> 00:38:12,740 Felly nid drwg, dde? 906 00:38:12,740 --> 00:38:14,080 907 00:38:14,080 --> 00:38:16,319 Felly, rydym yn unig yn cael enghraifft hwylus yma. 908 00:38:16,319 --> 00:38:18,360 Felly, mae hyn yn mynd i ddatrys iddynt mewn trefn esgynnol. 909 00:38:18,360 --> 00:38:19,470 910 00:38:19,470 --> 00:38:23,470 Felly, pan fyddwn yn mynd drwy'r cyntaf amser, rydym yn edrych trwy wyth 911 00:38:23,470 --> 00:38:26,880 a chwech nid yn amlwg yn er, rydym yn eu cyfnewid. 912 00:38:26,880 --> 00:38:27,985 >> Felly, yn edrych ar yr un nesaf. 913 00:38:27,985 --> 00:38:29,430 Wyth a phedwar heb fod mewn trefn. 914 00:38:29,430 --> 00:38:30,450 Yn eu cyfnewid. 915 00:38:30,450 --> 00:38:32,530 Ac yna wyth a dau, cyfnewid nhw. 916 00:38:32,530 --> 00:38:33,470 Dyna ni. 917 00:38:33,470 --> 00:38:39,519 Felly, ar ôl eich tocyn cyntaf, byddwch yn gwybod bod eich rhif mwyaf 918 00:38:39,519 --> 00:38:41,810 yn mynd i fod yr holl ffordd ar y brig oherwydd ei fod yn unig 919 00:38:41,810 --> 00:38:44,210 mynd i fod yn gyson fwy na phopeth arall 920 00:38:44,210 --> 00:38:46,810 a 'i' jyst yn mynd i swigen i fyny yr holl ffordd hyd y diwedd yno. 921 00:38:46,810 --> 00:38:48,226 Ydy hynny'n gwneud synnwyr i bawb? 922 00:38:48,226 --> 00:38:48,560 923 00:38:48,560 --> 00:38:49,060 Cool. 924 00:38:49,060 --> 00:38:51,310 925 00:38:51,310 --> 00:38:53,920 >> Felly, yna rydym yn edrych ar ein hail pasio. 926 00:38:53,920 --> 00:38:54,980 Chwech a phedwar, switsh. 927 00:38:54,980 --> 00:38:55,920 Chwech a dau, switsh. 928 00:38:55,920 --> 00:38:58,700 Ac yn awr mae gennym ychydig o bethau mewn trefn. 929 00:38:58,700 --> 00:39:02,240 Felly, ar gyfer pob tocyn yr ydym gwneud drwy ein rhestr gyfan, 930 00:39:02,240 --> 00:39:06,320 rydym yn gwybod bod fel 'na nifer o rifau ar y diwedd wedi cael eu datrys. 931 00:39:06,320 --> 00:39:07,690 932 00:39:07,690 --> 00:39:09,610 Felly, rydym yn gwneud trydydd llwyddo, sy'n un cyfnewid. 933 00:39:09,610 --> 00:39:10,860 934 00:39:10,860 --> 00:39:15,910 Ac yna ar ein pedwerydd pasio, mae gennym sero slotiau. 935 00:39:15,910 --> 00:39:18,570 Ac felly rydym yn gwybod bod ein amrywiaeth wedi cael ei datrys. 936 00:39:18,570 --> 00:39:20,900 >> A dyna yw'r mawr beth gyda'r math swigen. 937 00:39:20,900 --> 00:39:23,720 Rydym yn gwybod bod pan fyddwn wedi sero cyfnewidiadau, bod 938 00:39:23,720 --> 00:39:26,497 yn golygu bod popeth mewn cyflwr cyflawn. 939 00:39:26,497 --> 00:39:27,580 Mae'n fath o sut rydym yn gwirio. 940 00:39:27,580 --> 00:39:28,740 941 00:39:28,740 --> 00:39:36,480 Felly, rydym hefyd yn mynd i cod swigen didoli sydd hefyd nad yw hynny'n ddrwg. 942 00:39:36,480 --> 00:39:38,120 Nid yw'r un o'r rhain yn y drwg. 943 00:39:38,120 --> 00:39:40,210 Rwy'n gwybod y gallant ymddangos ychydig yn frawychus. 944 00:39:40,210 --> 00:39:42,124 Rwy'n gwybod pan fyddaf yn cymryd y dosbarth, hyd yn oed pan oeddwn 945 00:39:42,124 --> 00:39:44,290 yn addysgu'r dosbarth ar gyfer y tro cyntaf y llynedd, 946 00:39:44,290 --> 00:39:46,165 Roeddwn yn hoffi, sut ydw i'n gwneud hyn? 947 00:39:46,165 --> 00:39:48,540 Mae'n gwneud synnwyr mewn theori, ond sut rydym yn mewn gwirionedd yn gwneud hyn? 948 00:39:48,540 --> 00:39:51,420 Pa un yw pam yr wyf hefyd yn awyddus i gerdded trwy cod gyda chi guys yma. 949 00:39:51,420 --> 00:39:54,915 Felly mae gen i pseudocode i chi guys y tro hwn. 950 00:39:54,915 --> 00:39:55,950 951 00:39:55,950 --> 00:39:58,970 Felly, jyst cadw hyn mewn cof wrth rydym chi ar fin trosglwyddo drosodd. 952 00:39:58,970 --> 00:40:04,210 Felly, mae gennym rai cownter sy'n cadw golwg ar ein cyfnewidiadau, 953 00:40:04,210 --> 00:40:08,370 oherwydd mae angen i ni wneud yn siŵr bod ein bod yn gwirio bod. 954 00:40:08,370 --> 00:40:11,830 Ac rydym yn ailadrodd y casgliad cyfan fel yr ydym newydd y gwnaeth gyda'r enghraifft hon. 955 00:40:11,830 --> 00:40:12,900 956 00:40:12,900 --> 00:40:17,325 Os yw'r elfen o'r blaen yn fwy na'r yr elfen ar ôl ble rydym ni yn, 957 00:40:17,325 --> 00:40:20,760 rydym yn eu cyfnewid ac rydym cynyddiad ein cownter oherwydd cyn gynted ag y byddwn yn cyfnewid, 958 00:40:20,760 --> 00:40:23,850 rydym am adael i'n cownter yn gwybod bod. 959 00:40:23,850 --> 00:40:26,247 Unrhyw gwestiynau yno? 960 00:40:26,247 --> 00:40:27,580 Rhywbeth yn ymddangos yn ddoniol dros yma. 961 00:40:27,580 --> 00:40:29,225 962 00:40:29,225 --> 00:40:32,350 MYFYRIWR: A ydych yn gosod y cownter i sero bob tro y byddwch yn mynd drwy'r ddolen? 963 00:40:32,350 --> 00:40:34,339 Peidiwch â ydych yn dal i fynd yn ôl i sero bob tro? 964 00:40:34,339 --> 00:40:35,505 HYFFORDDWR: Dim o reidrwydd. 965 00:40:35,505 --> 00:40:39,710 Felly beth sy'n digwydd yw ein mynd drwy fan hyn. 966 00:40:39,710 --> 00:40:43,830 Felly wneud tra, cofiwch, mae hyn , yn gweithredu unwaith yn ddi-ffael. 967 00:40:43,830 --> 00:40:46,480 Felly, mae'n mynd i osod y cownter gyfartal i sero, 968 00:40:46,480 --> 00:40:48,070 Yna, mae'n mynd i ailadrodd drwy'r. 969 00:40:48,070 --> 00:40:50,590 Gan ei ailadrodd drwy, bydd yn diweddaru'r cownter. 970 00:40:50,590 --> 00:40:51,870 971 00:40:51,870 --> 00:40:56,900 Gan ei diweddaru cownter, pan mae'n ei wneud, pan gaiff ei cyrraedd diwedd y array, 972 00:40:56,900 --> 00:41:00,830 os nad yw ein rhestr wedi'i didoli, Bydd y cownter wedi cael eu diweddaru. 973 00:41:00,830 --> 00:41:01,840 974 00:41:01,840 --> 00:41:07,150 >> Felly, yna mae'n gwirio'r cyflwr ac mae'n Meddai, OK, yn cownter fwy na sero. 975 00:41:07,150 --> 00:41:09,290 Os ydyw, yn ei wneud eto. 976 00:41:09,290 --> 00:41:14,340 Eich bod am ailosod er mwyn i pan fyddwch yn mynd drwy, cownter yn hafal i sero. 977 00:41:14,340 --> 00:41:18,240 Os byddwch yn mynd trwy ddidoli array, nid oes dim yn newid, 978 00:41:18,240 --> 00:41:21,355 hyn yn methu, ac rydych dychwelyd y rhestr didoli. 979 00:41:21,355 --> 00:41:23,104 980 00:41:23,104 --> 00:41:24,020 Ydy hynny'n gwneud synnwyr? 981 00:41:24,020 --> 00:41:24,940 982 00:41:24,940 --> 00:41:26,356 MYFYRIWR: gallai o dan yr ychydig It. 983 00:41:26,356 --> 00:41:27,147 HYFFORDDWR: OK. 984 00:41:27,147 --> 00:41:28,980 Os oes unrhyw un arall cwestiwn sy'n dod i fyny. 985 00:41:28,980 --> 00:41:30,180 986 00:41:30,180 --> 00:41:30,680 Ie. 987 00:41:30,680 --> 00:41:33,760 >> MYFYRIWR: Beth fyddai swyddogaeth fod ar gyfer cyfnewid yr elfennau? 988 00:41:33,760 --> 00:41:36,900 >> HYFFORDDWR: Felly, gallwn ysgrifennu mewn gwirionedd bod os ydym yn mynd i'r dde yn awr. 989 00:41:36,900 --> 00:41:37,801 990 00:41:37,801 --> 00:41:38,300 Cool. 991 00:41:38,300 --> 00:41:42,155 Felly, ar y nodyn hwnnw, Alison yn mynd i newid yn ôl i'r peiriant. 992 00:41:42,155 --> 00:41:43,080 Mae'n mynd i fod yn hwyl. 993 00:41:43,080 --> 00:41:45,170 994 00:41:45,170 --> 00:41:47,390 Ac rydym wedi ein glws swigen fath beth yma. 995 00:41:47,390 --> 00:41:50,800 Felly, yr wyf eisoes yn gwneud beicio trwy'r casgliad. 996 00:41:50,800 --> 00:41:53,030 Rydym wedi ein cyfnewidiadau sy'n yn gyfartal i sero. 997 00:41:53,030 --> 00:41:54,480 998 00:41:54,480 --> 00:41:58,440 Felly, rydym yn awyddus i gyfnewid cyfagos elfennau os ydynt yn allan o drefn. 999 00:41:58,440 --> 00:42:03,020 Felly, y peth cyntaf mae angen i ni ddim yn cael ei ailadrodd drwy ein casgliad. 1000 00:42:03,020 --> 00:42:04,500 1001 00:42:04,500 --> 00:42:08,260 >> Felly, sut ydych chi'n meddwl y gallem ailadrodd drwy ein casgliad? 1002 00:42:08,260 --> 00:42:09,720 1003 00:42:09,720 --> 00:42:13,990 Gennym ar gyfer a fi yn hafal i 0. 1004 00:42:13,990 --> 00:42:16,950 1005 00:42:16,950 --> 00:42:22,454 Rydym am i fod yn llai nag n minws 1 llai k. 1006 00:42:22,454 --> 00:42:23,870 A byddaf yn egluro hynny mewn eiliad. 1007 00:42:23,870 --> 00:42:26,280 1008 00:42:26,280 --> 00:42:32,830 Felly mae hwn yn optimization yma lle, cofio sut y dywedais ar ôl pob tocyn 1009 00:42:32,830 --> 00:42:36,655 drwy'r amrywiaeth rydym gwybod bod beth bynnag yn on-- 1010 00:42:36,655 --> 00:42:43,590 1011 00:42:43,590 --> 00:42:46,295 >> Felly, ar ôl un pas i ni yn gwybod bod hyn yn cael ei datrys. 1012 00:42:46,295 --> 00:42:47,370 1013 00:42:47,370 --> 00:42:50,060 Ar ôl dau lwyddiant rydym yn gwybod bod hyn i gyd yn cael ei sortio. 1014 00:42:50,060 --> 00:42:52,750 Ar ôl tri o docynnau i ni gwybod bod ei datrys. 1015 00:42:52,750 --> 00:42:55,620 Felly, y ffordd dw i'n ailadrodd drwy'r amrywiaeth yma, 1016 00:42:55,620 --> 00:43:01,090 yw ei fod yn gwneud yn siwr i fynd yn unig drwy'r hyn yr ydym yn gwybod ei heb eu didoli. 1017 00:43:01,090 --> 00:43:01,644 OK? 1018 00:43:01,644 --> 00:43:02,810 Dyna dim ond optimization. 1019 00:43:02,810 --> 00:43:04,430 1020 00:43:04,430 --> 00:43:08,210 Gallech ysgrifennu ei ddiniwed yn unig ailadrodd trwy bopeth, 1021 00:43:08,210 --> 00:43:09,970 byddai'n jyst cymryd mwy o amser. 1022 00:43:09,970 --> 00:43:12,470 Gyda hyn pedair dolen 'i' dim ond Optimization 'n glws 1023 00:43:12,470 --> 00:43:18,460 oherwydd rydym yn gwybod bod ar ôl pob llawn iteriad drwy'r amrywiaeth yma, 1024 00:43:18,460 --> 00:43:24,050 fel pob dolen llawn yma, rydym yn gwybod bod un yn fwy o'r elfennau hyn 1025 00:43:24,050 --> 00:43:25,760 Bydd yn cael ei ddidoli ar y diwedd. 1026 00:43:25,760 --> 00:43:28,294 >> Felly, nid ydym yn rhaid i chi boeni am hynny. 1027 00:43:28,294 --> 00:43:29,710 Ydy hynny'n gwneud synnwyr i bawb? 1028 00:43:29,710 --> 00:43:30,950 Mai ychydig castia oer? 1029 00:43:30,950 --> 00:43:32,060 1030 00:43:32,060 --> 00:43:37,270 Felly, yn yr achos hwnnw, os rydym yn ailadrodd drwy, 1031 00:43:37,270 --> 00:43:50,590 yr ydym yn gwybod ein bod am i gadarnhau a oes amrywiaeth n a n ac 1 mewn trefn. 1032 00:43:50,590 --> 00:43:52,640 1033 00:43:52,640 --> 00:43:53,559 OK. 1034 00:43:53,559 --> 00:43:54,600 Felly dyma y pseudocode. 1035 00:43:54,600 --> 00:43:57,540 Rydym yn awyddus i gadarnhau a oes amrywiaeth n ac n ac 1 mewn trefn. 1036 00:43:57,540 --> 00:43:59,520 Felly, yr hyn a allai gennym ni yno? 1037 00:43:59,520 --> 00:44:01,090 1038 00:44:01,090 --> 00:44:03,120 Mae'n mynd i fod yn rhai amodol. 1039 00:44:03,120 --> 00:44:04,220 Bydd yn os. 1040 00:44:04,220 --> 00:44:07,066 >> MYFYRIWR: Os amrywiaeth n yn llai na amrywiaeth n plws 1. 1041 00:44:07,066 --> 00:44:07,816 HYFFORDDWR: Mm-EM. 1042 00:44:07,816 --> 00:44:09,000 1043 00:44:09,000 --> 00:44:10,699 Wel, yn llai na neu'n fwy na. 1044 00:44:10,699 --> 00:44:11,615 MYFYRIWR: Mwy na. 1045 00:44:11,615 --> 00:44:15,850 1046 00:44:15,850 --> 00:44:17,620 Yna rydym yn awyddus i gyfnewid eu cyfer. 1047 00:44:17,620 --> 00:44:18,570 Yn union. 1048 00:44:18,570 --> 00:44:23,570 Felly, yn awr rydym yn mynd i mewn beth yw'r mecanwaith ar gyfer eu cyfnewid? 1049 00:44:23,570 --> 00:44:24,840 1050 00:44:24,840 --> 00:44:28,137 Felly aethom trwy fyr hwn, math o swyddogaeth cyfnewid wythnos diwethaf. 1051 00:44:28,137 --> 00:44:29,595 A oes unrhyw un yn cofio sut mae'n gweithio? 1052 00:44:29,595 --> 00:44:32,300 1053 00:44:32,300 --> 00:44:34,950 Felly, ni allwn yn unig yn eu ail-neilltuo, dde? 1054 00:44:34,950 --> 00:44:36,640 Gan y bydd un ohonynt yn mynd ar goll. 1055 00:44:36,640 --> 00:44:41,696 Os dywedasom A yn hafal i B ac wedyn B yn hafal i A, pob ddau ohonynt yn sydyn 1056 00:44:41,696 --> 00:44:43,150 yn unig gyfartal i B. 1057 00:44:43,150 --> 00:44:45,720 >> Felly, yr hyn mae'n rhaid i ni ei wneud yw ein bod fod â newidyn dros dro sy'n 1058 00:44:45,720 --> 00:44:49,055 mynd i ddal un o tra ein un ni rydym yn y broses o gyfnewid. 1059 00:44:49,055 --> 00:44:50,200 1060 00:44:50,200 --> 00:44:56,464 Felly, yr hyn sydd gennym yw y byddwn yn cael rhywfaint o int dros dro yn gyfartal i-- gallwch ei aseinio iddo 1061 00:44:56,464 --> 00:44:59,130 i ba bynnag un rydych eisiau, dim ond gwnewch yn siŵr eich bod yn cadw golwg ar iddo-- 1062 00:44:59,130 --> 00:45:01,840 felly yn yr achos hwn, yr wyf i'n mynd i aseinio i amrywiaeth n plws 1. 1063 00:45:01,840 --> 00:45:03,360 1064 00:45:03,360 --> 00:45:07,674 Felly, mae hynny'n mynd i ddal beth bynnag gwerth yw yn yr ail floc 1065 00:45:07,674 --> 00:45:08,590 ein bod yn edrych ar. 1066 00:45:08,590 --> 00:45:09,700 1067 00:45:09,700 --> 00:45:13,240 >> Ac yna y gallwn ei wneud yw y gallwn fynd ymlaen a array ail-neilltuo n plws 1, 1068 00:45:13,240 --> 00:45:14,990 oherwydd ein bod yn gwybod ein gael y gwerth ei storio. 1069 00:45:14,990 --> 00:45:16,645 1070 00:45:16,645 --> 00:45:19,270 Mae hwn hefyd yn un o'r mawr things-- Nid wyf yn gwybod os oes unrhyw un ohonoch 1071 00:45:19,270 --> 00:45:23,780 Roedd materion lle os byddwch yn newid dau llinellau o god yn sydyn yn gweithio pethau. 1072 00:45:23,780 --> 00:45:25,880 Gorchymyn yn bwysig iawn yn y CS. 1073 00:45:25,880 --> 00:45:29,450 Felly gwnewch yn siŵr eich diagram pethau allan os yn bosibl 1074 00:45:29,450 --> 00:45:31,230 o ran yr hyn sy'n digwydd mewn gwirionedd. 1075 00:45:31,230 --> 00:45:34,256 Felly nawr rydym yn mynd i ail-neilltuo array n plws 1, 1076 00:45:34,256 --> 00:45:36,005 oherwydd ein bod yn gwybod ein gael y gwerth ei storio. 1077 00:45:36,005 --> 00:45:37,090 1078 00:45:37,090 --> 00:45:41,560 >> A gallwn aseinio hynny at amrywiaeth n neu yn yr amrywiaeth yr achos i. 1079 00:45:41,560 --> 00:45:50,540 1080 00:45:50,540 --> 00:45:51,465 Mae gormod o newidynnau. 1081 00:45:51,465 --> 00:45:54,230 1082 00:45:54,230 --> 00:45:55,470 OK. 1083 00:45:55,470 --> 00:46:01,500 Array Felly nawr rydym wedi hailneilltuo i ynghyd ag 1 i cyfartal beth sydd mewn amrywiaeth i. 1084 00:46:01,500 --> 00:46:08,240 Ac yn awr y gallwn ni fynd yn ôl a aseinio arae ff i beth? 1085 00:46:08,240 --> 00:46:10,680 1086 00:46:10,680 --> 00:46:11,180 Dylai unrhyw un? 1087 00:46:11,180 --> 00:46:13,490 1088 00:46:13,490 --> 00:46:14,010 >> MYFYRIWR: 10. 1089 00:46:14,010 --> 00:46:14,680 >> HYFFORDDWR: 10. 1090 00:46:14,680 --> 00:46:15,180 Yn union. 1091 00:46:15,180 --> 00:46:16,930 1092 00:46:16,930 --> 00:46:18,640 Ac un peth arall. 1093 00:46:18,640 --> 00:46:21,840 Os ydym wedi cyfnewid yn awr, beth sydd angen i ni ei wneud? 1094 00:46:21,840 --> 00:46:23,740 Beth yw'r un peth mae hynny'n mynd i ddweud wrthym 1095 00:46:23,740 --> 00:46:27,542 os ydym byth yn dod i ben y rhaglen hon? 1096 00:46:27,542 --> 00:46:29,250 Yr hyn yn dweud wrthym ein bod yn restr datrys? 1097 00:46:29,250 --> 00:46:31,560 1098 00:46:31,560 --> 00:46:33,750 Os nad ydym yn perfformio unrhyw cyfnewidiadau, dde? 1099 00:46:33,750 --> 00:46:36,900 Os gyfnewidiadau yn hafal i sero ar ddiwedd y hyn. 1100 00:46:36,900 --> 00:46:42,975 Felly, pryd bynnag y byddwch yn perfformio cyfnewid, wrth i ni yn unig oedd yma, rydym am i ddiweddaru cyfnewid. 1101 00:46:42,975 --> 00:46:45,002 1102 00:46:45,002 --> 00:46:47,210 Ac yr wyf yn gwybod bod cwestiwn yn gynharach ynghylch gallwch chi 1103 00:46:47,210 --> 00:46:49,689 Defnyddiwch sero neu un lle hynny o wir neu'n anwir. 1104 00:46:49,689 --> 00:46:50,980 A dyna beth mae hyn yn ei wneud yma. 1105 00:46:50,980 --> 00:46:52,750 Felly, mae hyn yn dweud os nad cyfnewid. 1106 00:46:52,750 --> 00:47:01,310 Felly os gyfnewidiadau yn sero, sy'n yw-- Rwyf bob amser cael fy gwirioneddau ac mae fy falses cymysgu. 1107 00:47:01,310 --> 00:47:03,960 Rydym am i ni i werthuso i wir ac nid yw'n. 1108 00:47:03,960 --> 00:47:07,680 1109 00:47:07,680 --> 00:47:09,630 Felly, os yw'n sero, yna mae'n ffug. 1110 00:47:09,630 --> 00:47:12,560 Os ydych yn negyddu 'i ag a [? bang?] mae'n dod yn wir. 1111 00:47:12,560 --> 00:47:13,975 Felly, yna y llinell hon executes. 1112 00:47:13,975 --> 00:47:15,060 1113 00:47:15,060 --> 00:47:17,370 >> Gwirionedd a ffug a zeros a rhai yn cael crazy. 1114 00:47:17,370 --> 00:47:20,690 Dim ond os byddwch yn cerdded yn araf drwyddo bydd yn gwneud synnwyr. 1115 00:47:20,690 --> 00:47:23,320 Ond dyna beth mae hyn ychydig ychydig o cod yma yn ei wneud. 1116 00:47:23,320 --> 00:47:26,490 Felly, mae hyn yn gwirio i weld ydyn ni wedi'i wneud unrhyw gyfnewidiadau. 1117 00:47:26,490 --> 00:47:30,054 Felly os yw'n unrhyw beth ar wahân sero, mae'n mynd i fod yn ffug 1118 00:47:30,054 --> 00:47:31,970 ac mae'r holl beth yn mynd i weithredu eto. 1119 00:47:31,970 --> 00:47:33,150 1120 00:47:33,150 --> 00:47:33,650 Cool? 1121 00:47:33,650 --> 00:47:34,660 1122 00:47:34,660 --> 00:47:36,000 >> MYFYRIWR: Beth mae seibiant yn ei wneud? 1123 00:47:36,000 --> 00:47:38,990 >> HYFFORDDWR: Break unig torri chi allan o'r ddolen. 1124 00:47:38,990 --> 00:47:41,570 Felly, yn yr achos hwn byddai yn union fel terfyn ar y rhaglen 1125 00:47:41,570 --> 00:47:43,828 ac y byddech yn unig cael eich rhestr didoli. 1126 00:47:43,828 --> 00:47:44,536 MYFYRIWR: Amazing. 1127 00:47:44,536 --> 00:47:48,094 1128 00:47:48,094 --> 00:47:49,010 HYFFORDDWR: Mae'n ddrwg gen i? 1129 00:47:49,010 --> 00:47:52,110 MYFYRIWR: Oherwydd y gorffennol rydym ddefnyddiwyd ysgrifennwyd 1 dros sero ysgrifenedig 1130 00:47:52,110 --> 00:47:54,170 i gyflwyno, os a fydd yn gweithio ai peidio. 1131 00:47:54,170 --> 00:47:54,878 >> HYFFORDDWR: Yeah. 1132 00:47:54,878 --> 00:47:56,410 Felly, gallwch ddychwelyd sero neu 1. 1133 00:47:56,410 --> 00:47:58,950 Yn yr achos hwn, gan nad ydym yn mewn gwirionedd gwneud unrhyw beth gyda'r swyddogaeth, 1134 00:47:58,950 --> 00:48:00,150 rydym yn unig am iddo dorri. 1135 00:48:00,150 --> 00:48:02,680 Dydyn ni ddim yn poeni am y peth. 1136 00:48:02,680 --> 00:48:06,960 Brake hefyd yn dda os caiff ei ddefnyddio ar gyfer torri allan 1137 00:48:06,960 --> 00:48:10,710 o bedair dolen neu amodau sy'n nad ydych am i gadw gweithredu. 1138 00:48:10,710 --> 00:48:12,110 'I jyst yn mynd â chi allan ohonynt. 1139 00:48:12,110 --> 00:48:13,587 1140 00:48:13,587 --> 00:48:14,795 Mae'n dipyn o beth arlliw. 1141 00:48:14,795 --> 00:48:16,737 1142 00:48:16,737 --> 00:48:18,445 Rwy'n teimlo fel mae llawer o chwifio llaw, 1143 00:48:18,445 --> 00:48:19,740 fel y byddwch yn dysgu am hyn cyn bo hir. 1144 00:48:19,740 --> 00:48:20,955 >> Ond byddwch yn dysgu am hyn cyn bo hir. 1145 00:48:20,955 --> 00:48:21,500 Wyf yn addo. 1146 00:48:21,500 --> 00:48:22,670 1147 00:48:22,670 --> 00:48:23,170 OK. 1148 00:48:23,170 --> 00:48:24,840 Felly, mae pawb yn cael fath swigen? 1149 00:48:24,840 --> 00:48:25,550 Ddim yn rhy ddrwg. 1150 00:48:25,550 --> 00:48:31,910 Ailadrodd drwy, cyfnewid pethau gan ddefnyddio newidyn dros dro, ac rydym i gyd yn gosod yno? 1151 00:48:31,910 --> 00:48:32,960 Cool. 1152 00:48:32,960 --> 00:48:34,080 Awesome. 1153 00:48:34,080 --> 00:48:34,807 OK. 1154 00:48:34,807 --> 00:48:35,765 Yn ôl at y PowerPoint. 1155 00:48:35,765 --> 00:48:38,140 1156 00:48:38,140 --> 00:48:40,130 Unrhyw gwestiynau yn gyffredinol am y rhain hyd yn hyn? 1157 00:48:40,130 --> 00:48:41,200 1158 00:48:41,200 --> 00:48:41,700 Cool. 1159 00:48:41,700 --> 00:48:43,110 1160 00:48:43,110 --> 00:48:43,695 Mm-EM. 1161 00:48:43,695 --> 00:48:45,279 >> MYFYRIWR: [Anghlywadwy] int prif fel arfer. 1162 00:48:45,279 --> 00:48:46,695 A oes gennych i gael hynny ar gyfer hyn? 1163 00:48:46,695 --> 00:48:48,400 1164 00:48:48,400 --> 00:48:53,550 >> HYFFORDDWR: Felly, roeddem yn jyst yn edrych dim ond ar y algorithm didoli gwirioneddol. 1165 00:48:53,550 --> 00:48:54,559 1166 00:48:54,559 --> 00:48:56,350 Os ydych wedi ei gael o fewn fel rhaglen mwy o faint, 1167 00:48:56,350 --> 00:48:57,891 byddai gennych prif rhywle int. 1168 00:48:57,891 --> 00:49:00,070 1169 00:49:00,070 --> 00:49:02,880 Yn dibynnu ar ble rydych yn defnyddio algorithm hwn, 1170 00:49:02,880 --> 00:49:05,860 byddai'n penderfynu beth sydd cael eu dychwelyd gan iddo. 1171 00:49:05,860 --> 00:49:09,960 Ond ar gyfer ein hachos ni, rydym yn llym edrych ar sut y mae hyn mewn gwirionedd 1172 00:49:09,960 --> 00:49:11,300 ailadrodd drwy arae. 1173 00:49:11,300 --> 00:49:12,570 Felly, nid ydym yn poeni am y peth. 1174 00:49:12,570 --> 00:49:14,150 1175 00:49:14,150 --> 00:49:19,830 >> Felly, rydym yn sôn am achos gorau a sefyllfaoedd gwaethaf posibl ar gyfer chwilio deuaidd. 1176 00:49:19,830 --> 00:49:22,470 Felly, mae hefyd yn bwysig gwneud fod ar gyfer pob un o'n math. 1177 00:49:22,470 --> 00:49:24,200 1178 00:49:24,200 --> 00:49:27,560 Felly, beth yn eich barn chi yn y gwaethaf Rhedeg achos fath swigen? 1179 00:49:27,560 --> 00:49:29,560 1180 00:49:29,560 --> 00:49:30,700 Rydych guys yn cofio? 1181 00:49:30,700 --> 00:49:31,784 >> MYFYRIWR: N minws 1. 1182 00:49:31,784 --> 00:49:32,700 HYFFORDDWR: N minws 1. 1183 00:49:32,700 --> 00:49:35,070 Felly, mae hynny'n golygu bod n minws 1 cymariaethau. 1184 00:49:35,070 --> 00:49:40,060 Felly, un peth i sylweddoli yw bod ar y fersiwn cyntaf, 1185 00:49:40,060 --> 00:49:43,360 inni fynd drwy'r, rydym yn cymharu mae'r rhain two-- felly dyna 1. 1186 00:49:43,360 --> 00:49:46,685 Mae'r rhain yn ddau, tri, pedwar. 1187 00:49:46,685 --> 00:49:48,070 1188 00:49:48,070 --> 00:49:55,050 Felly, ar ôl un fersiwn i ni eisoes wedi pedwar gymariaethau. 1189 00:49:55,050 --> 00:49:58,230 Pan Rwy'n siarad am Rhedeg a n. 1190 00:49:58,230 --> 00:50:04,680 N yn cynrychioli nifer y cymariaethau fel swyddogaeth o faint o elfennau 1191 00:50:04,680 --> 00:50:05,570 gennym. 1192 00:50:05,570 --> 00:50:06,430 OK? 1193 00:50:06,430 --> 00:50:08,860 >> Felly, rydym yn mynd drwy, mae gennym bedwar. 1194 00:50:08,860 --> 00:50:11,780 Y tro nesaf y byddwch yn gwybod nad ydym yn ei wneud rhaid i ofalu am hyn. 1195 00:50:11,780 --> 00:50:15,140 Rydym yn cymharu dau rhain, y ddau hyn, y ddau yma, 1196 00:50:15,140 --> 00:50:20,050 ac os nad oedd gennym y optimization gyda'r pedwar ddolen a ysgrifennais, 1197 00:50:20,050 --> 00:50:22,750 byddech yn cymharu i mewn yma anyways. 1198 00:50:22,750 --> 00:50:26,170 Felly, byddai'n rhaid i chi rhedeg drwy'r casgliad 1199 00:50:26,170 --> 00:50:34,380 a gwneud cymariaethau n n adegau, oherwydd bob tro yr ydym yn 1200 00:50:34,380 --> 00:50:36,670 rhedeg drwyddo wnaethoch didoli un peth. 1201 00:50:36,670 --> 00:50:38,300 1202 00:50:38,300 --> 00:50:41,475 >> A phob tro y byddwn yn rhedeg drwy yr amrywiaeth, rydym yn gwneud cymariaethau n. 1203 00:50:41,475 --> 00:50:42,920 1204 00:50:42,920 --> 00:50:46,330 Felly mae ein Rhedeg ar gyfer hyn yw mewn gwirionedd sgwâr n, a oedd 1205 00:50:46,330 --> 00:50:48,400 yn llawer gwaeth yn ein log pen oherwydd hynny 1206 00:50:48,400 --> 00:50:51,965 yn golygu pe bai gennym bedwar biliwn elfen, 'i' 1207 00:50:51,965 --> 00:50:55,260 mynd i fynd â ni i bedwar biliwn o sgwâr yn lle 32. 1208 00:50:55,260 --> 00:51:01,240 Felly, nid yw'r runtime gorau, ond i rai pethau, 1209 00:51:01,240 --> 00:51:04,610 eich bod yn gwybod, os ydych chi o fewn amrediad penodol o elfennau 1210 00:51:04,610 --> 00:51:06,540 Efallai fath swigen fod yn iawn i'w defnyddio. 1211 00:51:06,540 --> 00:51:07,530 >> OK. 1212 00:51:07,530 --> 00:51:12,290 Felly, yn awr beth yw'r runtime achos gorau? 1213 00:51:12,290 --> 00:51:14,357 1214 00:51:14,357 --> 00:51:14,940 MYFYRIWR: Zero? 1215 00:51:14,940 --> 00:51:16,420 Neu 1? 1216 00:51:16,420 --> 00:51:18,140 >> HYFFORDDWR: 1 Felly byddai fod yn un gymhariaeth. 1217 00:51:18,140 --> 00:51:19,114 Hawl. 1218 00:51:19,114 --> 00:51:20,002 >> MYFYRIWR: N minws 1? 1219 00:51:20,002 --> 00:51:21,380 1220 00:51:21,380 --> 00:51:22,320 >> HYFFORDDWR: Felly, yeah. 1221 00:51:22,320 --> 00:51:22,990 Felly n minws 1. 1222 00:51:22,990 --> 00:51:26,510 Pryd bynnag y bydd gennych syniad tebyg n minws 1, rydym yn tueddu i ddim ond yn ei adael 1223 00:51:26,510 --> 00:51:31,680 ac rydym yn unig dweud n oherwydd bod gennych i gymharu pob un these-- bob pâr. 1224 00:51:31,680 --> 00:51:36,470 Felly byddai'n n minws 1, yr ydym yn byddem yn jyst ddweud yw tua n. 1225 00:51:36,470 --> 00:51:39,280 Pan fyddwch yn delio â runtime, popeth mewn brasamcanu. 1226 00:51:39,280 --> 00:51:43,860 Cyhyd â bod y ddehonglwr yn gywir, rydych yn 'n bert da. 1227 00:51:43,860 --> 00:51:45,700 >> Dyna sut yr ydym yn delio ag ef. 1228 00:51:45,700 --> 00:51:47,410 1229 00:51:47,410 --> 00:51:51,780 Fel bod yr achos gorau yn n, a oedd yn golygu bod y rhestr eisoes yn didoli, 1230 00:51:51,780 --> 00:51:54,320 a'r cyfan a wnawn yn cael ei redeg trwy a gwiriwch fod yn cael ei datrys. 1231 00:51:54,320 --> 00:51:56,110 1232 00:51:56,110 --> 00:51:56,855 Cool. 1233 00:51:56,855 --> 00:51:57,355 Mae pob hawl. 1234 00:51:57,355 --> 00:51:58,980 1235 00:51:58,980 --> 00:52:01,920 Felly, fel y gwelwch yma, rydym yn dim ond cael rhywfaint mwy o graffiau. 1236 00:52:01,920 --> 00:52:02,660 Felly n sgwâr. 1237 00:52:02,660 --> 00:52:03,780 1238 00:52:03,780 --> 00:52:05,120 Hwyl. 1239 00:52:05,120 --> 00:52:09,730 Llawer gwaeth na n wrth i ni weld, a llawer, llawer gwaeth na 2n log. 1240 00:52:09,730 --> 00:52:12,060 Ac yna byddwch hefyd yn cael i mewn i logiau log. 1241 00:52:12,060 --> 00:52:18,020 A ydych yn cymryd 124, byddwch yn cael i mewn i fel seren log, sydd fel gwallgof. 1242 00:52:18,020 --> 00:52:20,172 Felly, os oes gennych ddiddordeb, seren log am-edrych. 1243 00:52:20,172 --> 00:52:20,880 Mae'n fath o hwyl. 1244 00:52:20,880 --> 00:52:22,800 1245 00:52:22,800 --> 00:52:24,220 Felly mae gennym y siart fawr. 1246 00:52:24,220 --> 00:52:25,360 1247 00:52:25,360 --> 00:52:28,720 Dim ond pennau i fyny, a hwn siart gwych i gael 1248 00:52:28,720 --> 00:52:31,350 am eich canol-tymor oherwydd ein hir i ofyn i chi thins hyn. 1249 00:52:31,350 --> 00:52:36,090 Felly dim ond pennau i fyny, gael hyn ar eich canol-tymor ar eich taflen twyllo 'n glws 1250 00:52:36,090 --> 00:52:36,616 yno. 1251 00:52:36,616 --> 00:52:37,990 Felly, rydym yn unig yn edrych ar fath swigen. 1252 00:52:37,990 --> 00:52:39,510 1253 00:52:39,510 --> 00:52:42,370 Achos gwaethaf, n sgwario, achos gorau, n. 1254 00:52:42,370 --> 00:52:43,367 1255 00:52:43,367 --> 00:52:44,950 Ac rydym yn mynd i edrych ar y lleill. 1256 00:52:44,950 --> 00:52:47,940 >> Ac fel y gwelwch, yr unig un sydd wir yn gwneud yn dda 1257 00:52:47,940 --> 00:52:50,910 yn fath uno, a byddwn yn mynd i mewn i pam. 1258 00:52:50,910 --> 00:52:52,690 1259 00:52:52,690 --> 00:52:55,215 Felly, rydym yn mynd i fynd i'r un math dethol Yma-- nesaf. 1260 00:52:55,215 --> 00:52:56,360 1261 00:52:56,360 --> 00:52:58,420 A oes unrhyw un yn cofio sut detholiad didoli gweithio? 1262 00:52:58,420 --> 00:53:05,200 1263 00:53:05,200 --> 00:53:05,700 Ewch amdani. 1264 00:53:05,700 --> 00:53:08,210 >> MYFYRIWR: Yn y bôn yn mynd drwy gorchymyn a chreu rhestr newydd. 1265 00:53:08,210 --> 00:53:11,001 Ac yn union fel eich bod yn rhoi elfennau mewn, rhowch nhw yn y lle iawn 1266 00:53:11,001 --> 00:53:11,750 yn y rhestr newydd. 1267 00:53:11,750 --> 00:53:14,040 >> HYFFORDDWR: Er mwyn i seiniau fwy fel math fewnosod. 1268 00:53:14,040 --> 00:53:15,040 Ond eich bod yn agos iawn. 1269 00:53:15,040 --> 00:53:15,915 Maen nhw'n debyg iawn. 1270 00:53:15,915 --> 00:53:17,440 Hyd yn oed yr wyf yn cael eu cymysgu weithiau. 1271 00:53:17,440 --> 00:53:18,981 Cyn yr adran hon Roeddwn yn hoffi, aros. 1272 00:53:18,981 --> 00:53:20,130 1273 00:53:20,130 --> 00:53:20,630 OK. 1274 00:53:20,630 --> 00:53:24,141 Felly, beth rydych am ei wneud yw fath dethol, 1275 00:53:24,141 --> 00:53:25,890 y ffordd y gallwch chi feddwl am y peth a'r ffordd 1276 00:53:25,890 --> 00:53:30,140 Rwy'n gwneud yn siwr nad wyf yn ceisio cael eu cymysgu i fyny, a yw'n mynd drwy 1277 00:53:30,140 --> 00:53:33,280 ac mae'n dewis y rhif lleiaf ac mae'n 1278 00:53:33,280 --> 00:53:36,070 rhoi hynny ar ddechrau eich rhestr. 1279 00:53:36,070 --> 00:53:37,730 Mae'n cyfnewid 'i ag y fan a'r lle yn gyntaf. 1280 00:53:37,730 --> 00:53:42,600 1281 00:53:42,600 --> 00:53:45,370 Maent mewn gwirionedd ganddynt esiampl i mi. 1282 00:53:45,370 --> 00:53:46,540 Awesome. 1283 00:53:46,540 --> 00:53:50,130 Felly, dim ond ffordd i feddwl am ddewis iddo-- didoli, dewiswch y gwerth lleiaf. 1284 00:53:50,130 --> 00:53:51,940 Ac rydym yn mynd i rhedeg trwy esiampl 1285 00:53:51,940 --> 00:53:55,320 fy mod yn credu y bydd o gymorth oherwydd Rwy'n credu gweledol bob amser yn helpu. 1286 00:53:55,320 --> 00:53:58,510 Felly, rydym yn dechrau allan gyda rhywbeth mae hynny'n hollol heb eu didoli. 1287 00:53:58,510 --> 00:54:00,730 Bydd Red yn heb eu didoli, Bydd gwyrdd yn eu didoli. 1288 00:54:00,730 --> 00:54:02,190 Bydd y cyfan yn gwneud synnwyr mewn eiliad. 1289 00:54:02,190 --> 00:54:08,950 >> Felly, rydym yn mynd trwy ac rydym yn ailadrodd o'r dechrau i'r diwedd. 1290 00:54:08,950 --> 00:54:12,320 Ac yr ydym yn ei ddweud, OK, 2 yw ein rhif lleiaf. 1291 00:54:12,320 --> 00:54:15,680 Felly, rydym yn mynd i gymryd 2 ac rydym yn mynd ei symud i flaen ein array 1292 00:54:15,680 --> 00:54:17,734 oherwydd ei fod yn y rhif lleiaf sydd gennym. 1293 00:54:17,734 --> 00:54:19,150 Felly dyna beth mae hyn yn ei wneud yma. 1294 00:54:19,150 --> 00:54:20,820 Dim ond mae'n mynd i gyfnewid dau rheini. 1295 00:54:20,820 --> 00:54:21,850 1296 00:54:21,850 --> 00:54:25,450 Felly, erbyn hyn rydym wedi a datrys rhannol ac yn rhan heb ei ddidoli. 1297 00:54:25,450 --> 00:54:27,810 A beth sy'n dda i'w gofio am y math dethol 1298 00:54:27,810 --> 00:54:30,690 yw ein bod yn dewis dim ond oddi wrth y rhan heb ei ddidoli. 1299 00:54:30,690 --> 00:54:32,220 1300 00:54:32,220 --> 00:54:34,527 >> Mae'r rhan ddidoli 'ch jyst yn gadael ei ben ei hun. 1301 00:54:34,527 --> 00:54:35,660 Mm-EM? 1302 00:54:35,660 --> 00:54:38,452 >> MYFYRIWR: Sut y mae'n gwybod beth sydd y lleiaf heb ei gymharu 1303 00:54:38,452 --> 00:54:39,868 i bob gwerth arall yn y casgliad. 1304 00:54:39,868 --> 00:54:41,250 HYFFORDDWR: Mae'n gwneud ei gymharu. 1305 00:54:41,250 --> 00:54:42,041 Rydym yn hoffi ei hepgor. 1306 00:54:42,041 --> 00:54:43,850 Mae hyn yn unig yn gyffredinol ar y cyfan. 1307 00:54:43,850 --> 00:54:44,831 Yeah. 1308 00:54:44,831 --> 00:54:47,205 Pan fyddwn yn ysgrifennu y cod rwy'n siŵr byddwch yn fwy bodlon. 1309 00:54:47,205 --> 00:54:48,696 1310 00:54:48,696 --> 00:54:53,030 Ond i chi storio hyn yn gyntaf elfen fel y lleiaf. 1311 00:54:53,030 --> 00:54:56,110 Rydych yn cymharu a chi ddweud, OK, a yw'n llai o faint? 1312 00:54:56,110 --> 00:54:56,660 Ie. 1313 00:54:56,660 --> 00:54:57,460 Cadwch ef. 1314 00:54:57,460 --> 00:54:58,640 Dyma hi'n llai o faint? 1315 00:54:58,640 --> 00:54:59,660 Nac oes? 1316 00:54:59,660 --> 00:55:02,510 >> Dyma'ch lleiaf, ail-neilltuo at eich gwerth. 1317 00:55:02,510 --> 00:55:06,340 A byddwch yn llawer hapusach pan fyddwn yn mynd drwy'r cod. 1318 00:55:06,340 --> 00:55:07,510 1319 00:55:07,510 --> 00:55:13,970 Felly, rydym yn mynd drwy'r, yr ydym yn cyfnewid, felly wedyn rydym yn edrych ar y gyfran heb ei ddidoli. 1320 00:55:13,970 --> 00:55:15,810 Felly, rydym yn mynd i dewis tri allan. 1321 00:55:15,810 --> 00:55:18,890 Rydym yn mynd i roi ar ar ddiwedd ein cyfran ddidoli. 1322 00:55:18,890 --> 00:55:20,267 1323 00:55:20,267 --> 00:55:23,100 Ac rydym yn jyst yn mynd i barhau i wneud hynny, yn gwneud hynny, ac yn gwneud hynny. 1324 00:55:23,100 --> 00:55:24,130 1325 00:55:24,130 --> 00:55:27,420 Felly, mae hyn yn ein math o pseudocode yma. 1326 00:55:27,420 --> 00:55:29,470 1327 00:55:29,470 --> 00:55:31,380 Byddwn yn cod i fyny yma yn ail. 1328 00:55:31,380 --> 00:55:34,140 1329 00:55:34,140 --> 00:55:37,270 Ond dim ond rhywbeth i gerdded trwy ar lefel uchel. 1330 00:55:37,270 --> 00:55:40,275 Rydych yn mynd i fynd o ff yn dychwelyd 0 i n minws 2. 1331 00:55:40,275 --> 00:55:41,570 1332 00:55:41,570 --> 00:55:43,530 Dyna optimization arall. 1333 00:55:43,530 --> 00:55:45,020 Peidiwch â phoeni gormod am y peth. 1334 00:55:45,020 --> 00:55:46,620 Felly, wrth i chi yn ei ddweud. 1335 00:55:46,620 --> 00:55:49,660 1336 00:55:49,660 --> 00:55:54,406 Gan fod Jacob yn ei ddweud, sut yr ydym yn cadw golwg ar yr hyn y mae ein lleiaf yw? 1337 00:55:54,406 --> 00:55:55,030 Sut ydym yn gwybod? 1338 00:55:55,030 --> 00:55:57,060 Mae'n rhaid i ni gymharu popeth yn ein rhestr. 1339 00:55:57,060 --> 00:55:59,600 >> Felly leiaf yn hafal i. 1340 00:55:59,600 --> 00:56:03,870 Dim ond ei fod yn dweud yn yr achos hwn y mynegai o ein gwerth lleiaf. 1341 00:56:03,870 --> 00:56:07,660 Felly, yna mae'n mynd i ailadrodd drwy ac mae'n mynd o j hafal i plws 1. 1342 00:56:07,660 --> 00:56:11,420 Felly, rydym eisoes yn gwybod bod dyna ein elfen gyntaf. 1343 00:56:11,420 --> 00:56:13,240 Nid oes angen i ni ei gymharu ei hun. 1344 00:56:13,240 --> 00:56:16,970 Felly, rydym yn dechrau ei gymharu i'r nesaf un a dyna pam ei bod yn i ac 1 i n 1345 00:56:16,970 --> 00:56:20,110 minws 1, sef y diwedd y rhesi yno. 1346 00:56:20,110 --> 00:56:25,090 Ac rydym ddywedodd os amrywiaeth yn j yn llai na min array, 1347 00:56:25,090 --> 00:56:29,200 Yna, rydym yn ail-neilltuo lle mae ein mynegeion isafswm yw. 1348 00:56:29,200 --> 00:56:37,470 >> Ac nid os min yn hafal i i, fel y yn lle yr oeddem yn ôl dros yma. 1349 00:56:37,470 --> 00:56:38,950 1350 00:56:38,950 --> 00:56:41,790 Felly hoffi pan fyddwn yn gwneud hyn yn un yn gyntaf. 1351 00:56:41,790 --> 00:56:49,310 Yn yr achos hwn, byddai'n dechrau am sero, byddai'n pen draw yn cael dau. 1352 00:56:49,310 --> 00:56:53,010 Felly ni fyddai min cyfartal i yn y diwedd. 1353 00:56:53,010 --> 00:56:55,720 Mae hynny yn gadael i ni wybod bod mae angen i gyfnewid eu cyfer. 1354 00:56:55,720 --> 00:56:57,420 1355 00:56:57,420 --> 00:57:00,470 Rwy'n teimlo fel enghraifft concrid yn helpu llawer mwy na hyn. 1356 00:57:00,470 --> 00:57:04,970 Felly byddaf cod hyn gyda chi guys ar hyn o bryd ac rwy'n credu y bydd yn cael ei well. 1357 00:57:04,970 --> 00:57:07,380 1358 00:57:07,380 --> 00:57:11,350 >> Sorts yn tueddu i weithio y ffordd honno yn y 'i' aml yn well dim ond eu gweld nhw. 1359 00:57:11,350 --> 00:57:12,780 1360 00:57:12,780 --> 00:57:17,280 Felly, yr hyn yr ydym am ei wneud yw rydym yn gyntaf am gael y lleiaf 1361 00:57:17,280 --> 00:57:19,890 elfen yn ei safle yn y casgliad. 1362 00:57:19,890 --> 00:57:21,280 Jacob yn union beth oedd yn ei ddweud. 1363 00:57:21,280 --> 00:57:23,090 Mae angen i chi storio hynny rywsut. 1364 00:57:23,090 --> 00:57:25,900 Felly, rydym yn mynd i ddechrau yma ailadrodd dros y casgliad. 1365 00:57:25,900 --> 00:57:28,970 Rydym yn mynd i ddweud ei fod yn ein un cyntaf yn unig i ddechrau. 1366 00:57:28,970 --> 00:57:38,308 Felly, rydym yn mynd i gael int lleiaf yn hafal i amrywiaeth yn i. 1367 00:57:38,308 --> 00:57:40,500 1368 00:57:40,500 --> 00:57:45,050 >> Felly, un peth i hysbysiad, bob amser dolen hwn executes, 1369 00:57:45,050 --> 00:57:48,550 rydym yn dechrau un cam ymhellach draw. 1370 00:57:48,550 --> 00:57:54,780 1371 00:57:54,780 --> 00:57:57,440 Pan fyddwn yn dechrau ein bod yn edrych ar yr un yma. 1372 00:57:57,440 --> 00:58:00,840 Y tro nesaf rydym yn ailadrodd drwy, rydym yn cychwyn ar yr un yma 1373 00:58:00,840 --> 00:58:02,680 ac yn aseinio iddo ein gwerth lleiaf. 1374 00:58:02,680 --> 00:58:10,450 Felly mae'n debyg iawn i'r math swigen lle rydym yn gwybod bod ar ôl un pasio, 1375 00:58:10,450 --> 00:58:11,700 yr elfen olaf yn cael ei datrys. 1376 00:58:11,700 --> 00:58:12,810 1377 00:58:12,810 --> 00:58:15,120 Gyda'r math dethol, 'i' dim ond y gwrthwyneb. 1378 00:58:15,120 --> 00:58:18,950 >> Ar bob tocyn, rydym yn gwybod bod yr un cyntaf yn cael ei datrys. 1379 00:58:18,950 --> 00:58:21,360 Ar ôl yr ail llwyddo, bod y Bydd ail un yn cael ei datrys. 1380 00:58:21,360 --> 00:58:26,470 Ac fel y gwelsoch gyda'r enghreifftiau sleid, mae ein cyfran datrys dim ond yn parhau i dyfu. 1381 00:58:26,470 --> 00:58:34,020 Felly, drwy osod ein un lleiaf i araeau i, i gyd mae'n ei wneud 1382 00:58:34,020 --> 00:58:37,340 yn yw cyfyngu beth rydym yn edrych ar hynny fel 1383 00:58:37,340 --> 00:58:40,164 er mwyn lleihau nifer o gymariaethau a wnawn. 1384 00:58:40,164 --> 00:58:41,770 A yw hynny'n gwneud synnwyr i bawb? 1385 00:58:41,770 --> 00:58:42,920 1386 00:58:42,920 --> 00:58:46,380 Oes angen i mi redeg drwy'r hwnnw eto arafach neu mewn geiriau gwahanol? 1387 00:58:46,380 --> 00:58:47,180 Rwy'n hapus i. 1388 00:58:47,180 --> 00:58:48,095 1389 00:58:48,095 --> 00:58:48,595 OK. 1390 00:58:48,595 --> 00:58:50,060 1391 00:58:50,060 --> 00:58:55,540 >> Felly, rydym yn storio'r gwerth yn y fan hon, 1392 00:58:55,540 --> 00:58:57,840 ond rydym hefyd am i storio y mynegai. 1393 00:58:57,840 --> 00:59:01,010 Felly, rydym yn mynd i storio'r lleoliad y lleiaf 1394 00:59:01,010 --> 00:59:02,770 un, a dim ond yn mynd i fod i. 1395 00:59:02,770 --> 00:59:04,357 1396 00:59:04,357 --> 00:59:05,440 Felly nawr Jacob wedi ei fodloni. 1397 00:59:05,440 --> 00:59:06,870 Mae gennym bethau storio. 1398 00:59:06,870 --> 00:59:08,240 1399 00:59:08,240 --> 00:59:11,870 Ac yn awr mae angen i ni edrych drwy y rhan heb ei ddidoli y rhesi. 1400 00:59:11,870 --> 00:59:18,170 Felly, yn yr achos hwn fyddai ein heb eu didoli. 1401 00:59:18,170 --> 00:59:20,980 1402 00:59:20,980 --> 00:59:22,462 Mae hyn yn i. 1403 00:59:22,462 --> 00:59:25,430 1404 00:59:25,430 --> 00:59:26,210 OK. 1405 00:59:26,210 --> 00:59:30,040 >> Felly, yr hyn yr ydym yn mynd i'w wneud yn mynd i fod am ddolen. 1406 00:59:30,040 --> 00:59:32,066 Pryd bynnag y mae angen i chi ailadrodd trwy amrywiaeth, 1407 00:59:32,066 --> 00:59:33,440 Gallai eich meddwl yn mynd i am ddolen. 1408 00:59:33,440 --> 00:59:34,760 1409 00:59:34,760 --> 00:59:38,090 Felly, ar gyfer rhai k int equals-- beth ydym yn meddwl 1410 00:59:38,090 --> 00:59:39,700 k yn mynd i fod yn gyfartal i ddechrau? 1411 00:59:39,700 --> 00:59:41,580 1412 00:59:41,580 --> 00:59:44,766 Dyma beth rydym yn gosod fel ein lleiaf gwerth ac rydym am eu cymharu. 1413 00:59:44,766 --> 00:59:47,090 Beth ydym ni eisiau ei gymharu â? 1414 00:59:47,090 --> 00:59:48,730 Mae'n mynd i fod yr un nesaf, dde? 1415 00:59:48,730 --> 00:59:53,200 Felly rydym eisiau k cael ei ymgychwyn i fi ac 1 i ddechrau. 1416 00:59:53,200 --> 00:59:55,350 1417 00:59:55,350 --> 01:00:02,800 >> Ac rydym am k yn yr achos hwn rydym yn eisoes wedi maint storio i fyny yma, 1418 01:00:02,800 --> 01:00:03,930 er mwyn i ni jyst arfer maint. 1419 01:00:03,930 --> 01:00:06,240 Maint sef maint y rhesi. 1420 01:00:06,240 --> 01:00:09,620 Ac rydym yn unig eisiau diweddaru k erbyn un bob tro. 1421 01:00:09,620 --> 01:00:17,410 1422 01:00:17,410 --> 01:00:17,910 Cool. 1423 01:00:17,910 --> 01:00:19,650 1424 01:00:19,650 --> 01:00:23,430 Felly, yn awr mae angen i ni ddod o hyd i yr elfen lleiaf yma. 1425 01:00:23,430 --> 01:00:24,470 1426 01:00:24,470 --> 01:00:31,380 Felly, os ydym yn ailadrodd drwy, rydym yn eisiau ei ddweud, os yw amrywiaeth yn k 1427 01:00:31,380 --> 01:00:37,080 yn llai na ein value-- lleiaf dyma lle rydym yn mewn gwirionedd 1428 01:00:37,080 --> 01:00:42,950 cadw golwg ar yr hyn sydd y Yma-- lleiaf 1429 01:00:42,950 --> 01:00:47,740 Yna, rydym yn awyddus i ail-neilltuo yr hyn y mae ein gwerth lleiaf yw. 1430 01:00:47,740 --> 01:00:50,645 >> Mae hyn yn golygu, oh, rydym yn ailadrodd drwy fan hyn. 1431 01:00:50,645 --> 01:00:51,699 1432 01:00:51,699 --> 01:00:53,740 Beth bynnag yw gwerth yma yw Nid yw ein peth lleiaf. 1433 01:00:53,740 --> 01:00:54,448 Nid ydym am iddo. 1434 01:00:54,448 --> 01:00:56,100 Rydym am ail-neilltuo iddo. 1435 01:00:56,100 --> 01:01:02,050 Felly, os ydym yn ailgyfeirio ei, beth yn ei wneud credwch y gallai fod yn y cod hwn yn fan hyn? 1436 01:01:02,050 --> 01:01:04,160 Rydym yn awyddus i ail-neilltuo lleiaf a sefyllfa. 1437 01:01:04,160 --> 01:01:05,740 1438 01:01:05,740 --> 01:01:07,010 Felly beth sy'n lleiaf nawr? 1439 01:01:07,010 --> 01:01:08,422 1440 01:01:08,422 --> 01:01:09,130 MYFYRIWR: Array k. 1441 01:01:09,130 --> 01:01:09,963 HYFFORDDWR: Array k. 1442 01:01:09,963 --> 01:01:13,480 1443 01:01:13,480 --> 01:01:15,956 A beth yw safbwynt nawr? 1444 01:01:15,956 --> 01:01:20,940 1445 01:01:20,940 --> 01:01:23,000 Beth yw'r mynegeion o ein gwerth lleiaf? 1446 01:01:23,000 --> 01:01:24,030 1447 01:01:24,030 --> 01:01:24,530 Dim ond ei fod yn k. 1448 01:01:24,530 --> 01:01:25,690 1449 01:01:25,690 --> 01:01:27,790 Felly array k, k, maent yn cyd-fynd i fyny. 1450 01:01:27,790 --> 01:01:31,670 1451 01:01:31,670 --> 01:01:33,120 Felly, rydym yn awyddus i ail-neilltuo hynny. 1452 01:01:33,120 --> 01:01:34,390 1453 01:01:34,390 --> 01:01:39,950 Ac yna ar ôl i ni ganfod ein lleiaf, felly ar ddiwedd y hyn am dolen 1454 01:01:39,950 --> 01:01:45,100 yma rydym wedi dod o hyd yr hyn y mae ein lleiaf gwerth yw, felly rydym yn unig yn cyfnewid ei. 1455 01:01:45,100 --> 01:01:47,100 1456 01:01:47,100 --> 01:01:50,816 Yn yr achos hwn, fel y dywedwch ein gwerth lleiaf yw allan yma. 1457 01:01:50,816 --> 01:01:51,940 Mae hyn yn ein gwerth lleiaf. 1458 01:01:51,940 --> 01:01:57,690 >> Rydym yn unig am gyfnewid yma, sef yr hyn y swyddogaeth cyfnewid ar y gwaelod 1459 01:01:57,690 --> 01:02:01,270 wnaeth, yr ydym newydd ei ysgrifennu i fyny ynghyd cofnodion cwpl yn ôl. 1460 01:02:01,270 --> 01:02:02,775 Felly, dylai edrych yn gyfarwydd. 1461 01:02:02,775 --> 01:02:04,320 1462 01:02:04,320 --> 01:02:08,030 Ac yna bydd yn jyst ailadrodd trwy hyd nes ei fod yn cyrraedd yr holl ffordd 1463 01:02:08,030 --> 01:02:13,100 hyd y diwedd, sy'n golygu y byddwch yn wedi sero elfennau sy'n heb eu didoli 1464 01:02:13,100 --> 01:02:14,800 a phopeth arall wedi cael ei datrys. 1465 01:02:14,800 --> 01:02:16,216 1466 01:02:16,216 --> 01:02:16,715 Gwneud synnwyr? 1467 01:02:16,715 --> 01:02:18,010 1468 01:02:18,010 --> 01:02:19,280 Ychydig yn fwy diriaethol? 1469 01:02:19,280 --> 01:02:19,990 Mae'r Cod yn helpu? 1470 01:02:19,990 --> 01:02:21,720 1471 01:02:21,720 --> 01:02:26,410 >> MYFYRIWR: Am faint, fyddwch byth 'n sylweddol yn ei ddiffinio neu ei newid, 1472 01:02:26,410 --> 01:02:27,340 sut mae'n gwybod? 1473 01:02:27,340 --> 01:02:32,380 >> HYFFORDDWR: Felly, un peth i sylwi fyny yma yw maint int. 1474 01:02:32,380 --> 01:02:35,680 Felly, rydyn ni'n ei ddweud yn y math sort-- yn swyddogaeth yn hyn achos-- 'i' 1475 01:02:35,680 --> 01:02:40,770 didoli dewis, mae'n pasio yn â'r swyddogaeth. 1476 01:02:40,770 --> 01:02:43,460 Felly, os nad yw'n cael ei basio mewn, byddech yn gwneud rhywbeth 1477 01:02:43,460 --> 01:02:47,840 tebyg â hyd y rhesi neu a fyddech yn ailadrodd trwy 1478 01:02:47,840 --> 01:02:49,390 i ddod o hyd i'r hyd. 1479 01:02:49,390 --> 01:02:52,680 Ond am ei fod wedi pasio mewn, gallwn jyst ddefnyddio. 1480 01:02:52,680 --> 01:02:55,720 'Ch jyst cymryd yn ganiataol bod y defnyddiwr rhoi maint dilys yr ydych yn 1481 01:02:55,720 --> 01:02:57,698 mewn gwirionedd yn cynrychioli a maint eich arae. 1482 01:02:57,698 --> 01:02:59,461 1483 01:02:59,461 --> 01:02:59,960 Cool? 1484 01:02:59,960 --> 01:03:01,610 1485 01:03:01,610 --> 01:03:05,870 >> Os ydych yn guys yn cael unrhyw drafferth gyda'r rhain neu eisiau mwy o ymarfer codio math 1486 01:03:05,870 --> 01:03:08,050 ar eich pen eich hun, dylech ewch i study.cs50. 1487 01:03:08,050 --> 01:03:11,560 1488 01:03:11,560 --> 01:03:12,670 Mae'n arf. 1489 01:03:12,670 --> 01:03:15,040 Mae ganddynt gwiriwr sy'n gallwch ysgrifennu mewn gwirionedd. 1490 01:03:15,040 --> 01:03:16,180 Maent yn gwneud pseudocode. 1491 01:03:16,180 --> 01:03:19,310 Mae ganddynt fwy o fideos a sleidiau gan gynnwys y rhai yr wyf yn eu defnyddio yma. 1492 01:03:19,310 --> 01:03:23,150 Felly os ydych yn dal i deimlo a ychydig yn fuzzy, rhowch gynnig hynny allan. 1493 01:03:23,150 --> 01:03:25,670 Fel bob amser, dewch siarad â mi, hefyd. 1494 01:03:25,670 --> 01:03:26,320 Cwestiwn? 1495 01:03:26,320 --> 01:03:28,611 >> MYFYRIWR: A ydych yn dweud y maint yn cael ei ddiffinio yn flaenorol? 1496 01:03:28,611 --> 01:03:29,234 1497 01:03:29,234 --> 01:03:29,900 HYFFORDDWR: Ydw. 1498 01:03:29,900 --> 01:03:35,570 Maint yn cael ei ddiffinio yn flaenorol i fyny yma yn y datganiad swyddogaeth. 1499 01:03:35,570 --> 01:03:39,060 Felly rydych yn cymryd yn ganiataol ei fod yn cael ei basio yn gan y defnyddiwr, ac er mwyn symlrwydd, 1500 01:03:39,060 --> 01:03:41,896 rydym yn mynd i gymryd yn ganiataol bod y Rhoddodd defnyddiwr y maint cywir i ni. 1501 01:03:41,896 --> 01:03:43,240 Cool. 1502 01:03:43,240 --> 01:03:44,390 Felly dyna fath dethol. 1503 01:03:44,390 --> 01:03:45,590 1504 01:03:45,590 --> 01:03:47,640 Guys, yr wyf yn gwybod ein bod yn dysgu llawer heddiw. 1505 01:03:47,640 --> 01:03:49,710 Mae'n data trwchus ar gyfer yr adran. 1506 01:03:49,710 --> 01:03:51,880 1507 01:03:51,880 --> 01:03:57,340 Felly, gyda hynny, yr ydym yn mynd i fynd i'r fath fewnosod. 1508 01:03:57,340 --> 01:04:01,550 1509 01:04:01,550 --> 01:04:02,510 >> OK. 1510 01:04:02,510 --> 01:04:06,100 Felly, cyn bod yn rhaid inni wneud ein dadansoddiad Rhedeg yma. 1511 01:04:06,100 --> 01:04:10,190 Felly, yn yr achos gorau, a roddwyd ers i mi yn dangos i chi 1512 01:04:10,190 --> 01:04:11,960 mae'r tabl Rwyf eisoes fath o rhoddodd i ffwrdd. 1513 01:04:11,960 --> 01:04:15,430 Ond runtime achos gorau, beth ydym yn ei feddwl? 1514 01:04:15,430 --> 01:04:17,310 1515 01:04:17,310 --> 01:04:18,130 Popeth datrys. 1516 01:04:18,130 --> 01:04:21,040 1517 01:04:21,040 --> 01:04:22,070 N sgwâr. 1518 01:04:22,070 --> 01:04:24,780 Gall unrhyw un gael esboniad am pam yn eich barn chi? 1519 01:04:24,780 --> 01:04:29,060 1520 01:04:29,060 --> 01:04:30,519 >> MYFYRIWR: Rydych yn cymharu through-- 1521 01:04:30,519 --> 01:04:31,268 HYFFORDDWR: Iawn. 1522 01:04:31,268 --> 01:04:32,540 Rydych yn cymharu drwy. 1523 01:04:32,540 --> 01:04:35,630 Ar bob iteriad, er bod rydym yn decrementing hyn drwy un, 1524 01:04:35,630 --> 01:04:38,950 eich bod yn dal i chwilio drwy bopeth i ddod o hyd i'r un lleiaf. 1525 01:04:38,950 --> 01:04:42,390 Felly hyd yn oed os yw eich gwerth lleiaf yma ar y dechrau, 1526 01:04:42,390 --> 01:04:44,710 ydych yn dal i gymharu yn erbyn popeth arall 1527 01:04:44,710 --> 01:04:46,550 i wneud yn siŵr ei fod yn y peth lleiaf. 1528 01:04:46,550 --> 01:04:49,820 Felly, byddwch yn y pen draw yn rhedeg drwy tua n amseroedd sgwâr. 1529 01:04:49,820 --> 01:04:51,090 1530 01:04:51,090 --> 01:04:51,590 Mae pob hawl. 1531 01:04:51,590 --> 01:04:52,785 A beth yw'r achos gwaethaf? 1532 01:04:52,785 --> 01:04:54,350 1533 01:04:54,350 --> 01:04:57,980 Hefyd n sgwâr oherwydd eich bod yn mynd i fod yn gwneud yr un drefn. 1534 01:04:57,980 --> 01:05:01,670 Felly, yn yr achos hwn, detholiad didoli rywbeth 1535 01:05:01,670 --> 01:05:04,010 ein bod hefyd yn galw runtime disgwyliedig. 1536 01:05:04,010 --> 01:05:07,400 Felly, yn y lleill, rydym yn unig yn gwybod arffiniau uchaf ac isaf. 1537 01:05:07,400 --> 01:05:11,180 Yn dibynnu ar ba mor crazy ein rhestr yn neu pa mor heb eu didoli y mae, 1538 01:05:11,180 --> 01:05:15,350 maent yn amrywio rhwng n neu n sgwâr. 1539 01:05:15,350 --> 01:05:16,550 Nid ydym yn gwybod. 1540 01:05:16,550 --> 01:05:22,820 >> Ond oherwydd bod fath dethol yr un gwaethaf a'r achos gorau, sy'n dweud wrthym fod 1541 01:05:22,820 --> 01:05:25,880 ni waeth pa fath o fewnbwn i ni gael, boed yn gyfan gwbl 1542 01:05:25,880 --> 01:05:29,130 didoli neu yn gyfan gwbl wrthdroi didoli, 'i' 1543 01:05:29,130 --> 01:05:30,740 mynd i gymryd yr un faint o amser. 1544 01:05:30,740 --> 01:05:33,760 Felly, yn yr achos hwnnw, os ydych cofiwch oddi wrth ein bwrdd, 1545 01:05:33,760 --> 01:05:38,610 ei fod mewn gwirionedd wedi cael gwerth sy'n Nid yw y ddau fath oes gan, 1546 01:05:38,610 --> 01:05:40,390 sef runtime disgwyliedig. 1547 01:05:40,390 --> 01:05:43,350 Felly, rydym yn gwybod bod pryd bynnag rydym yn cynnal math dethol, 1548 01:05:43,350 --> 01:05:45,380 mae'n sicr o rhedeg amser n sgwâr. 1549 01:05:45,380 --> 01:05:46,630 Nid oes unrhyw amrywioldeb yno. 1550 01:05:46,630 --> 01:05:47,630 'I jyst yn ei disgwyl. 1551 01:05:47,630 --> 01:05:48,820 1552 01:05:48,820 --> 01:05:52,140 Ac, unwaith eto, os ydych am ddysgu mwy, cymryd CS 124 yn y Gwanwyn. 1553 01:05:52,140 --> 01:05:55,370 1554 01:05:55,370 --> 01:05:56,712 Mae pob hawl. 1555 01:05:56,712 --> 01:05:57,545 Rydym wedi gweld yr un yma. 1556 01:05:57,545 --> 01:05:58,530 1557 01:05:58,530 --> 01:05:59,030 Cool. 1558 01:05:59,030 --> 01:06:00,930 Fath mor mewnosod. 1559 01:06:00,930 --> 01:06:03,330 A dwi'n mynd yn ôl pob tebyg i tân drwy hyn. 1560 01:06:03,330 --> 01:06:05,440 Ni fydd rhaid i mi i chi guys cod iddo. 1561 01:06:05,440 --> 01:06:06,580 Byddwn yn jyst yn cerdded trwyddo. 1562 01:06:06,580 --> 01:06:10,500 Felly fath gosod yn garedig o debyg i fath dethol 1563 01:06:10,500 --> 01:06:14,460 gan fod gennym y ddau yn heb eu didoli a'u didoli yn rhan o'r casgliad. 1564 01:06:14,460 --> 01:06:20,260 >> Ond yr hyn sy'n wahanol yw y wrth inni fynd drwy'r fesul un, 1565 01:06:20,260 --> 01:06:24,210 rydym yn unig yn cymryd pa bynnag rif yn nesaf yn ein heb eu didoli, 1566 01:06:24,210 --> 01:06:28,507 a datrys yn gywir i mewn i'n amrywiaeth ddidoli. 1567 01:06:28,507 --> 01:06:30,090 Bydd yn gwneud mwy o synnwyr gydag enghraifft. 1568 01:06:30,090 --> 01:06:31,140 1569 01:06:31,140 --> 01:06:35,430 Felly, mae popeth yn dechrau fel heb eu didoli, yn union fel gyda'r math dethol. 1570 01:06:35,430 --> 01:06:38,740 Ac rydym yn mynd i ddatrys hyn yn trefn esgynnol fel yr ydym wedi bod. 1571 01:06:38,740 --> 01:06:40,360 1572 01:06:40,360 --> 01:06:43,340 Felly, ar ein bas cyntaf rydym yn cymryd y gwerth cyntaf 1573 01:06:43,340 --> 01:06:46,700 ac yr ydym yn ei ddweud, OK, rydych yn bellach mewn rhestr gan eich hun. 1574 01:06:46,700 --> 01:06:49,150 >> Oherwydd eich bod mewn rhestr eich pen eich hun, yr ydych yn cael eu didoli. 1575 01:06:49,150 --> 01:06:52,460 Llongyfarchiadau am fod y elfen gyntaf yn y casgliad hwn. 1576 01:06:52,460 --> 01:06:54,800 Ydych eisoes yn eu didoli i gyd ar eich pen eich hun. 1577 01:06:54,800 --> 01:06:58,900 Felly, erbyn hyn rydym wedi a datrys ac amrywiaeth heb ei ddidoli. 1578 01:06:58,900 --> 01:07:01,760 Felly, yn awr rydym yn cymryd y cyntaf. 1579 01:07:01,760 --> 01:07:05,600 Beth sy'n digwydd rhwng y fan hon a dyma yw ein bod yn dweud, 1580 01:07:05,600 --> 01:07:08,890 OK, rydym yn mynd i edrych ar y Gwerth gyntaf ein array heb eu didoli 1581 01:07:08,890 --> 01:07:13,270 ac rydym yn mynd i mewnbwn iddo yn ei lle cywir yn yr amrywiaeth ddidoli. 1582 01:07:13,270 --> 01:07:21,460 >> Felly, yr hyn a wnawn yn cael ei rydym yn cymryd 5 ac yr ydym yn ei ddweud, OK, 5 yn fwy na 3, 1583 01:07:21,460 --> 01:07:24,630 felly rydym yn unig mewnosod yn iawn ar y dde o'r hynny. 1584 01:07:24,630 --> 01:07:25,130 Rydym yn dda. 1585 01:07:25,130 --> 01:07:26,200 1586 01:07:26,200 --> 01:07:28,420 Felly, yna rydym yn mynd ymlaen i ein un nesaf. 1587 01:07:28,420 --> 01:07:29,720 Ac rydym yn cymryd 2. 1588 01:07:29,720 --> 01:07:34,330 Rydym yn dweud, OK, 2 yn llai na 3, felly rydym yn gwybod ei fod 1589 01:07:34,330 --> 01:07:36,220 angen iddo fod yn y flaen ein rhestr yn awr. 1590 01:07:36,220 --> 01:07:41,800 Felly, beth yr ydym yn ei wneud yw ein bod yn gwthio 3 a 5 i lawr ac yr ydym yn symud 2 i mewn i'r slot gyntaf. 1591 01:07:41,800 --> 01:07:42,990 1592 01:07:42,990 --> 01:07:45,870 Felly, rydym yn jyst fewnosod i mewn y lle cywir y dylai fod. 1593 01:07:45,870 --> 01:07:46,960 1594 01:07:46,960 --> 01:07:49,470 >> Yna rydym yn edrych ar ein un nesaf, ac rydym yn dweud 6. 1595 01:07:49,470 --> 01:07:53,620 OK, 6 yn fwy na popeth yn ein array ddidoli, 1596 01:07:53,620 --> 01:07:56,000 felly rydym yn unig tag ar hyd y diwedd. 1597 01:07:56,000 --> 01:07:56,960 Ac yna rydym yn edrych ar 4. 1598 01:07:56,960 --> 01:07:58,130 1599 01:07:58,130 --> 01:08:03,020 4 yn llai na 6, mae'n llai na 5 ond mae'n fwy na 3. 1600 01:08:03,020 --> 01:08:06,270 Felly, rydym yn unig mewnosod yn iawn i mewn y canol rhwng 3 a 5. 1601 01:08:06,270 --> 01:08:07,380 1602 01:08:07,380 --> 01:08:10,530 Felly, er mwyn gwneud hynny ychydig yn ychydig yn fwy cadarn, 1603 01:08:10,530 --> 01:08:12,280 yma yw caredig y syniad o'r hyn a ddigwyddodd. 1604 01:08:12,280 --> 01:08:16,430 Felly, ar gyfer pob elfen heb eu didoli, yr ydym yn penderfynu ble yn y rhan ddidoli 1605 01:08:16,430 --> 01:08:17,090 y mae. 1606 01:08:17,090 --> 01:08:20,680 >> Felly, gan gadw mewn cof y didoli a heb eu didoli, 1607 01:08:20,680 --> 01:08:26,080 mae'n rhaid i ni groesi trwy a ffigur allan lle mae'n ffitio yn yr amrywiaeth ddidoli. 1608 01:08:26,080 --> 01:08:31,460 Ac rydym yn mewnosod iddo drwy symud y elfennau ar y dde i lawr. 1609 01:08:31,460 --> 01:08:34,910 Ac yna rydym yn jyst cadw ailadrodd trwy nes i ni 1610 01:08:34,910 --> 01:08:39,270 restr didoli yn gyfan gwbl lle heb eu didoli yn awr yn sero 1611 01:08:39,270 --> 01:08:41,720 ac ddidoli yn dechrau yn y gyfanrwydd ein rhestr. 1612 01:08:41,720 --> 01:08:43,146 1613 01:08:43,146 --> 01:08:45,854 Felly, unwaith eto, i wneud pethau hyd yn oed mwy pendant, yr ydym wedi pseudocode. 1614 01:08:45,854 --> 01:08:47,979 1615 01:08:47,979 --> 01:08:52,410 >> Felly, yn y bôn ar gyfer i yw yn hafal i 0 i n minws 1, 1616 01:08:52,410 --> 01:08:54,790 mai dim ond hyd ein arae. 1617 01:08:54,790 --> 01:09:00,979 Mae gennym rhyw elfen sydd yn hafal i yr amrywiaeth cyntaf neu y mynegeion cyntaf. 1618 01:09:00,979 --> 01:09:03,200 Rydym yn gosod j cyfartal i hynny. 1619 01:09:03,200 --> 01:09:04,649 1620 01:09:04,649 --> 01:09:09,210 Felly, er bod j yn fwy na sero ac mae'r amrywiaeth, j minws 1 1621 01:09:09,210 --> 01:09:11,660 yn fwy na'r elfen, felly cyfan sydd ei wneud 1622 01:09:11,660 --> 01:09:17,479 yn gwneud yn siŵr bod eich j 'n sylweddol yn cynrychioli 1623 01:09:17,479 --> 01:09:20,010 y rhan heb ei ddidoli y rhesi. 1624 01:09:20,010 --> 01:09:30,745 >> Felly, er bod pethau yn dal i fod i ddidoli ac un minws j yw-- beth 1625 01:09:30,745 --> 01:09:31,840 yw'r elfen iddi? 1626 01:09:31,840 --> 01:09:34,760 Ni chafodd J ddiffinnir yma. 1627 01:09:34,760 --> 01:09:35,677 Mae'n fath o blino. 1628 01:09:35,677 --> 01:09:36,176 OK. 1629 01:09:36,176 --> 01:09:36,689 Anyways. 1630 01:09:36,689 --> 01:09:39,899 Felly j minws 1, i chi wirio yr elfen ger ei fron. 1631 01:09:39,899 --> 01:09:46,460 Rydych yn ei ddweud, OK, yw'r elfen cyn i ble bynnag am-- i mi gadewch i ni 1632 01:09:46,460 --> 01:09:47,540 mewn gwirionedd yn tynnu hyn allan. 1633 01:09:47,540 --> 01:09:52,580 1634 01:09:52,580 --> 01:09:56,830 Felly, gadewch i ni ddweud hyn yw tebyg ar ein hail pasio. 1635 01:09:56,830 --> 01:09:59,525 Felly, fi yn mynd i fod yn gyfartal i 1, sydd yn fan hyn. 1636 01:09:59,525 --> 01:10:03,310 1637 01:10:03,310 --> 01:10:06,025 >> Felly, fi yn mynd i fod yn hafal i 1. 1638 01:10:06,025 --> 01:10:09,510 1639 01:10:09,510 --> 01:10:13,702 Byddai hyn yn 2, 4, 5, 6, 7. 1640 01:10:13,702 --> 01:10:16,060 1641 01:10:16,060 --> 01:10:16,750 Mae pob hawl. 1642 01:10:16,750 --> 01:10:20,945 Felly mae ein elfen yn yr achos hwn yn mynd i fod yn hafal i 4. 1643 01:10:20,945 --> 01:10:22,110 1644 01:10:22,110 --> 01:10:24,946 Ac mae gennym rai j dyna mynd i fod yn hafal i 1. 1645 01:10:24,946 --> 01:10:29,770 1646 01:10:29,770 --> 01:10:30,971 Oh, j yn decrementing. 1647 01:10:30,971 --> 01:10:31,720 Dyna beth y mae. 1648 01:10:31,720 --> 01:10:35,680 Felly j yn hafal i fi, felly beth y mae hyn yn ddweud yw bod wrth inni symud ymlaen, 1649 01:10:35,680 --> 01:10:37,530 rydym yn unig yn gwneud yn siwr nad ydym chi dros 1650 01:10:37,530 --> 01:10:43,520 mynegeio fel hyn pan rydym yn ceisio i osod pethau i mewn i'n rhestr didoli. 1651 01:10:43,520 --> 01:10:49,850 >> Felly, pan j yn hafal i 1 yn yr achos hwn ac array minws j one-- felly array minws j 1 1652 01:10:49,850 --> 01:10:54,610 yw 2 mewn achos-- hwn os yw hynny'n yn fwy na'r elfen, 1653 01:10:54,610 --> 01:10:57,700 yna mae hyn i gyd yn ei wneud yn symud pethau i lawr. 1654 01:10:57,700 --> 01:11:04,790 Felly, yn yr achos hwn, array minws j un fyddai arae sero, sydd 2. 1655 01:11:04,790 --> 01:11:08,430 2 yn fwy na 4, felly nid yw hyn yn gweithredu. 1656 01:11:08,430 --> 01:11:11,460 Felly, nid yw'r newid yn symud i lawr. 1657 01:11:11,460 --> 01:11:18,790 Beth mae hyn yn ei wneud yma yn unig symud eich array ddidoli i lawr. 1658 01:11:18,790 --> 01:11:22,340 1659 01:11:22,340 --> 01:11:26,400 Yn yr achos hwn, mewn gwirionedd, yr ydym Gallai do-- gadewch i ni wneud hyn 3. 1660 01:11:26,400 --> 01:11:28,080 1661 01:11:28,080 --> 01:11:31,970 Felly, os ydym i gerdded drwy gyda yr enghraifft hon, rydym yn awr yn fan hyn. 1662 01:11:31,970 --> 01:11:32,740 Mae hyn yn cael ei datrys. 1663 01:11:32,740 --> 01:11:34,492 1664 01:11:34,492 --> 01:11:35,200 Mae hyn yn heb eu didoli. 1665 01:11:35,200 --> 01:11:39,090 1666 01:11:39,090 --> 01:11:39,860 Cool? 1667 01:11:39,860 --> 01:11:46,620 Felly, fi yn hafal i 2, felly mae ein elfen yn hafal i 3. 1668 01:11:46,620 --> 01:11:47,920 1669 01:11:47,920 --> 01:11:52,270 Ac mae ein j yn hafal i 2. 1670 01:11:52,270 --> 01:12:00,620 Felly, rydym yn edrych trwy ac rydym yn ddweud, OK, yn un minws arae j 1671 01:12:00,620 --> 01:12:03,470 yn fwy na'r elfen ein bod yn edrych ar? 1672 01:12:03,470 --> 01:12:05,540 Ac mae'r ateb yn gadarnhaol, dde? 1673 01:12:05,540 --> 01:12:11,275 4 yn fwy na 3 a j yw 2, felly y cod hwn executes. 1674 01:12:11,275 --> 01:12:12,510 1675 01:12:12,510 --> 01:12:18,550 >> Felly nawr beth rydym yn ei wneud amrywiaeth o 2, felly dde yma, rydym yn eu cyfnewid. 1676 01:12:18,550 --> 01:12:25,620 Felly, rydym yn unig yn dweud, OK, array am 2 awr yn mynd i fod yn 3. 1677 01:12:25,620 --> 01:12:28,130 1678 01:12:28,130 --> 01:12:32,340 A j yn mynd i fod yn gyfartal j minws 1, sydd 1. 1679 01:12:32,340 --> 01:12:34,590 1680 01:12:34,590 --> 01:12:37,200 Mae hynny'n ofnadwy, ond chi guys yn cael y syniad. 1681 01:12:37,200 --> 01:12:38,360 Nawr J yn hafal i 1. 1682 01:12:38,360 --> 01:12:44,360 A array j yn unig yn mynd i fod yn cyfartal i'n elfen, sef 4. 1683 01:12:44,360 --> 01:12:45,950 1684 01:12:45,950 --> 01:12:48,570 I ddileu rhywbeth nad wyf ddylai wedi neu rywbeth miswrote, 1685 01:12:48,570 --> 01:12:49,910 ond byddwch yn guys yn cael y syniad. 1686 01:12:49,910 --> 01:12:50,640 >> Mae'n symud ar n. 1687 01:12:50,640 --> 01:12:51,920 1688 01:12:51,920 --> 01:12:57,960 Ac yna os yw hyn yn, mae'n byddai dolen eto, a byddai'n dweud, OK, j yw 1 awr. 1689 01:12:57,960 --> 01:13:00,665 A array j minws 1 yn awr 2. 1690 01:13:00,665 --> 01:13:01,750 1691 01:13:01,750 --> 01:13:03,760 Yw 2 yn llai na'n elfen? 1692 01:13:03,760 --> 01:13:04,540 Nac oes? 1693 01:13:04,540 --> 01:13:07,970 Mae hynny'n golygu ein bod i wedi mewnosod elfen hon 1694 01:13:07,970 --> 01:13:10,110 yn y fan a'r lle cywir yn ein amrywiaeth ddidoli. 1695 01:13:10,110 --> 01:13:14,400 Yna gallwn eu cymryd hyn ac rydym yn ei ddweud, OK, mae ein amrywiaeth ddidoli yn fan hyn. 1696 01:13:14,400 --> 01:13:19,940 A byddai'n cymryd nifer hwn 6 a bod yn fel, OK, yn 6 yn llai na rhif hwn? 1697 01:13:19,940 --> 01:13:20,480 Nac oes? 1698 01:13:20,480 --> 01:13:21,080 Cool. 1699 01:13:21,080 --> 01:13:22,680 Rydym yn iawn. 1700 01:13:22,680 --> 01:13:23,530 >> Ei wneud eto. 1701 01:13:23,530 --> 01:13:24,740 Rydym yn dweud 7. 1702 01:13:24,740 --> 01:13:29,010 Yn 7 yn llai na diwedd o'n array ddidoli? 1703 01:13:29,010 --> 01:13:29,520 Rhif 1704 01:13:29,520 --> 01:13:30,430 Felly, rydym yn iawn. 1705 01:13:30,430 --> 01:13:32,760 Felly byddai hyn yn cael ei datrys. 1706 01:13:32,760 --> 01:13:38,610 Yn y bôn mae hyn yn ei wneud i gyd yw ei fod yn dweud cymryd 1707 01:13:38,610 --> 01:13:42,060 elfen gyntaf eich array heb ei ddidoli, 1708 01:13:42,060 --> 01:13:46,010 chyfrif i maes ble mae'n mynd yn eich amrywiaeth ddidoli. 1709 01:13:46,010 --> 01:13:48,780 Ac mae hyn yn unig yn gofalu o gyfnewidiadau i wneud hynny. 1710 01:13:48,780 --> 01:13:51,300 Rydych yn y bôn yn unig cyfnewid nes ei fod yn y fan a'r lle cywir. 1711 01:13:51,300 --> 01:13:53,600 1712 01:13:53,600 --> 01:13:56,990 Mae'r ddelwedd weledol yw eich bod yn symud popeth i lawr drwy wneud hynny. 1713 01:13:56,990 --> 01:13:59,420 >> Felly, mae fel hanner swigod didoli-esque. 1714 01:13:59,420 --> 01:14:02,280 1715 01:14:02,280 --> 01:14:03,420 Edrychwch ar astudiaeth 50. 1716 01:14:03,420 --> 01:14:06,000 Fi 'n dal argymell rhoi cynnig i cod hyn ar eich pen eich hun. 1717 01:14:06,000 --> 01:14:07,220 1718 01:14:07,220 --> 01:14:12,450 Os oes gennych unrhyw faterion neu os ydych am gweler Cod sampl ar gyfer math fewnosod, 1719 01:14:12,450 --> 01:14:13,750 os gwelwch yn dda gadewch i mi wybod. 1720 01:14:13,750 --> 01:14:14,500 Rwyf o gwmpas bob amser. 1721 01:14:14,500 --> 01:14:16,600 1722 01:14:16,600 --> 01:14:20,200 Felly runtime achos gwaethaf a Rhedeg achos gorau. 1723 01:14:20,200 --> 01:14:30,700 Wrth i chi yn gweld guy o'r tabl Rwyf eisoes Dangosodd chi, 'i' yn n sgwâr ac n. 1724 01:14:30,700 --> 01:14:35,590 >> Mor garedig o fynd oddi ar yr hyn yr ydym yn siarad ynglŷn â'n mathau blaenorol, gwaethaf 1725 01:14:35,590 --> 01:14:38,760 Rhedeg yr achos yw os 'i' heb ei ddosbarthu yn gyfan gwbl, 1726 01:14:38,760 --> 01:14:42,530 mae'n rhaid i ni gymharu pob un o'r rhain amser n. 1727 01:14:42,530 --> 01:14:47,020 Rydym yn gwneud llawer iawn o gymariaethau oherwydd os yw'n tuag yn ôl, 1728 01:14:47,020 --> 01:14:50,360 rydym yn mynd i ddweud, OK, mae hyn yr un fath, mae hyn yn dda, 1729 01:14:50,360 --> 01:14:54,650 a bydd hyn yn un rhaid cymharu yn erbyn yr un cyntaf i gael ei symud yn ôl. 1730 01:14:54,650 --> 01:14:56,710 Ac wrth i ni fynd tuag at diwedd gynffon, rydym wedi 1731 01:14:56,710 --> 01:14:59,440 i gymharu, cymharu, ac cymharu yn erbyn popeth. 1732 01:14:59,440 --> 01:15:03,030 >> Felly, mae'n dod i ben i fyny yn cael tua sgwâr n. 1733 01:15:03,030 --> 01:15:09,510 Os yw'n gywir, yna rydych ddweud, OK, 2, rydych yn dda. 1734 01:15:09,510 --> 01:15:11,330 3, rydych yn cymharu â 2. 1735 01:15:11,330 --> 01:15:12,310 Rydych yn dda. 1736 01:15:12,310 --> 01:15:14,150 4, 'ch jyst yn cymharu i'r gynffon. 1737 01:15:14,150 --> 01:15:14,990 Rydych yn dda. 1738 01:15:14,990 --> 01:15:17,140 6, cymharu at y gynffon, eich bod yn iawn. 1739 01:15:17,140 --> 01:15:20,870 Felly, ar gyfer pob fan a'r lle os yw'n barod didoli, eich bod yn gwneud un gymhariaeth. 1740 01:15:20,870 --> 01:15:22,320 Felly, 'i' jyst n. 1741 01:15:22,320 --> 01:15:26,840 Ac oherwydd bod gennym runtime achos gorau o n a runtime achos gwaethaf o n 1742 01:15:26,840 --> 01:15:28,680 sgwâr, nid oes gennym unrhyw runtime disgwyliedig. 1743 01:15:28,680 --> 01:15:31,290 1744 01:15:31,290 --> 01:15:34,020 >> 'I jyst yn dibynnu ar y anhrefn ar ein rhestr yno. 1745 01:15:34,020 --> 01:15:35,860 1746 01:15:35,860 --> 01:15:39,530 Ac eto, un arall graff a bwrdd arall. 1747 01:15:39,530 --> 01:15:41,170 Felly mae gwahaniaethau rhwng y mathau. 1748 01:15:41,170 --> 01:15:44,180 Im 'jyst yn mynd i awel drwy, yr wyf yn yn teimlo fel ein bod wedi siarad yn helaeth 1749 01:15:44,180 --> 01:15:46,570 am sut y maent i gyd math o amrywio ac yn cysylltu â'i gilydd. 1750 01:15:46,570 --> 01:15:50,564 Felly, yn uno didoli yw'r un olaf Byddaf yn diflasu gyda chi guys. 1751 01:15:50,564 --> 01:15:52,105 Mae gennym ddarlun 'n bert lliwgar. 1752 01:15:52,105 --> 01:15:53,860 1753 01:15:53,860 --> 01:15:56,040 Felly uno fath yn algorithm dychweliadol. 1754 01:15:56,040 --> 01:15:59,910 Felly, ydych chi'n guys yn gwybod beth swyddogaeth recursive yw? 1755 01:15:59,910 --> 01:16:01,550 1756 01:16:01,550 --> 01:16:03,320 >> Dylai unrhyw un sydd eisiau ei ddweud? 1757 01:16:03,320 --> 01:16:04,739 Ydych am roi cynnig? 1758 01:16:04,739 --> 01:16:07,280 Felly swyddogaeth recursive yn unig swyddogaeth sy'n galw ei hun. 1759 01:16:07,280 --> 01:16:08,570 1760 01:16:08,570 --> 01:16:11,590 Felly, os ydych guys yn gyfarwydd gyda'r dilyniant Fibonacci, 1761 01:16:11,590 --> 01:16:15,670 hynny wedi ei ystyried recursive oherwydd eich bod yn cymryd y ddau flaenorol 1762 01:16:15,670 --> 01:16:17,530 ac ychwanegwch nhw at ei gilydd i gael eich un nesaf. 1763 01:16:17,530 --> 01:16:21,440 Felly recursive, yr wyf bob amser yn meddwl o recursion fel fel sbiral 1764 01:16:21,440 --> 01:16:24,430 felly ydych chi fel troellog i lawr i mewn iddo. 1765 01:16:24,430 --> 01:16:27,150 Ond mae'r un swyddogaeth sy'n galw ei hun. 1766 01:16:27,150 --> 01:16:32,660 >> Ac, mewn gwirionedd, yn gyflym iawn yr wyf yn yn gallu dangos i chi beth sy'n edrych yn debyg. 1767 01:16:32,660 --> 01:16:34,260 1768 01:16:34,260 --> 01:16:41,840 Felly recursive fan hyn, os ydym yn edrych, mae hyn yn y ffordd recursive i grynhoi dros arae. 1769 01:16:41,840 --> 01:16:45,900 1770 01:16:45,900 --> 01:16:47,880 Felly popeth a wnawn yw mae gennym swyddogaeth swm 1771 01:16:47,880 --> 01:16:52,210 swm sy'n cymryd maint ac amrywiaeth. 1772 01:16:52,210 --> 01:16:55,210 Ac os byddwch yn sylwi ar, maint decrements erbyn un bob tro. 1773 01:16:55,210 --> 01:17:00,365 A'r holl mae'n ei wneud yw os yw x yn hafal i zero-- felly os yw maint y rhesi 1774 01:17:00,365 --> 01:17:02,710 yn hafal i zero-- mae'n dychwelyd sero. 1775 01:17:02,710 --> 01:17:10,440 >> Fel arall mae'n crynhoi hyn Elfen olaf y array, 1776 01:17:10,440 --> 01:17:14,790 ac wedyn yn cymryd swm o gweddill y rhesi. 1777 01:17:14,790 --> 01:17:17,555 Felly, 'i' jyst dorri i lawr i mewn i broblemau llai ac yn llai. 1778 01:17:17,555 --> 01:17:18,990 1779 01:17:18,990 --> 01:17:21,890 Stori fer hir, recursion, swyddogaeth sy'n galw ei hun. 1780 01:17:21,890 --> 01:17:25,740 Os dyna'r cyfan yr ydych wedi ei gael o hyn, dyna beth yw swyddogaeth ailadroddus yn. 1781 01:17:25,740 --> 01:17:29,870 Os ydych yn cymryd 51, byddwch yn cael iawn, gyfforddus iawn gyda recursion. 1782 01:17:29,870 --> 01:17:31,110 1783 01:17:31,110 --> 01:17:32,370 Mae'n cŵl. 1784 01:17:32,370 --> 01:17:34,660 Roedd yn gwneud synnwyr yn hoffi 3:00 un noson allan. 1785 01:17:34,660 --> 01:17:37,900 Ac yr wyf yn hoffi, pam erioed wedi i'n defnyddio hyn? 1786 01:17:37,900 --> 01:17:39,170 1787 01:17:39,170 --> 01:17:42,430 >> Felly, ar gyfer y math uno, yn y bôn beth mae'n mynd i wneud yw ei fod yn 1788 01:17:42,430 --> 01:17:45,620 mynd i dorri i lawr ac yn torri ei i lawr nes ei fod yn elfennau jyst sengl. 1789 01:17:45,620 --> 01:17:47,570 Mae'r elfennau unigol yn hawdd i'w datrys. 1790 01:17:47,570 --> 01:17:48,070 Rydym yn gweld hynny. 1791 01:17:48,070 --> 01:17:50,760 Os oes gennych un elfen, 'i' ystyried yn didoli eisoes. 1792 01:17:50,760 --> 01:17:53,800 Felly ar mewnbwn o elfennau n, os n yn llai na 2, 1793 01:17:53,800 --> 01:17:58,120 dim ond yn dychwelyd am fod y cyfrwng 'i' naill ai 0 neu 1 fel yr ydym wedi gweld. 1794 01:17:58,120 --> 01:18:00,050 Mae'r rhai yn cael eu hystyried yn elfennau didoli. 1795 01:18:00,050 --> 01:18:02,170 >> Fel arall dorri yn ei hanner. 1796 01:18:02,170 --> 01:18:06,336 Trefnu yn yr hanner cyntaf, ddatrys yr ail hanner, ac yna uno nhw at ei gilydd. 1797 01:18:06,336 --> 01:18:07,460 Pam y mae'n cael ei alw'n fath uno. 1798 01:18:07,460 --> 01:18:08,700 1799 01:18:08,700 --> 01:18:12,155 Felly mae gennym yma byddwn yn datrys hyn. 1800 01:18:12,155 --> 01:18:13,410 1801 01:18:13,410 --> 01:18:17,210 Felly, rydym yn parhau i gael eu nes bod y maint amrywiaeth yw 1. 1802 01:18:17,210 --> 01:18:20,790 Felly, pan fydd 'i' 1, rydym yn unig yn dychwelyd gan fod hwn yn amrywiaeth ddidoli, 1803 01:18:20,790 --> 01:18:23,940 ac mae hyn yn amrywiaeth ddidoli, a dyna amrywiaeth ddidoli, rydym ni i gyd yn didoli. 1804 01:18:23,940 --> 01:18:25,390 1805 01:18:25,390 --> 01:18:29,420 Felly, yna beth ydym yn ei wneud yw ein bod ddechrau eu cyfuno gyda'i gilydd. 1806 01:18:29,420 --> 01:18:31,820 >> Felly, y ffordd y gallwch meddwl am uno yn 1807 01:18:31,820 --> 01:18:36,240 'ch jyst cael gwared ar y lleiaf rhif pob un o'r is arrays 1808 01:18:36,240 --> 01:18:38,330 a dim ond atodi i'r casgliad i'r amlwg. 1809 01:18:38,330 --> 01:18:44,290 Felly, os ydych yn edrych yma, pan fyddwn wedi setiau hyn mae gennym 4, 6, ac 1. 1810 01:18:44,290 --> 01:18:47,280 Pan fyddwn yn awyddus i uno y rhain, byddwn yn edrych ar y ddau gyntaf 1811 01:18:47,280 --> 01:18:50,730 ac yr ydym yn ei ddweud, OK, 1 yn llai, mae'n mynd i'r tu blaen. 1812 01:18:50,730 --> 01:18:54,330 4 a 6, does dim byd i gymharu iddo, dim ond tag ef ar hyd y diwedd. 1813 01:18:54,330 --> 01:18:58,020 >> Pan rydym yn cyfuno y ddau hyn, rydym yn unig cymryd yr un llai o'r ddau yma, 1814 01:18:58,020 --> 01:18:59,310 felly mae'n 1. 1815 01:18:59,310 --> 01:19:01,690 Ac yn awr rydym yn cymryd y llai o ddau hyn, felly 2. 1816 01:19:01,690 --> 01:19:03,330 Llai o ddau hyn, 3. 1817 01:19:03,330 --> 01:19:06,260 Llai o'r ddau, 4, 5, 6. 1818 01:19:06,260 --> 01:19:08,630 Felly, ydych ond yn tynnu oddi ar hyn. 1819 01:19:08,630 --> 01:19:11,210 Ac am eu bod i wedi eu datrys yn flaenorol, 1820 01:19:11,210 --> 01:19:14,300 os oes gen ti un gymhariaeth bob amser yno. 1821 01:19:14,300 --> 01:19:19,610 Felly mwy o cod yma, cynrychiolaeth yn unig. 1822 01:19:19,610 --> 01:19:24,410 Felly, byddwch yn dechrau yn y canol ac chi didoli chwith a'r dde 1823 01:19:24,410 --> 01:19:26,180 ac yna 'ch jyst uno hynny. 1824 01:19:26,180 --> 01:19:30,080 >> Ac nid oes gennym cod i uno i'r dde yma. 1825 01:19:30,080 --> 01:19:34,110 Ond, unwaith eto, os ydych yn mynd ymlaen 50 yn astudio, bydd yn cael ei yno. 1826 01:19:34,110 --> 01:19:36,860 Fel arall, dewch i siarad ataf os ydych yn ddryslyd o hyd. 1827 01:19:36,860 --> 01:19:42,340 Felly beth oera yma yw bod achos gorau, achos gwaethaf, a runtime disgwyliedig 1828 01:19:42,340 --> 01:19:46,250 i gyd mewn log n, a oedd yn llawer gwell nag yr ydym i wedi 1829 01:19:46,250 --> 01:19:48,000 gweld am weddill ein math. 1830 01:19:48,000 --> 01:19:51,840 Rydym wedi gweld n sgwario a'r hyn yr ydym mewn gwirionedd 1831 01:19:51,840 --> 01:19:54,380 cyrraedd yma yn n log n, sy'n wych. 1832 01:19:54,380 --> 01:19:55,830 >> Edrychwch ar faint yn well yw hynny. 1833 01:19:55,830 --> 01:19:56,780 Gromlin mor braf. 1834 01:19:56,780 --> 01:19:58,130 1835 01:19:58,130 --> 01:20:00,120 Mae cymaint mwy effeithlon. 1836 01:20:00,120 --> 01:20:03,510 Os ydych chi erioed gallwch, defnyddio uno didoli. 1837 01:20:03,510 --> 01:20:04,810 Bydd yn arbed amser i chi. 1838 01:20:04,810 --> 01:20:07,670 Yna, unwaith eto, fel y dywedasom, os eich bod i lawr yn y rhanbarth is hwn, 1839 01:20:07,670 --> 01:20:09,480 nid yw'n gwneud hynny llawer o wahaniaeth. 1840 01:20:09,480 --> 01:20:11,360 Byddwch yn cael hyd at filoedd a miloedd o fewnbynnau, 1841 01:20:11,360 --> 01:20:13,318 byddwch yn bendant eisiau algorithm fwy effeithlon. 1842 01:20:13,318 --> 01:20:14,730 1843 01:20:14,730 --> 01:20:19,400 Ac, unwaith eto, mae ein bwrdd hyfryd o bob mathau a ydych guys dysgu heddiw. 1844 01:20:19,400 --> 01:20:21,157 >> Felly, yr wyf yn gwybod ei fod wedi bod yn ddiwrnod trwchus. 1845 01:20:21,157 --> 01:20:23,490 Nid yw hyn o reidrwydd yn mynd i'ch helpu gyda'ch pset. 1846 01:20:23,490 --> 01:20:28,250 Ond Fi jyst eisiau gwneud ymwadiad Nid yr adran honno yn unig yw psets. 1847 01:20:28,250 --> 01:20:31,240 Mae'r holl ddeunyddiau hyn yn deg gêm ar gyfer eich midterms. 1848 01:20:31,240 --> 01:20:35,430 A hefyd, os ydych yn ei wneud yn parhau ar gyda CS, mae'r rhain yn sylfaenol bwysig iawn 1849 01:20:35,430 --> 01:20:37,870 y byddai angen i chi wybod. 1850 01:20:37,870 --> 01:20:41,700 Felly, bydd rhai dyddiau yn ychydig mwy pset help, 1851 01:20:41,700 --> 01:20:44,600 ond bydd rhai wythnosau yn llawer mwy o gynnwys gwirioneddol 1852 01:20:44,600 --> 01:20:46,600 Efallai nad yw yn ymddangos super ddefnyddiol i chi ar hyn o bryd, 1853 01:20:46,600 --> 01:20:51,215 ond yr wyf yn addo, os byddwch yn parhau Bydd ar yn iawn, yn ddefnyddiol iawn. 1854 01:20:51,215 --> 01:20:52,560 1855 01:20:52,560 --> 01:20:54,250 >> Felly dyna ni am adran. 1856 01:20:54,250 --> 01:20:55,250 I lawr i'r wifren. 1857 01:20:55,250 --> 01:20:56,570 Rwyf yn gwneud hynny o fewn un munud. 1858 01:20:56,570 --> 01:20:58,262 1859 01:20:58,262 --> 01:20:58,970 Ond dyna ni. 1860 01:20:58,970 --> 01:21:01,240 A byddaf yn cael toesenni neu Candy. 1861 01:21:01,240 --> 01:21:03,464 A oes unrhyw un alergedd i unrhyw beth, gyda llaw? 1862 01:21:03,464 --> 01:21:05,307 1863 01:21:05,307 --> 01:21:05,890 Wyau a llaeth. 1864 01:21:05,890 --> 01:21:08,120 Felly mae toesenni yn ddim? 1865 01:21:08,120 --> 01:21:09,400 1866 01:21:09,400 --> 01:21:10,160 OK. 1867 01:21:10,160 --> 01:21:10,770 Mae pob hawl. 1868 01:21:10,770 --> 01:21:12,120 Dim Siocled? 1869 01:21:12,120 --> 01:21:12,620 Starburst. 1870 01:21:12,620 --> 01:21:13,837 1871 01:21:13,837 --> 01:21:14,670 Starbursts yn dda. 1872 01:21:14,670 --> 01:21:15,170 OK. 1873 01:21:15,170 --> 01:21:17,045 Rydym yn mynd i gael Starburst wythnos nesaf wedyn. 1874 01:21:17,045 --> 01:21:18,240 Dyna beth byddaf yn cael. 1875 01:21:18,240 --> 01:21:19,690 Rydych guys yn cael wythnos wych. 1876 01:21:19,690 --> 01:21:20,460 Darllenwch eich spec. 1877 01:21:20,460 --> 01:21:22,130 >> Gadewch i mi wybod os oes gennych unrhyw gwestiynau. 1878 01:21:22,130 --> 01:21:25,300 Dylai Pset ddwy radd yn allan i chi erbyn dydd Iau. 1879 01:21:25,300 --> 01:21:28,320 Os oes gennych unrhyw gwestiynau ynghylch sut yr wyf yn graddio rhywbeth 1880 01:21:28,320 --> 01:21:32,250 neu pam yr wyf yn graddio rhywbeth y ffordd rwy'n wnaeth, anfonwch e-bost ataf, dewch siarad â mi. 1881 01:21:32,250 --> 01:21:34,210 Rwy'n ychydig yn hyn yn crazy wythnos, ond yr wyf yn addo 1882 01:21:34,210 --> 01:21:36,340 Byddaf yn dal i ymateb o fewn 24 awr. 1883 01:21:36,340 --> 01:21:38,240 Felly cael wythnos wych, pawb. 1884 01:21:38,240 --> 01:21:40,090 Pob lwc ar eich pset. 1885 01:21:40,090 --> 01:21:41,248