1 00:00:00,000 --> 00:00:00,990 2 00:00:00,990 --> 00:00:02,970 >> [CHWARAE CERDDORIAETH] 3 00:00:02,970 --> 00:00:10,400 4 00:00:10,400 --> 00:00:12,550 >> DAVID J. Malan: Mae hwn yn CS50. 5 00:00:12,550 --> 00:00:14,612 Ac mae hyn yn ddechrau wythnos tri. 6 00:00:14,612 --> 00:00:16,820 Felly, rydym wedi cael llawer o gyffrous pethau i dalu am heddiw. 7 00:00:16,820 --> 00:00:20,160 Mae llawer o gyfleoedd ar gyfer Gwirfoddolwyr i fyny ar y llwyfan. 8 00:00:20,160 --> 00:00:22,780 Ac yn y pen draw, heddiw yw Nid yw am cod o gwbl. 9 00:00:22,780 --> 00:00:24,820 Ond mae'n ymwneud syniadau, ac mae'n ymwneud algorithmau, 10 00:00:24,820 --> 00:00:28,420 ac mewn gwirionedd yn dod yn ôl rhai o'r y gwersi a ddysgwyd o wythnos sero, 11 00:00:28,420 --> 00:00:31,910 wherein dwyn i gof, rydym yn Cyflwynodd monstrosity hwn. 12 00:00:31,910 --> 00:00:33,880 A benthyca ysbrydoliaeth o hynny, i ddechrau 13 00:00:33,880 --> 00:00:36,879 i ddatrys fwyfwy soffistigedig problemau algorithmically. 14 00:00:36,879 --> 00:00:38,420 Ond yn gyntaf, un neu ddau o gyhoeddiadau. 15 00:00:38,420 --> 00:00:42,020 Felly un, os hoffech ymuno Staff a chyd-ddisgyblion CS50 yn ginio 16 00:00:42,020 --> 00:00:44,670 dydd Gwener hwn, yma ac yn Caergrawnt, ac yn New Haven, 17 00:00:44,670 --> 00:00:48,060 ewch i'r cwrs gwefan, lle gellir URL i'w gael. 18 00:00:48,060 --> 00:00:50,390 Darlith Dydd Mercher hwn, bydd beidio â bod yma yn Sanders. 19 00:00:50,390 --> 00:00:53,610 Bydd yn ar-lein yn unig, felly alaw mewn o wefan CS50, a 20 00:00:53,610 --> 00:00:55,850 boed yma yng Nghaergrawnt neu New Haven hefyd. 21 00:00:55,850 --> 00:00:58,110 >> Ac yna broblem a osodwyd dau eisoes yn eich dwylo. 22 00:00:58,110 --> 00:01:03,067 Os nad ydych wedi deifio i mewn eto, yn caniatáu i mi i gynnig yr awgrym wedi'i eirio'n gryf 23 00:01:03,067 --> 00:01:05,150 hynny, yn enwedig yn awr, fel y y broblem yn pennu ymlaen llaw, 24 00:01:05,150 --> 00:01:08,669 Ydych wir eisiau i ddechrau yn awr, os nad dabble ychydig ar y penwythnos neu cyn 25 00:01:08,669 --> 00:01:10,710 pan fyddant yn mynd allan gyntaf ar Dydd Gwener, oherwydd eich bod chi helpu 26 00:01:10,710 --> 00:01:14,380 canfod nad ydynt yn o angenrheidrwydd mynd yn hirach neu'n fwy heriol bob 27 00:01:14,380 --> 00:01:14,950 se. 28 00:01:14,950 --> 00:01:17,575 Yr wyf yn credu y byddwch yn canfod bod, yn gyffredinol, maent yn tueddu i gymryd yn fras 29 00:01:17,575 --> 00:01:18,892 tua un faint o amser. 30 00:01:18,892 --> 00:01:20,850 Ond mae'n sicr yn dibynnu ar y myfyriwr, ac mae'n 31 00:01:20,850 --> 00:01:22,880 yn dibynnu ar y meddylfryd fyddwch yn nesáu ato â nhw. 32 00:01:22,880 --> 00:01:24,910 Ond yn ddieithriad, rydych yn mynd rhedeg i fyny yn erbyn rhai wal, 33 00:01:24,910 --> 00:01:26,350 ac ydych yn mynd i daro rhywfaint o chwilod, ac eich bod yn unig 34 00:01:26,350 --> 00:01:27,950 ddim yn mynd i fod yn gallu ddod dros y rywbryd. 35 00:01:27,950 --> 00:01:31,380 Ac mae'n hynod werthfawr i allu i gamu i ffwrdd, yn dod yn ôl y diwrnod nesaf, 36 00:01:31,380 --> 00:01:35,286 ewch i oriau swyddfa, post ar CS50 Trafod neu debyg, er mwyn cael dadflocio mewn gwirionedd. 37 00:01:35,286 --> 00:01:36,160 Felly cadwch hynny mewn cof. 38 00:01:36,160 --> 00:01:40,830 Dechrau cynharaf ag y bo modd yw'r peth gorau y gallwch ei wneud. 39 00:01:40,830 --> 00:01:44,160 Felly dyma lle rydym yn dechrau y dosbarth, dros mewn wythnos sero. 40 00:01:44,160 --> 00:01:47,441 A gallwn gael yn wirfoddolwr yma i fy helpu i ddod o hyd i mics? 41 00:01:47,441 --> 00:01:47,940 IAWN. 42 00:01:47,940 --> 00:01:48,900 Sefyll i fyny yn barod. 43 00:01:48,900 --> 00:01:50,080 Dewch ar i fyny. 44 00:01:50,080 --> 00:01:53,707 Dyfalu dyna sut mae'n mynd i'r gwaith. 45 00:01:53,707 --> 00:01:54,415 Beth yw dy enw? 46 00:01:54,415 --> 00:01:55,570 ALAN Estrada: Alan Estrada. 47 00:01:55,570 --> 00:01:56,778 DAVID J. Malan: Alan Estrada. 48 00:01:56,778 --> 00:01:57,910 Dewch ar i fyny. 49 00:01:57,910 --> 00:01:58,619 Neis i gwrdd â chi. 50 00:01:58,619 --> 00:01:59,910 ALAN Estrada: Neis i gwrdd â chi. 51 00:01:59,910 --> 00:02:02,772 DAVID J. Malan: A oeddech yma gyda ni yn wythnos sero, wrth gwrs. 52 00:02:02,772 --> 00:02:03,028 ALAN Estrada: Yr oeddwn yn. 53 00:02:03,028 --> 00:02:03,160 Yr oeddwn i. 54 00:02:03,160 --> 00:02:05,868 >> DAVID J. Malan: Felly gallech fynd ymlaen llaw a dod o hyd i ni Mike Smith, 55 00:02:05,868 --> 00:02:08,639 mor gyflym ag y gallwch? 56 00:02:08,639 --> 00:02:10,639 Mor gyflym ag y gallwch. 57 00:02:10,639 --> 00:02:13,756 Llythrennol rhwygo y broblem yn ei hanner gan fod angen i chi. 58 00:02:13,756 --> 00:02:15,130 >> ALAN Estrada: Um. 59 00:02:15,130 --> 00:02:17,380 DAVID J. Malan: Yn llythrennol rhwygo y broblem yn ei hanner. 60 00:02:17,380 --> 00:02:20,210 61 00:02:20,210 --> 00:02:22,083 >> ALAN Estrada: Oh. 62 00:02:22,083 --> 00:02:22,583 Mm. 63 00:02:22,583 --> 00:02:23,300 Da iawn. 64 00:02:23,300 --> 00:02:23,700 >> DAVID J. Malan: Iawn. 65 00:02:23,700 --> 00:02:24,200 Da. 66 00:02:24,200 --> 00:02:24,701 Diolch. 67 00:02:24,701 --> 00:02:25,700 ALAN Estrada: Da iawn. 68 00:02:25,700 --> 00:02:26,210 IAWN. 69 00:02:26,210 --> 00:02:27,610 >> DAVID J. Malan: Ac felly yn awr, rydych wedi ei dreulio o dipyn i lawr 70 00:02:27,610 --> 00:02:29,320 i hanner maint y broblem. 71 00:02:29,320 --> 00:02:31,267 Nawr, rydym yn i lawr at chwarter. 72 00:02:31,267 --> 00:02:33,475 A ydych yn talu sylw i pa ochr rydym yn cadw? 73 00:02:33,475 --> 00:02:34,405 >> [Chwerthin] 74 00:02:34,405 --> 00:02:35,970 >> ALAN Estrada: Ydw, yr wyf yn think-- 75 00:02:35,970 --> 00:02:37,594 >> DAVID J. Malan: Pa adran ydym ni ynddi? 76 00:02:37,594 --> 00:02:39,150 ALAN Estrada: distewyddion, felly. 77 00:02:39,150 --> 00:02:39,941 >> DAVID J. Malan: Iawn. 78 00:02:39,941 --> 00:02:42,810 Ond Mike Smith yn mynd i fod ar ôl distewyddion. 79 00:02:42,810 --> 00:02:44,130 So-- 80 00:02:44,130 --> 00:02:48,180 >> [Chwerthin] 81 00:02:48,180 --> 00:02:48,742 >> Iawn. 82 00:02:48,742 --> 00:02:50,200 ALAN Estrada: Ble ydyn ni'n chwilio? 83 00:02:50,200 --> 00:02:52,049 DAVID J. Malan: Mike Smith. 84 00:02:52,049 --> 00:02:53,090 ALAN Estrada: Mike Smith. 85 00:02:53,090 --> 00:02:54,760 DAVID J. Malan: Yn awr, rydym mewn llawfeddygol. 86 00:02:54,760 --> 00:02:57,840 Yn awr, meddygon. 87 00:02:57,840 --> 00:02:58,340 Now-- 88 00:02:58,340 --> 00:02:59,856 >> ALAN Estrada: Let's- gadewch i ni fynd gyda go iawn. 89 00:02:59,856 --> 00:03:00,370 Real. 90 00:03:00,370 --> 00:03:00,970 >> DAVID J. Malan: Real. 91 00:03:00,970 --> 00:03:01,470 IAWN. 92 00:03:01,470 --> 00:03:03,700 Os oes angen Real. 93 00:03:03,700 --> 00:03:05,250 Yn awr, pa ffordd yw Mike Smith? 94 00:03:05,250 --> 00:03:06,250 >> ALAN Estrada: Fel hyn. 95 00:03:06,250 --> 00:03:07,333 >> DAVID J. Malan: Pa ffordd? 96 00:03:07,333 --> 00:03:08,240 ALAN Estrada: Aros. 97 00:03:08,240 --> 00:03:08,790 Hawl M yw--? 98 00:03:08,790 --> 00:03:09,110 Rydym yn dechrau with-- 99 00:03:09,110 --> 00:03:10,090 >> DAVID J. Malan: Yeah. 100 00:03:10,090 --> 00:03:10,650 Maen nhw'n gadael. 101 00:03:10,650 --> 00:03:11,430 Eich hawl. 102 00:03:11,430 --> 00:03:11,710 >> ALAN Estrada: Yeah. 103 00:03:11,710 --> 00:03:13,126 >> DAVID J. Malan: Felly Mike yn fan hyn. 104 00:03:13,126 --> 00:03:13,990 ALAN Estrada: Beth? 105 00:03:13,990 --> 00:03:14,665 >> [Chwerthin] 106 00:03:14,665 --> 00:03:17,365 107 00:03:17,365 --> 00:03:18,330 >> Esiampl ddrwg, guys. 108 00:03:18,330 --> 00:03:18,830 Mae'n ddrwg gennym. 109 00:03:18,830 --> 00:03:21,610 DAVID J. Malan: Bydd hyn yn addysgu chi i neidio allan o'ch cadair. 110 00:03:21,610 --> 00:03:22,318 >> ALAN Estrada: Oh. 111 00:03:22,318 --> 00:03:22,890 Oh. 112 00:03:22,890 --> 00:03:23,390 Ges i chi. 113 00:03:23,390 --> 00:03:24,670 Ges i chi. 114 00:03:24,670 --> 00:03:25,170 Oh. 115 00:03:25,170 --> 00:03:25,669 Oh. 116 00:03:25,669 --> 00:03:26,812 Mae hyn yn yw-- OK, Cawn chi. 117 00:03:26,812 --> 00:03:27,520 Smith iawn yma? 118 00:03:27,520 --> 00:03:28,894 >> DAVID J. Malan: Smith, diolch. 119 00:03:28,894 --> 00:03:30,535 Felly byddaf yn cadw yn edrych i fyny Smith? 120 00:03:30,535 --> 00:03:30,790 >> ALAN Estrada: O, ie. 121 00:03:30,790 --> 00:03:31,340 Na, na, na. 122 00:03:31,340 --> 00:03:31,600 O, na. 123 00:03:31,600 --> 00:03:31,940 Mae hyn yn pwll. 124 00:03:31,940 --> 00:03:32,580 >> DAVID J. Malan: O, cawsoch Smith. 125 00:03:32,580 --> 00:03:33,415 IAWN. 126 00:03:33,415 --> 00:03:34,040 >> ALAN Estrada: Yeah, yr wyf yn got Smith dde yma. 127 00:03:34,040 --> 00:03:34,700 Mae'n ddrwg gennym, guys. 128 00:03:34,700 --> 00:03:35,860 Roeddwn i'n meddwl Michael-- rydym yn yn chwilio am Michael. 129 00:03:35,860 --> 00:03:36,550 Mae'n ddrwg gennym. 130 00:03:36,550 --> 00:03:37,550 >> DAVID J. Malan: Mae'n iawn. 131 00:03:37,550 --> 00:03:39,950 Mae pob hawl, yn awr rydym yn i mewn i Paccini a'i Feibion. 132 00:03:39,950 --> 00:03:41,242 >> ALAN Estrada: Paccini a meibion. 133 00:03:41,242 --> 00:03:43,158 DAVID J. Malan: Dim ond i chi ac yr wyf yn i mewn ar hyn. 134 00:03:43,158 --> 00:03:44,050 IAWN. 135 00:03:44,050 --> 00:03:45,130 Dod o hyd i ni Mike Smith. 136 00:03:45,130 --> 00:03:45,830 Smith. 137 00:03:45,830 --> 00:03:46,310 >> ALAN Estrada: Smith. 138 00:03:46,310 --> 00:03:46,750 >> DAVID J. Malan: Smith. 139 00:03:46,750 --> 00:03:47,728 Rydym yn mewn ymchwil ar gyfer sbwriel. 140 00:03:47,728 --> 00:03:48,644 ALAN Estrada: Sbwriel. 141 00:03:48,644 --> 00:03:50,096 Oh. 142 00:03:50,096 --> 00:03:52,480 Mae hyn yn mynd i gymryd amser. 143 00:03:52,480 --> 00:03:54,340 >> [Chwerthin] 144 00:03:54,340 --> 00:03:55,804 145 00:03:55,804 --> 00:03:56,720 DAVID J. Malan: Esgidiau. 146 00:03:56,720 --> 00:03:58,080 Rydym yn mewn esgidiau. 147 00:03:58,080 --> 00:04:00,210 >> ALAN Estrada: Nawr rydym yn gonna-- 148 00:04:00,210 --> 00:04:01,105 >> DAVID J. Malan: Nice. 149 00:04:01,105 --> 00:04:01,980 ALAN Estrada: ac-- 150 00:04:01,980 --> 00:04:03,620 [Chwerthin] 151 00:04:03,620 --> 00:04:05,440 O, mae hyn yn wych. 152 00:04:05,440 --> 00:04:06,910 [Chwerthin] 153 00:04:06,910 --> 00:04:08,380 154 00:04:08,380 --> 00:04:09,390 >> DAVID J. Malan: Mae'n iawn. 155 00:04:09,390 --> 00:04:11,365 >> ALAN Estrada: O, mae hyn yn dda. 156 00:04:11,365 --> 00:04:14,425 Dwi ddim yn meddwl fy mod i'n mynd i cael ffrindiau PSAT ar ôl hyn. 157 00:04:14,425 --> 00:04:15,300 DAVID J. Malan: Da. 158 00:04:15,300 --> 00:04:16,078 Chwaraeon. 159 00:04:16,078 --> 00:04:17,036 ALAN Estrada: Chwaraeon. 160 00:04:17,036 --> 00:04:18,668 Um, L, M, N, O, P. 161 00:04:18,668 --> 00:04:19,459 DAVID J. Malan: Iawn. 162 00:04:19,459 --> 00:04:21,600 Felly gadewch i rwygo'r hyn yn ei hanner. 163 00:04:21,600 --> 00:04:22,270 Mae'n iawn. 164 00:04:22,270 --> 00:04:25,606 Mae hyn yn dod i ben yn wael beth bynnag, gan fod Mike Ni fydd Smith yn y tudalennau melyn. 165 00:04:25,606 --> 00:04:26,430 >> ALAN Estrada: Aw. 166 00:04:26,430 --> 00:04:27,140 >> DAVID J. Malan: Na, mae'n iawn. 167 00:04:27,140 --> 00:04:28,930 Ond gadewch i esgus fel ei fod ar y dudalen hon. 168 00:04:28,930 --> 00:04:33,260 Felly nawr, rydych chi wedi ei dreulio o dipyn i lawr y broblem i un dudalen, a gwelsom Mike Smith. 169 00:04:33,260 --> 00:04:35,180 >> [Bloeddio] 170 00:04:35,180 --> 00:04:35,757 171 00:04:35,757 --> 00:04:36,340 OK, diolch i chi. 172 00:04:36,340 --> 00:04:40,700 173 00:04:40,700 --> 00:04:41,200 IAWN. 174 00:04:41,200 --> 00:04:43,646 Dyna oedd rhyfeddol. 175 00:04:43,646 --> 00:04:45,954 Ond roedd yn dal yn gynt na chwilio llinol, 176 00:04:45,954 --> 00:04:47,870 yr hwn yr ydym yn dechrau ar y gan ddechrau o'r llyfr, 177 00:04:47,870 --> 00:04:51,210 ac yr ydym yn symud ein ffordd o'r chwith i'r dde, yn y pen draw yn edrych am Mike Smith. 178 00:04:51,210 --> 00:04:53,540 Ac felly, os yw'r llyfr ffôn Roedd gan efallai 1,000 o dudalennau, 179 00:04:53,540 --> 00:04:56,300 efallai byddai wedi cymryd ni 10 neu felly dagrau dudalen. 180 00:04:56,300 --> 00:04:59,380 >> Ond efallai eich bod wedi ysgogi cyffwrdd rhagdybiaeth 181 00:04:59,380 --> 00:05:03,602 yn ystod hynny i gyd, sef dweud bod y llyfr ffôn o flaen llaw oedd yr hyn? 182 00:05:03,602 --> 00:05:04,310 GYNULLEIDFA: Trefnwyd yn. 183 00:05:04,310 --> 00:05:05,000 DAVID J. Malan: Mae'n didoli. 184 00:05:05,000 --> 00:05:05,160 Iawn? 185 00:05:05,160 --> 00:05:07,909 Mae'n nhrefn yr wyddor, felly bod yr holl enwau a niferoedd hynny 186 00:05:07,909 --> 00:05:11,230 yn cael eu datrys o A i'r Z, ac yn nhrefn yr wyddor yn y canol. 187 00:05:11,230 --> 00:05:13,100 Ond heddiw, rydym yn gofyn yn awr y cwestiwn, yn dda, 188 00:05:13,100 --> 00:05:16,170 sut y gwnaeth Verizon neu y ffôn cwmni ei gael i mewn i'r wladwriaeth? 189 00:05:16,170 --> 00:05:19,560 >> Oherwydd ei fod yn un peth i trosoledd hynny dybiaeth, ac felly, 190 00:05:19,560 --> 00:05:22,570 datrys problem gyda algorithm fwy effeithlon. 191 00:05:22,570 --> 00:05:24,900 Ond ni fyddwn byth yn wir ofynnwyd yn wythnos sero, yn dda, 192 00:05:24,900 --> 00:05:27,790 faint yn gwneud hynny cost Verizon neu rywun arall 193 00:05:27,790 --> 00:05:29,620 i gael y llyfr ffôn er mwyn ddidoli? 194 00:05:29,620 --> 00:05:29,780 >> Iawn? 195 00:05:29,780 --> 00:05:31,529 Nid oes ots os edrych i fyny Mike Smith 196 00:05:31,529 --> 00:05:35,190 yn gyflym super, os yw'n mynd â chi yn flwyddyn i roi trefn y tudalennau yn y lle cyntaf. 197 00:05:35,190 --> 00:05:35,690 Iawn? 198 00:05:35,690 --> 00:05:38,620 Efallai y byddwch yn ogystal dim ond nithio drwy llyfr ffôn ar hap, 199 00:05:38,620 --> 00:05:40,690 os yw'n mynd i fod yn super ddrud i ddatrys y. 200 00:05:40,690 --> 00:05:42,350 Felly os gallwn gael gwirfoddolwr arall. 201 00:05:42,350 --> 00:05:46,350 Gadewch i ni gymryd edrych i fyny yma yn sut might-- ni ddod ar up-- sut 202 00:05:46,350 --> 00:05:48,100 efallai y byddwn yn mynd ati i ddatrys y rhain. 203 00:05:48,100 --> 00:05:51,990 >> Ac os Jordan gallai mewn gwirionedd ymuno â ni i fyny yma ar y llwyfan. 204 00:05:51,990 --> 00:05:55,100 Dewch ar i fyny am ychydig funudau'n. 205 00:05:55,100 --> 00:05:56,359 Beth yw dy enw? 206 00:05:56,359 --> 00:05:57,150 CAROLINE: Caroline. 207 00:05:57,150 --> 00:05:58,691 DAVID J. Malan: Caroline, yn dod ar i fyny. 208 00:05:58,691 --> 00:06:02,070 A byddwch yn ymuno gan i mi a Jordan yma. 209 00:06:02,070 --> 00:06:03,800 Caroline, diolch i chi. 210 00:06:03,800 --> 00:06:04,300 Iawn. 211 00:06:04,300 --> 00:06:08,330 Felly, yr hyn sydd gennym yma am Caroline yw 26 o lyfrau glas 212 00:06:08,330 --> 00:06:10,747 bod FAS defnyddio i weinyddu rhai arholiadau terfynol. 213 00:06:10,747 --> 00:06:13,330 Mae'r rhain yn cael anodd dod o hyd, ond yr hyn yr ydym wedi ei wneud o flaen llaw 214 00:06:13,330 --> 00:06:15,800 yw ein bod wedi rhoi enw rhywun ar flaen pob un o'r rhain, 215 00:06:15,800 --> 00:06:18,133 ond rydym wedi cadw pethau'n syml gan Yna diffodd enwau llawn. 216 00:06:18,133 --> 00:06:22,720 Felly byddem yn gosod y person gyda'r enw L, D, J, B, yr holl ffordd A drwy Z, 217 00:06:22,720 --> 00:06:24,090 ond eu bod nhw mewn trefn ar hap. 218 00:06:24,090 --> 00:06:26,890 Ac felly os ydych fyddai, yn siarad â'ch ffordd trwy'r broblem wrth i chi 219 00:06:26,890 --> 00:06:31,620 yn hynny, gallwch fynd yn ei flaen a didoli rhain i ni, o A i Z. 220 00:06:31,620 --> 00:06:34,070 >> GYNULLEIDFA: Iawn, felly L yn debyg, y canol. 221 00:06:34,070 --> 00:06:35,050 C yn dechrau. 222 00:06:35,050 --> 00:06:42,410 B. J cyn L. B, C. 223 00:06:42,410 --> 00:06:45,140 >> DAVID J. Malan: Daliwch y yn meddwl am eiliad. 224 00:06:45,140 --> 00:06:48,910 Oherwydd fel arall, mae hyn yn unig ddiddorol i chi, mi, a Jordan. 225 00:06:48,910 --> 00:06:49,724 Dyna ni. 226 00:06:49,724 --> 00:06:50,640 GYNULLEIDFA: [Anghlywadwy]. 227 00:06:50,640 --> 00:06:57,299 R. 228 00:06:57,299 --> 00:06:58,090 DAVID J. Malan: Iawn. 229 00:06:58,090 --> 00:06:59,310 Beth wyt ti'n gwneud? 230 00:06:59,310 --> 00:07:01,730 >> CAROLINE: M dod ar ôl O. 231 00:07:01,730 --> 00:07:02,564 >> DAVID J. Malan: Iawn. 232 00:07:02,564 --> 00:07:03,064 >> CAROLINE: O. 233 00:07:03,064 --> 00:07:04,120 DAVID J. Malan: O, Da. 234 00:07:04,120 --> 00:07:04,970 >> CAROLINE: E. 235 00:07:04,970 --> 00:07:06,730 >> DAVID J. Malan: E, F. Yeah. 236 00:07:06,730 --> 00:07:07,620 >> CAROLINE: T, U, V. 237 00:07:07,620 --> 00:07:10,689 >> DAVID J. Malan: V, T, U, V. Felly mae'n yn edrych fel eich bod making-- cadw i fynd. 238 00:07:10,689 --> 00:07:12,730 Mae'n edrych yn debyg eich bod yn gwneud pentwr mawr dros yma, 239 00:07:12,730 --> 00:07:13,910 a math o pentwr mawr dros yno. 240 00:07:13,910 --> 00:07:16,230 Felly, y hanner cyntaf y wyddor, ail hanner y wyddor. 241 00:07:16,230 --> 00:07:16,460 IAWN. 242 00:07:16,460 --> 00:07:16,960 Da. 243 00:07:16,960 --> 00:07:19,680 Math o rannu'r broblem yn ddau. 244 00:07:19,680 --> 00:07:21,771 M, N, X. Yeah. 245 00:07:21,771 --> 00:07:22,270 CAROLINE: K. 246 00:07:22,270 --> 00:07:22,980 DAVID J. Malan: Iawn. 247 00:07:22,980 --> 00:07:25,070 K. Felly, rydych yn fath o ddewis nhw un ar ôl y llall, 248 00:07:25,070 --> 00:07:27,620 ei roi naill ai i'r chwith neu i'r dde, neu Z yn mynd ar y llawr. 249 00:07:27,620 --> 00:07:28,012 IAWN. 250 00:07:28,012 --> 00:07:29,190 >> CAROLINE: Z sy'n mynd ar y llawr. 251 00:07:29,190 --> 00:07:29,360 >> DAVID J. Malan: Iawn. 252 00:07:29,360 --> 00:07:30,920 Y yn mynd ar y llawr. 253 00:07:30,920 --> 00:07:31,735 Nawr gallwn roi X. 254 00:07:31,735 --> 00:07:32,409 >> CAROLINE: G. 255 00:07:32,409 --> 00:07:33,700 DAVID J. Malan: G fynd i'r chwith. 256 00:07:33,700 --> 00:07:36,017 S yn mynd yn iawn. 257 00:07:36,017 --> 00:07:37,642 Mae pob hawl, A yn mynd yr holl ffordd i'r chwith. 258 00:07:37,642 --> 00:07:38,790 >> CAROLINE: A, B, C, D. 259 00:07:38,790 --> 00:07:39,873 >> DAVID J. Malan: Yn awr, yn dda. 260 00:07:39,873 --> 00:07:43,260 Mae gennym A, B, C. W yn mynd i lawr yno. 261 00:07:43,260 --> 00:07:45,566 Mae pob hawl, T. 262 00:07:45,566 --> 00:07:46,611 >> CAROLINE: H, I, J. 263 00:07:46,611 --> 00:07:47,860 DAVID J. Malan: H, I, J. Da. 264 00:07:47,860 --> 00:07:49,160 CAROLINE: Yn y canol, dw i'n gonna-- 265 00:07:49,160 --> 00:07:50,000 DAVID J. Malan: Iawn. 266 00:07:50,000 --> 00:07:52,375 Felly nawr, rydym yn mynd i fath o'r uno amrywiol hyn pentyrrau. 267 00:07:52,375 --> 00:08:00,730 Felly A drwy C, yna yr wyf yn gweld D, a E ac F, a G, a H, ac I. Nice. 268 00:08:00,730 --> 00:08:05,540 J, K. Ac yna, pentwr hwn ben i lawr, ond mae hynny'n iawn. 269 00:08:05,540 --> 00:08:06,040 Cadarn. 270 00:08:06,040 --> 00:08:07,240 Gallwn dorri rhai corneli. 271 00:08:07,240 --> 00:08:07,950 IAWN. 272 00:08:07,950 --> 00:08:10,530 Ac yna mae angen W, X, Y, Z. 273 00:08:10,530 --> 00:08:11,250 >> CAROLINE: Yeah. 274 00:08:11,250 --> 00:08:11,880 >> DAVID J. Malan: Ardderchog. 275 00:08:11,880 --> 00:08:14,122 Diolch Felly yn fawr iawn i Caroline ar gyfer didoli hyn. 276 00:08:14,122 --> 00:08:15,030 >> [Bloeddio] 277 00:08:15,030 --> 00:08:17,287 >> Diolch. 278 00:08:17,287 --> 00:08:18,120 Diolch yn fawr iawn. 279 00:08:18,120 --> 00:08:22,910 Felly nawr gadewch i ni ystyried am eiliad sut yr aeth Caroline ynglŷn â gwneud hynny, 280 00:08:22,910 --> 00:08:26,040 a beth yn union yr ydym yn yn gallu canlynol-- sut yr ydym 281 00:08:26,040 --> 00:08:28,409 yn gallu datrys y broblem pan oeddem yn unig 282 00:08:28,409 --> 00:08:29,950 Rhoddir criw cyfan o fewnbynnau hap. 283 00:08:29,950 --> 00:08:31,610 >> Wel, mae'n edrych fel yna Roedd yn dipyn o system yno? 284 00:08:31,610 --> 00:08:32,110 Hawl. 285 00:08:32,110 --> 00:08:34,495 Felly y llythrennau cynharach yn yr wyddor, mae hi 286 00:08:34,495 --> 00:08:37,120 oedd rhoi ar y chwith, a'r llythyrau yn ddiweddarach yn y wyddor, 287 00:08:37,120 --> 00:08:38,270 ei bod yn rhoi ar y dde. 288 00:08:38,270 --> 00:08:40,500 A chyn gynted ag y daeth o hyd rhai llythrennau procsimol, rhai 289 00:08:40,500 --> 00:08:43,124 sy'n mynd i'r dde nesaf at ei gilydd, byddai'n rhoi'r rheiny yn eu trefn. 290 00:08:43,124 --> 00:08:46,750 Ac felly rydym yn fath o roedd hyn bach pentyrrau o fewnbynnau didoli digwydd. 291 00:08:46,750 --> 00:08:50,540 >> Ac felly dyna yn union fel yr hyn y byddai'r rhan fwyaf ohonom yn ei wneud bodau dynol. 292 00:08:50,540 --> 00:08:53,530 Byddem yn fath o sifftio drwyddo, a byddem yn fath o fecanwaith. 293 00:08:53,530 --> 00:08:56,930 Ond gallai fod yn anodd i ysgrifennu i lawr mewn fformiwla fel y cyfryw. 294 00:08:56,930 --> 00:08:59,010 Mae'n teimlo ychydig yn fwy organig na hynny. 295 00:08:59,010 --> 00:09:02,560 Felly, gadewch i ni weld os gallwn yn awr rhwymo y broblem gyda llai o fewnbynnau. 296 00:09:02,560 --> 00:09:05,170 >> Yn hytrach na 26, gadewch i ni gwneud rhywbeth llawer llai 297 00:09:05,170 --> 00:09:09,890 gyda dim ond dweud, saith, y tu ôl y drysau hyn, fel petai. 298 00:09:09,890 --> 00:09:11,300 A oes dim ond saith rhifau? 299 00:09:11,300 --> 00:09:15,240 Ac os y nod yn awr ar law yn dod o hyd i werth, 300 00:09:15,240 --> 00:09:17,850 gadewch i ni weld pa mor effeithlon gallwn fynd ati i wneud hyn. 301 00:09:17,850 --> 00:09:22,460 A gadewch i ni weld os gallwn yn awr dechrau i wneud cais rhai rhifau, 302 00:09:22,460 --> 00:09:26,310 neu ryw fformiwlâu i ddisgrifio â hwy effeithlonrwydd ein llyfr ffôn 303 00:09:26,310 --> 00:09:31,060 algorithm, mae ein algorithm llyfrau arholiad, ac yn fwy cyffredinol, dod o hyd i wybodaeth. 304 00:09:31,060 --> 00:09:34,770 >> Felly, ar gyfer hyn, gadewch i mi fynd yn ei flaen, ac ar y sgrin gyffwrdd dros yma, 305 00:09:34,770 --> 00:09:41,100 gosod porwr gwe sydd wedi yn union saith drysau. 306 00:09:41,100 --> 00:09:46,670 Ac os gallem gael un arall gwirfoddoli i ddod ymlaen dros yma, 307 00:09:46,670 --> 00:09:48,480 Dwi wedi rhoi un y drysau hyn dros yma. 308 00:09:48,480 --> 00:09:49,170 Gwirfoddolwr Cyflym. 309 00:09:49,170 --> 00:09:51,130 >> Mae hyn yn demos one-- yn mynd i gyflymach ac yn gyflymach yn awr. 310 00:09:51,130 --> 00:09:51,600 Dewch ar i lawr. 311 00:09:51,600 --> 00:09:52,308 Beth yw dy enw? 312 00:09:52,308 --> 00:09:53,040 TREVOR: Trevor. 313 00:09:53,040 --> 00:09:53,998 >> DAVID J. Malan: Trevor? 314 00:09:53,998 --> 00:09:55,770 Mae pob hawl, Trevor, yn dod ar i lawr. 315 00:09:55,770 --> 00:09:59,212 Felly Trevor wedi gwirfoddoli yma i gwneud problem debyg, ond un sy'n 316 00:09:59,212 --> 00:10:02,170 gulach eu cwmpas, ac sy'n mynd i'n galluogi i geisio ffurfioli yn awr 317 00:10:02,170 --> 00:10:03,970 y broses ar gyfer didoli rhifau hyn. 318 00:10:03,970 --> 00:10:05,500 >> Felly Trevor, neis i gwrdd â chi. 319 00:10:05,500 --> 00:10:08,720 Felly dyma yw arae, felly i siarad, rhestr o saith drysau. 320 00:10:08,720 --> 00:10:10,327 Mynd yn ei flaen ac yn dod o hyd i ni y rhif 50. 321 00:10:10,327 --> 00:10:12,410 Ac yna ar ôl y ffaith, dywedwch wrthym sut yr ydych yn ei chael yn. 322 00:10:12,410 --> 00:10:19,124 323 00:10:19,124 --> 00:10:20,040 A ddylai be-- pob hawl. 324 00:10:20,040 --> 00:10:21,945 Yeah, mae hyn yw'r un yma? 325 00:10:21,945 --> 00:10:24,680 Uh-oh. 326 00:10:24,680 --> 00:10:25,560 IAWN. 327 00:10:25,560 --> 00:10:26,680 Cliciwyd bod un. 328 00:10:26,680 --> 00:10:28,690 Da. 329 00:10:28,690 --> 00:10:29,780 >> Ac yn dda. 330 00:10:29,780 --> 00:10:30,970 Nawr eich clicio bod un. 331 00:10:30,970 --> 00:10:34,060 A gadewch i mi roi y meicroffon i chi, fel bod gennych mewn dim ond hyn o bryd. 332 00:10:34,060 --> 00:10:37,000 Mynd yn ei flaen a chliciwch ar y y drws nesaf yr ydych yn bwriadu. 333 00:10:37,000 --> 00:10:39,812 Ie, da. 334 00:10:39,812 --> 00:10:41,020 TREVOR: Alla i unclick drws? 335 00:10:41,020 --> 00:10:42,620 DAVID J. Malan: Na, ni allwch unclick. 336 00:10:42,620 --> 00:10:43,119 TREVOR: OK. 337 00:10:43,119 --> 00:10:43,974 Mae hyn yn un. 338 00:10:43,974 --> 00:10:45,640 DAVID J. Malan: Ble ydych chi eisiau mynd? 339 00:10:45,640 --> 00:10:46,410 Pa un? 340 00:10:46,410 --> 00:10:47,230 >> TREVOR: Bod un. 341 00:10:47,230 --> 00:10:48,042 >> DAVID J. Malan: Na 342 00:10:48,042 --> 00:10:48,450 >> TREVOR: OK. 343 00:10:48,450 --> 00:10:48,735 Mae hyn yn un. 344 00:10:48,735 --> 00:10:49,020 >> DAVID J. Malan: Ydw. 345 00:10:49,020 --> 00:10:49,700 A oedd yn dda. 346 00:10:49,700 --> 00:10:50,380 Iawn. 347 00:10:50,380 --> 00:10:53,900 Felly beth oedd eich algorithm neu weithdrefn ar gyfer gwneud hyn, Trevor? 348 00:10:53,900 --> 00:10:56,149 >> TREVOR: Fi jyst yn mynd trwy drysau hyd nes i mi dod o hyd i 50. 349 00:10:56,149 --> 00:10:56,940 DAVID J. Malan: Iawn. 350 00:10:56,940 --> 00:10:58,150 Algorithm Ardderchog. 351 00:10:58,150 --> 00:10:59,540 Felly mae hynny'n iawn. 352 00:10:59,540 --> 00:11:03,120 Oherwydd yn wir, os wyf yn datgelu beth sydd tu ôl i'r rhain dau ddrws arall, beth 353 00:11:03,120 --> 00:11:06,954 byddwn yn dod o hyd yma yw bod mai dim ond mewnbwn hap. 354 00:11:06,954 --> 00:11:08,870 Felly dyna oedd mewn gwirionedd fel cystal ag y gallech ei gael. 355 00:11:08,870 --> 00:11:12,509 Ac yn wir, a gawsoch yn well na drwyadl chwilio'r amrywiaeth cyfan, 356 00:11:12,509 --> 00:11:15,300 oherwydd byddai wedi bod yn hynod anlwcus pe byddech wedi cyrraedd y nifer 357 00:11:15,300 --> 00:11:16,604 50 wrth y drws olaf un. 358 00:11:16,604 --> 00:11:18,520 Ond beth os ydym yn lle hynny Rhoddodd rhagdybiaeth chi. 359 00:11:18,520 --> 00:11:20,630 Tybiwch wyf yn fath bob un drysau hyn o gwmpas, 360 00:11:20,630 --> 00:11:23,500 fel bod gennych yr niferoedd datrys y tro hwn, 361 00:11:23,500 --> 00:11:29,730 ond y tro hwn, mae'n mewn gwirionedd a different-- y tro hwn, 362 00:11:29,730 --> 00:11:32,640 'i' didoli mewn gwirionedd i chi. 363 00:11:32,640 --> 00:11:35,380 Ac yn awr y nod wrth law yw taro'r rhif 50. 364 00:11:35,380 --> 00:11:36,090 >> TREVOR: OK. 365 00:11:36,090 --> 00:11:37,670 >> DAVID J. Malan: Beth yw eich algorithm mynd i fod? 366 00:11:37,670 --> 00:11:39,628 >> TREVOR: Wel, os yw'n didoli, mae'n naill ai fynd 367 00:11:39,628 --> 00:11:42,710 i be-- os mwyaf i'r mwyaf, ddisgynnol, bydd yn cael yr un cyntaf, 368 00:11:42,710 --> 00:11:44,751 neu os mai i'r gwrthwyneb, bydd yn yr un olaf. 369 00:11:44,751 --> 00:11:48,897 Felly byddaf dim ond tap drws hwn, a yna dim ond tap y drws diwethaf. 370 00:11:48,897 --> 00:11:49,980 DAVID J. Malan: Ardderchog. 371 00:11:49,980 --> 00:11:50,270 Iawn. 372 00:11:50,270 --> 00:11:51,150 Felly, rydym yn dod o hyd i'r rhif 50. 373 00:11:51,150 --> 00:11:52,970 Felly, cyn gynted ag y byddwch yn gwybod cawsant eu didoli, yr ydym yn 374 00:11:52,970 --> 00:11:55,040 yn gallu trosoledd dybiaeth hon. 375 00:11:55,040 --> 00:11:57,040 Felly, maent yn rhy debyg yr enghraifft llyfr ffôn. 376 00:11:57,040 --> 00:11:59,540 Cyn gynted ag y byddwch wedi, hyd yn oed gyda problem fach fel hyn, 377 00:11:59,540 --> 00:12:02,380 eich mewnbynnau didoli cyn-, y gallwn mewn gwirionedd yn dod o hyd i'r gwerth gellid dadlau 378 00:12:02,380 --> 00:12:03,130 yn fwy effeithlon. 379 00:12:03,130 --> 00:12:05,800 >> A doeddwn i ddim yn dweud wrthych os oedd didoli bach i mawr, neu fawr i fach, 380 00:12:05,800 --> 00:12:08,080 ac felly roedd yn rhesymol iawn i gychwyn ar un pen neu'r llall 381 00:12:08,080 --> 00:12:09,750 i mewn gwirionedd yn gweld bod gwerth targed. 382 00:12:09,750 --> 00:12:11,400 Felly diolch i Trevor hefyd. 383 00:12:11,400 --> 00:12:13,260 A byddaf propose-- ei wneud 'n glws. 384 00:12:13,260 --> 00:12:16,960 Mae gennym ychydig clip, mewn gwirionedd, bod ymhlith ein hoff eiliadau yn CS50, 385 00:12:16,960 --> 00:12:19,700 lle weithiau demos hyn peidiwch â mynd yn eithaf yn unol â'r cynllun. 386 00:12:19,700 --> 00:12:22,050 Ac yn wir ar hyn o bryd, yr wyf yn dynnu i fyny y rhyngwyneb anghywir 387 00:12:22,050 --> 00:12:23,508 â hwy i ddefnyddio'r sgrîn gyffwrdd. 388 00:12:23,508 --> 00:12:24,660 Felly dyna oedd fy mai yno. 389 00:12:24,660 --> 00:12:26,600 >> Felly, bydd hyn yn gwneud i clip flwyddyn nesaf fel 390 00:12:26,600 --> 00:12:28,570 pam yr oeddwn yn clicio ar fy sgrin hun. 391 00:12:28,570 --> 00:12:31,390 Ond gadewch i ni edrych yn sydyn ar yr hyn a ddigwyddodd y llynedd 392 00:12:31,390 --> 00:12:34,770 gyda Jay, a ddaeth i fyny, llawer fel Trevor yma, gwirfoddoli, 393 00:12:34,770 --> 00:12:39,380 ac yn y clip byr hwn, byddwch yn gweld sut na wnaeth yr un demo yn eithaf 394 00:12:39,380 --> 00:12:41,074 datgelu yr un gwersi a ddysgwyd. 395 00:12:41,074 --> 00:12:41,740 [VIDEO Playback] 396 00:12:41,740 --> 00:12:45,360 -Mae Pob Rwyf am i chi ei wneud yn awr yw i ddod o hyd i mi, ac i ni, 397 00:12:45,360 --> 00:12:51,674 mewn gwirionedd, mae nifer 50 un cam ar y tro. 398 00:12:51,674 --> 00:12:52,450 >> -Y Rhif 50? 399 00:12:52,450 --> 00:12:53,190 >> -Y Rhif 50. 400 00:12:53,190 --> 00:12:55,356 A gallwch ddatgelu beth sydd y tu ôl i bob un o'r drysau hyn 401 00:12:55,356 --> 00:12:58,540 syml drwy ei gyffwrdd gyda bys. 402 00:12:58,540 --> 00:13:00,910 Damn hi. 403 00:13:00,910 --> 00:13:02,870 >> [Chwerthin] 404 00:13:02,870 --> 00:13:03,806 >> [DIWEDD Playback] 405 00:13:03,806 --> 00:13:05,430 DAVID J. Malan: Felly a aeth yn dda iawn. 406 00:13:05,430 --> 00:13:06,796 Dyna oedd y drysau heb eu didoli. 407 00:13:06,796 --> 00:13:08,670 A Jay, wrth gwrs, ei chael yn llawer rhy gyflym. 408 00:13:08,670 --> 00:13:12,910 Gwnaeth Trevor gwaith llawer gwell yn nhermau eiliad teachable, 409 00:13:12,910 --> 00:13:15,850 fel petai, eleni yn cymryd mwy o amser i ddod o hyd iddo. 410 00:13:15,850 --> 00:13:17,950 Wrth gwrs, yna rydym rhoddodd Jay ail gyfle, 411 00:13:17,950 --> 00:13:20,320 lle rydym yn datrys y drysau, yn union fel y gwnaethom dros Trevor, 412 00:13:20,320 --> 00:13:22,300 a gwnaeth Trevor super yn dda y tro hwn. 413 00:13:22,300 --> 00:13:26,124 Ond wnaeth Jay ei hanner mor gyflym. 414 00:13:26,124 --> 00:13:26,790 [VIDEO Playback] 415 00:13:26,790 --> 00:13:29,650 -Y Nod nawr yw hefyd ddod o hyd i ni y rhif 50, 416 00:13:29,650 --> 00:13:33,030 ond yn ei wneud algorithmically, a dywedwch wrthym sut rydych chi'n mynd am y peth. 417 00:13:33,030 --> 00:13:33,660 >> -IAWN. 418 00:13:33,660 --> 00:13:35,604 >> -ac Os byddwch yn dod o hyd iddo, eich bod yn cadw y ffilm. 419 00:13:35,604 --> 00:13:37,228 Os nad ydych yn ei chael yn, byddwch yn rhoi yn ôl. 420 00:13:37,228 --> 00:13:38,044 >> -Man. 421 00:13:38,044 --> 00:13:38,860 >> -OH! 422 00:13:38,860 --> 00:13:40,800 >> - [Anghlywadwy] OK. 423 00:13:40,800 --> 00:13:46,236 Felly, yr wyf i'n mynd i edrych ar y ben gyntaf i benderfynu os there's-- Oh. 424 00:13:46,236 --> 00:13:48,646 >> [Cymeradwyaeth] 425 00:13:48,646 --> 00:13:53,948 426 00:13:53,948 --> 00:13:55,729 >> [DIWEDD Playback] 427 00:13:55,729 --> 00:13:56,520 DAVID J. Malan: Iawn. 428 00:13:56,520 --> 00:13:59,760 Felly didoli drysau yn glir yn arwain at fwy o effeithlonrwydd. 429 00:13:59,760 --> 00:14:01,680 Ac felly, ddwywaith mor gyflym yw'r hyn oeddwn yn ei olygu yno. 430 00:14:01,680 --> 00:14:03,270 Ac felly Jay got 'n ffodus ddau achlysur. 431 00:14:03,270 --> 00:14:06,685 Ac efe a hefyd got 'n ffodus yn hynny ddiwethaf blwyddyn, yr wyf yn archebu rhai Blu-ray disgiau 432 00:14:06,685 --> 00:14:07,560 i roi allan mewn gwirionedd. 433 00:14:07,560 --> 00:14:09,768 Mae'n ddrwg gen i eleni, rydym yn Nid oedd gan yr un peth, Trevor. 434 00:14:09,768 --> 00:14:11,540 Ond well fyth oedd ychydig flynyddoedd yn ôl. 435 00:14:11,540 --> 00:14:14,820 Ac efallai y bydd rhai ohonoch yn gwybod hyn gyd, Sean, a pan oedd yn CS50, 436 00:14:14,820 --> 00:14:17,780 Heriwyd gyda'r union un broblem, er mewn SD, 437 00:14:17,780 --> 00:14:19,360 fel y byddwch yn fuan yn gweld, yn ôl yn y dydd. 438 00:14:19,360 --> 00:14:22,622 Ac fe welwch fod nid yn unig oedd yn yn cymryd ychydig yn hwy nag Jay, 439 00:14:22,622 --> 00:14:25,580 ychydig yn hwy nag Trevor, yr oedd mewn gwirionedd y cyfle gwych 440 00:14:25,580 --> 00:14:29,820 i gymryd rhan bron pawb yn y dorf a la Price is Right, gan annog 441 00:14:29,820 --> 00:14:31,889 iddo ddod o hyd i'r rhif yr oeddem yn ei geisio. 442 00:14:31,889 --> 00:14:32,930 Gadewch i ni. yn edrych yn gyflym. 443 00:14:32,930 --> 00:14:33,320 >> [VIDEO Playback] 444 00:14:33,320 --> 00:14:33,820 >> -IAWN. 445 00:14:33,820 --> 00:14:36,680 Felly eich tasg yma, Sean, yw'r canlynol. 446 00:14:36,680 --> 00:14:40,860 Rwyf wedi cuddio y tu ôl y rhain drysau y rhif saith. 447 00:14:40,860 --> 00:14:45,120 Ond cuddio mewn rhai o'r drysau hyn yn ogystal niferoedd negyddol eraill. 448 00:14:45,120 --> 00:14:47,500 Ac mae eich nod yw i feddwl o hyn rhes uchaf o rifau 449 00:14:47,500 --> 00:14:50,390 fel dim ond amrywiaeth, neu dim ond dilyniant o ddarnau o bapur 450 00:14:50,390 --> 00:14:51,510 gyda rhifau y tu ôl iddynt. 451 00:14:51,510 --> 00:14:55,540 Ac mae eich nod yw, dim ond yn defnyddio'r top amrywiaeth yma, dod o hyd i mi y rhif saith. 452 00:14:55,540 --> 00:14:58,570 Ac rydym yn wedyn yn mynd i feirniadu sut yr ydych yn mynd ati i'w gyflawni. 453 00:14:58,570 --> 00:14:59,070 -Iawn. 454 00:14:59,070 --> 00:15:00,850 -Find I ni y rhif saith, os gwelwch yn dda. 455 00:15:00,850 --> 00:15:10,500 456 00:15:10,500 --> 00:15:11,000 Na 457 00:15:11,000 --> 00:15:15,050 458 00:15:15,050 --> 00:15:18,550 Pump, 19, 13. 459 00:15:18,550 --> 00:15:22,240 460 00:15:22,240 --> 00:15:24,770 >> [Chwerthin] 461 00:15:24,770 --> 00:15:25,910 >> Nid yw'n gwestiwn tric. 462 00:15:25,910 --> 00:15:29,410 463 00:15:29,410 --> 00:15:29,910 Un. 464 00:15:29,910 --> 00:15:33,218 465 00:15:33,218 --> 00:15:34,695 >> [Chwerthin] 466 00:15:34,695 --> 00:15:37,861 Ar y pwynt hwn, nid yw eich sgôr yn iawn da, felly efallai y byddwch yn ogystal yn dal i fynd. 467 00:15:37,861 --> 00:15:40,610 468 00:15:40,610 --> 00:15:41,110 Tri. 469 00:15:41,110 --> 00:15:43,890 470 00:15:43,890 --> 00:15:45,378 >> [Chwerthin] 471 00:15:45,378 --> 00:15:46,370 472 00:15:46,370 --> 00:15:47,774 >> Ewch ymlaen. 473 00:15:47,774 --> 00:15:50,690 A dweud y gwir, ni allaf helpu ond meddwl hyn yr ydych yn hyd yn oed yn meddwl am, so-- 474 00:15:50,690 --> 00:15:51,959 >> [Chwerthin] 475 00:15:51,959 --> 00:15:53,229 476 00:15:53,229 --> 00:15:55,020 Dim ond y rhes uchaf, felly oes gennych chi dri chwith. 477 00:15:55,020 --> 00:15:56,200 Felly dod o hyd i mi saith. 478 00:15:56,200 --> 00:15:59,700 479 00:15:59,700 --> 00:16:02,167 >> [Chwerthin] 480 00:16:02,167 --> 00:16:14,870 481 00:16:14,870 --> 00:16:15,370 17. 482 00:16:15,370 --> 00:16:25,675 483 00:16:25,675 --> 00:16:26,946 Saith. 484 00:16:26,946 --> 00:16:28,780 >> [Cymeradwyaeth] 485 00:16:28,780 --> 00:16:29,426 >> Iawn. 486 00:16:29,426 --> 00:16:30,360 >> [DIWEDD Playback] 487 00:16:30,360 --> 00:16:31,840 >> DAVID J. Malan: Felly gallem gwyliwch y rhain drwy'r dydd hir. 488 00:16:31,840 --> 00:16:34,090 Ac wrth gwrs, mae rhai o'r demos eleni efallai 489 00:16:34,090 --> 00:16:36,330 Bydd yn awr yn y pen draw yn nesaf fideo flwyddyn yn ogystal. 490 00:16:36,330 --> 00:16:39,040 Felly nawr gadewch i ni mewn gwirionedd canolbwyntio ar y algorithmau 491 00:16:39,040 --> 00:16:42,140 yma, a gweld os na allwn yn awr yn dechrau i ffurfioli 492 00:16:42,140 --> 00:16:46,650 sut y gallwn ni fynd ati i gael ein data i mewn i hyn datgan ei fod yn didoli, 493 00:16:46,650 --> 00:16:50,054 fel y pen draw, y gallwn mewn gwirionedd chwilio yn fwy effeithlon. 494 00:16:50,054 --> 00:16:52,470 A hyd yn oed er ein bod yn mynd i ddefnyddio setiau data yn weddol fach, 495 00:16:52,470 --> 00:16:54,511 fel yr wyth rhif ydym wedi yma ar y bwrdd, 496 00:16:54,511 --> 00:16:58,230 yn y pen draw gallai un syniadau hyn yn berthnasol at 1,000 o mewnbynnau, miliwn mewnbynnau, 497 00:16:58,230 --> 00:17:02,100 4 biliwn a mewnbynnau, oherwydd bod y algorithmau yn mynd i fod yn sylfaenol yr un fath. 498 00:17:02,100 --> 00:17:05,359 >> Ac felly mae hyn yn ein olaf cyfle i wirfoddolwyr heddiw, 499 00:17:05,359 --> 00:17:09,790 ond efallai y mwyaf ymwneud un, y mae ei angen arnom wyth o wirfoddolwyr 500 00:17:09,790 --> 00:17:12,960 i ddod i fyny a cherdded ni drwy'r broses o ddidoli beth fydd cyn bo hir 501 00:17:12,960 --> 00:17:15,212 fod ar gerddoriaeth hyn yn sefyll yma. 502 00:17:15,212 --> 00:17:16,170 Gadewch i mi ddechrau yn ôl yma. 503 00:17:16,170 --> 00:17:19,692 >> Felly un yn y gwyrdd turquoise-- yw e? 504 00:17:19,692 --> 00:17:21,130 A ydych yn ymrwymo? 505 00:17:21,130 --> 00:17:21,630 Dau. 506 00:17:21,630 --> 00:17:23,069 Dewch ar i lawr. 507 00:17:23,069 --> 00:17:23,569 IAWN. 508 00:17:23,569 --> 00:17:24,420 Tri. 509 00:17:24,420 --> 00:17:25,400 Pedwar. 510 00:17:25,400 --> 00:17:27,247 Gadewch me-- OK, pump. 511 00:17:27,247 --> 00:17:28,830 Rydych yn cael eich enwebu gan eich ffrind. 512 00:17:28,830 --> 00:17:31,340 Chwech, saith, ac wyth. 513 00:17:31,340 --> 00:17:32,130 Dewch ar i fyny. 514 00:17:32,130 --> 00:17:32,630 Iawn. 515 00:17:32,630 --> 00:17:33,190 Diolch yn fawr. 516 00:17:33,190 --> 00:17:33,689 Dewch ar i fyny. 517 00:17:33,689 --> 00:17:34,790 Dewch ar i fyny. 518 00:17:34,790 --> 00:17:35,330 >> Iawn. 519 00:17:35,330 --> 00:17:38,890 Felly, yr hyn sydd gennym ac mae hyn Yma-- ymhlith y rhai mwy lletchwith, 520 00:17:38,890 --> 00:17:42,390 gan fod hyn bydd angen hiwmor bod chi fi am ddim ond ychydig o amser. 521 00:17:42,390 --> 00:17:43,442 Rhaid i chi fod yn rhif un. 522 00:17:43,442 --> 00:17:44,150 Beth yw dy enw? 523 00:17:44,150 --> 00:17:44,610 >> Annan: Annan. 524 00:17:44,610 --> 00:17:45,526 >> DAVID J. Malan: Annan. 525 00:17:45,526 --> 00:17:46,092 David. 526 00:17:46,092 --> 00:17:46,800 Beth yw dy enw? 527 00:17:46,800 --> 00:17:47,140 >> JOSEPH: Joseff. 528 00:17:47,140 --> 00:17:49,190 >> DAVID J. Malan: Joseff, rydych yn rhif dau. 529 00:17:49,190 --> 00:17:52,260 >> SERENA: Serena, rhif tri. 530 00:17:52,260 --> 00:17:53,722 Stefan, rhif pedwar. 531 00:17:53,722 --> 00:17:54,430 CYNTHIA: Cynthia. 532 00:17:54,430 --> 00:17:57,548 DAVID J. Malan: Cynthia, rhif pump. 533 00:17:57,548 --> 00:17:58,452 [Anghlywadwy] 534 00:17:58,452 --> 00:17:59,618 DAVID J. Malan: [Anghlywadwy]. 535 00:17:59,618 --> 00:18:00,391 Dafydd, rhif chwech. 536 00:18:00,391 --> 00:18:00,890 MATT: Matt. 537 00:18:00,890 --> 00:18:02,160 DAVID J. Malan: Rhif Matt saith. 538 00:18:02,160 --> 00:18:02,850 A? 539 00:18:02,850 --> 00:18:03,210 >> WAVERLY: Waverly. 540 00:18:03,210 --> 00:18:04,470 >> DAVID J. Malan: Waverly, rhif wyth. 541 00:18:04,470 --> 00:18:04,970 Iawn. 542 00:18:04,970 --> 00:18:06,510 Os ydych yn could-- whoops. 543 00:18:06,510 --> 00:18:08,820 Os ydych i gyd, fel eich her gyntaf, mae yna 544 00:18:08,820 --> 00:18:10,820 Mae wyth standiau cerddoriaeth yma yn wynebu'r gynulleidfa. 545 00:18:10,820 --> 00:18:14,200 Pe gallech roi eich niferoedd ar Saif cerddoriaeth hyn yn y fath fodd 546 00:18:14,200 --> 00:18:16,560 eu bod yn llinell i fyny gyda'r yr un rhifau ar y bwrdd. 547 00:18:16,560 --> 00:18:19,560 Felly, gwneud eich hunain yn edrych fel 'na gan roi eich niferoedd ar gerddoriaeth yma 548 00:18:19,560 --> 00:18:21,960 yn sefyll yma. 549 00:18:21,960 --> 00:18:25,980 Ardderchog hyd yn hyn. 550 00:18:25,980 --> 00:18:26,600 >> Ardderchog. 551 00:18:26,600 --> 00:18:26,890 IAWN. 552 00:18:26,890 --> 00:18:29,556 Felly nawr, rydym yn mynd i ofyn i'r cwestiwn mewn ychydig o ffyrdd gwahanol. 553 00:18:29,556 --> 00:18:31,610 Sut y gallwn fynd ati i ddidoli Folks hyn i fyny yma? 554 00:18:31,610 --> 00:18:34,500 Oherwydd bod gennym ychydig o ddulliau yn gynharach, lle roeddem yn 555 00:18:34,500 --> 00:18:36,360 math o gwneud dau bwcedi gwahanol. 556 00:18:36,360 --> 00:18:38,842 Ac yna rydym yn gyffredinol piecing pethau at ei gilydd. 557 00:18:38,842 --> 00:18:41,050 Cyn gynted ag y gwelsom dau rif oedd yn perthyn gyda'i gilydd, 558 00:18:41,050 --> 00:18:41,975 rydym yn rhoi nhw at ei gilydd. 559 00:18:41,975 --> 00:18:43,350 Dau lythyr sy'n perthyn i'w gilydd. 560 00:18:43,350 --> 00:18:45,058 >> Ond gadewch i ni weld os byddwn yn Ni all ffurfioli hyn, 561 00:18:45,058 --> 00:18:48,044 fel ein bod yn y pen draw yn cael rhywfaint o ffug-god byddwch, 562 00:18:48,044 --> 00:18:49,710 gallwch ddatrys y problemau hyn â hwy. 563 00:18:49,710 --> 00:18:51,870 Felly nawr, rwy'n edrych allan yn y niferoedd hyn yma. 564 00:18:51,870 --> 00:18:55,030 Ac yr wyf yn gweld criw cyfan o gamgymeriadau. 565 00:18:55,030 --> 00:18:57,750 Yn y pen draw, yr wyf am un ar y chwith ac wyth ar y dde. 566 00:18:57,750 --> 00:19:00,650 >> Ac felly rwy'n edrych ar y ddau hyn, pedwar a dau. 567 00:19:00,650 --> 00:19:02,930 A beth yw'r broblem, yn amlwg? 568 00:19:02,930 --> 00:19:04,261 Yeah. 569 00:19:04,261 --> 00:19:04,760 So. 570 00:19:04,760 --> 00:19:07,160 Mae dau yn amlwg yn dod cyn pedwar, felly eich bod yn gwybod beth? 571 00:19:07,160 --> 00:19:10,210 Gadewch i mi yn gyntaf yn defnyddio dull farus, os mynnwch, llawer problem debyg 572 00:19:10,210 --> 00:19:13,790 gosod one-- os cofiwch oddi wrth y Standard Edition o Broblem Set One, 573 00:19:13,790 --> 00:19:16,820 lle rwy'n dim ond yn lleol yn datrys y broblem sy'n iawn yma o flaen fy 574 00:19:16,820 --> 00:19:17,690 a gweld ble mae'n arwain fi. 575 00:19:17,690 --> 00:19:17,870 >> IAWN. 576 00:19:17,870 --> 00:19:20,161 Felly dau a phedwar, gadewch i mi fynd ei flaen a dim ond cyfnewid gennych ddwy. 577 00:19:20,161 --> 00:19:22,400 Os gallwch symud yn gorfforol eich hunain a'ch papur, 578 00:19:22,400 --> 00:19:25,040 Rwyf yn ymddangos i wedi gotten y rhestru mewn gwell cyflwr. 579 00:19:25,040 --> 00:19:26,330 >> Yn awr, maen nhw'n dda. 580 00:19:26,330 --> 00:19:28,480 Rydw i'n mynd i symud ymlaen, pedwar a chwech, yn edrych yn dda. 581 00:19:28,480 --> 00:19:29,110 Ddim yn broblem. 582 00:19:29,110 --> 00:19:30,440 Chwech ac wyth, OK. 583 00:19:30,440 --> 00:19:31,860 Wyth ac un, problem arall. 584 00:19:31,860 --> 00:19:34,750 Oherwydd bod yr hyn sy'n wir am wyth ac un? 585 00:19:34,750 --> 00:19:36,990 Mae un yn dod cyn wyth, ac felly beth ddylem ei wneud? 586 00:19:36,990 --> 00:19:38,090 Gadewch i ni gyfnewid dau hyn. 587 00:19:38,090 --> 00:19:39,316 Mae un ac wyth. 588 00:19:39,316 --> 00:19:40,690 Ac yn awr, yr wyf i'n mynd i ddal ati. 589 00:19:40,690 --> 00:19:42,030 Rydw i'n mynd i gadw edrych i'r dyfodol. 590 00:19:42,030 --> 00:19:42,840 A gadewch i ni weld beth sy'n digwydd. 591 00:19:42,840 --> 00:19:44,680 Wyth a thri, o gwrs, allan o drefn. 592 00:19:44,680 --> 00:19:45,815 Gadewch i ni gyfnewid. 593 00:19:45,815 --> 00:19:46,940 Wyth a saith, wrth gwrs. 594 00:19:46,940 --> 00:19:47,481 Allan o drefn. 595 00:19:47,481 --> 00:19:48,280 Gadewch i ni gyfnewid. 596 00:19:48,280 --> 00:19:49,940 Wyth a phump, wrth gwrs, gadewch i ni gyfnewid. 597 00:19:49,940 --> 00:19:50,560 Iawn. 598 00:19:50,560 --> 00:19:51,880 Rhestr yn cael ei datrys. 599 00:19:51,880 --> 00:19:53,060 ie? 600 00:19:53,060 --> 00:19:54,280 >> OK, yn amlwg nid. 601 00:19:54,280 --> 00:19:55,860 Ond mae'n ychydig yn well, dde? 602 00:19:55,860 --> 00:19:57,270 Oherwydd bod rhybudd beth ddigwyddodd. 603 00:19:57,270 --> 00:20:01,749 Bob tro y byddwn yn perfformio cyfnewid, mae llai o faint Rhif fath o percolated y ffordd honno, 604 00:20:01,749 --> 00:20:03,790 a nifer mwy percolated y modd hwn, neu yr ydym chi helpu 605 00:20:03,790 --> 00:20:06,880 dechrau gan ddweud bubbled i'r chwith neu bubbled i'r dde. 606 00:20:06,880 --> 00:20:10,080 >> Yn awr, nid yw'n ddigon, oherwydd ar y gorau gallai nifer 607 00:20:10,080 --> 00:20:11,990 wedi symud un man ymlaen, neu ar y gwaethaf, 608 00:20:11,990 --> 00:20:13,880 gallai nifer gael Symudodd un man arall. 609 00:20:13,880 --> 00:20:16,369 Felly rydych yn gwybod beth, y math hwn o wedi gweithio yn eithaf da hyd yn hyn. 610 00:20:16,369 --> 00:20:17,410 Gadewch i mi roi cynnig arni eto. 611 00:20:17,410 --> 00:20:18,880 Dau a phedwar, maen nhw'n iawn. 612 00:20:18,880 --> 00:20:20,180 Pedwar a chwech, maen nhw'n iawn. 613 00:20:20,180 --> 00:20:21,790 Chwech ac un, allan o drefn. 614 00:20:21,790 --> 00:20:23,007 Felly gadewch i ni cyfnewid i chi ddau. 615 00:20:23,007 --> 00:20:25,840 Ac yn awr, yn sylwi ar y broblem yn dechrau cael ychydig yn well eto. 616 00:20:25,840 --> 00:20:27,006 Chwech a thri, allan o drefn. 617 00:20:27,006 --> 00:20:28,100 Gadewch i ni cyfnewid chi ddau. 618 00:20:28,100 --> 00:20:29,730 Chwech a saith, rydych yn dda. 619 00:20:29,730 --> 00:20:32,230 Saith a phump, wrth gwrs, allan o drefn. 620 00:20:32,230 --> 00:20:33,920 Saith ac wyth, mewn trefn. 621 00:20:33,920 --> 00:20:36,470 Ac yn awr, efallai y bydd angen i I gwneud hyn ychydig yn fwy o weithiau. 622 00:20:36,470 --> 00:20:39,830 Ac yn wir, yn meddwl am eich hunain faint o bosibl weithiau maximally 623 00:20:39,830 --> 00:20:41,330 efallai y bydd rhaid i mi gerdded yn ôl ac ymlaen? 624 00:20:41,330 --> 00:20:42,390 >> Byddwn yn dod yn ôl at hynny. 625 00:20:42,390 --> 00:20:43,700 Felly dau a phedwar yn dal yn OK. 626 00:20:43,700 --> 00:20:44,940 Pedair ac un, Na. 627 00:20:44,940 --> 00:20:45,747 Felly, gadewch i ni gyfnewid. 628 00:20:45,747 --> 00:20:47,830 Ac eto, yn sylwi ar eu golwg mae un yn fath o byrlymu 629 00:20:47,830 --> 00:20:49,163 ar y chwith, lle y dylai fod. 630 00:20:49,163 --> 00:20:50,010 Pedwar a thri cyfnewid. 631 00:20:50,010 --> 00:20:51,330 Pedwar a chwech. 632 00:20:51,330 --> 00:20:53,100 Chwech a phump cyfnewid. 633 00:20:53,100 --> 00:20:53,959 Chwech a saith. 634 00:20:53,959 --> 00:20:55,000 Mae saith ac wyth yn dda. 635 00:20:55,000 --> 00:20:55,500 >> Da. 636 00:20:55,500 --> 00:20:58,460 Rydym yn cael hyd yn oed yn well. 637 00:20:58,460 --> 00:20:59,130 Felly, gadewch i ni weld. 638 00:20:59,130 --> 00:21:00,940 Yn awr, mae gennym ddau ac un. 639 00:21:00,940 --> 00:21:02,520 Wrth gwrs, cyfnewid. 640 00:21:02,520 --> 00:21:07,520 Dau a thri, tri a phedwar, pedwar a pump, chwech a saith, saith ac wyth. 641 00:21:07,520 --> 00:21:08,020 Da. 642 00:21:08,020 --> 00:21:08,730 A ydych yn gwybod beth? 643 00:21:08,730 --> 00:21:11,190 Gan fy mod yn gwneud un newid yno, gadewch i mi wneud un archwiliad bwyll. 644 00:21:11,190 --> 00:21:13,023 Gadewch i mi fynd yr holl ffordd yn ôl i'r dechrau. 645 00:21:13,023 --> 00:21:13,680 IAWN. 646 00:21:13,680 --> 00:21:14,750 Un, two-- yup, gweld? 647 00:21:14,750 --> 00:21:15,870 Rhywbeth o'i le. 648 00:21:15,870 --> 00:21:18,420 Tri, pedwar, pump, chwech, saith, wyth. 649 00:21:18,420 --> 00:21:21,920 Ac yn y tocyn olaf, yn cael eu ydych yn gyfforddus gyda fy nawr 650 00:21:21,920 --> 00:21:23,830 gan honni ei cael ei datrys? 651 00:21:23,830 --> 00:21:24,330 IAWN. 652 00:21:24,330 --> 00:21:25,880 Yn weledol, mae hynny'n hollol wir. 653 00:21:25,880 --> 00:21:28,410 Ond swyddogaethol, beth oedd hefyd jyst yn digwydd 654 00:21:28,410 --> 00:21:31,870 yn y tocyn olaf sy'n caniatáu i chi i gadarnhau bod y rhestr hon yn wir 655 00:21:31,870 --> 00:21:32,660 didoli? 656 00:21:32,660 --> 00:21:34,477 >> Beth wnes i ei wneud neu beidio â gwneud hyn tocyn diwethaf? 657 00:21:34,477 --> 00:21:35,810 GYNULLEIDFA: Nid oedd unrhyw newidiadau. 658 00:21:35,810 --> 00:21:36,120 DAVID J. Malan: Mae'n ddrwg gennyf? 659 00:21:36,120 --> 00:21:37,070 GYNULLEIDFA: Dim newidiadau. 660 00:21:37,070 --> 00:21:38,653 DAVID J. Malan: Nid oedd unrhyw newidiadau. 661 00:21:38,653 --> 00:21:41,947 Felly byddai'n wirion i mi i gwneud yr un algorithm eto 662 00:21:41,947 --> 00:21:43,780 os nad oeddwn yn gwneud unrhyw yn newid y tro cyntaf. 663 00:21:43,780 --> 00:21:45,160 Ac nid y wladwriaeth wedi newid. 664 00:21:45,160 --> 00:21:47,576 Yn sicr, nid wyf ddim yn mynd i wneud unrhyw newid yr ail dro. 665 00:21:47,576 --> 00:21:49,820 Ac felly, mae'n ddiogel bellach i ddweud, rhestr ei ddidoli. 666 00:21:49,820 --> 00:21:52,069 >> Ac yn wir, mae hyn yn awr rhywbeth yr ydym annhymerus 'yn gyffredinol 667 00:21:52,069 --> 00:21:56,900 didoli swigen alwad, lle pairwise, rydych cywiro camgymeriadau eto, 668 00:21:56,900 --> 00:22:00,210 ac unwaith eto, ac unwaith eto, ac yr ydych dal i fynd yn ôl ac ymlaen, 669 00:22:00,210 --> 00:22:03,370 ac yn ôl ac ymlaen, hyd nes y byddwch yn gwneud unrhyw gyfnewidiadau o'r fath, a phryd 670 00:22:03,370 --> 00:22:07,089 gallwch fod yn hyderus, ie, yr wyf yn gorffen gosod pob un o'r camgymeriadau. 671 00:22:07,089 --> 00:22:08,630 Gadewch i ailosod a rhoi cynnig ar ddull arall. 672 00:22:08,630 --> 00:22:11,590 Pe gallech guys mynd yn ôl i mewn i y drefn oeddech eiliad yn ôl, 673 00:22:11,590 --> 00:22:13,780 a oedd yn edrych fel hyn. 674 00:22:13,780 --> 00:22:17,640 Yn awr, gadewch i ni gymryd agwedd yn un ychydig yn fwy fel y llyfr arholiad, 675 00:22:17,640 --> 00:22:21,122 lle'r oeddem yn gyson ddewis y llythyren o'r wyddor 676 00:22:21,122 --> 00:22:22,830 ein bod yn fath o eisiau i ddelio â nesaf. 677 00:22:22,830 --> 00:22:26,420 Efallai ei fod yn llythyr uchel, fel A, neu Z. lythyr isel 678 00:22:26,420 --> 00:22:28,170 >> Felly mae pawb yn ôl yn y drefn hon. 679 00:22:28,170 --> 00:22:29,800 Ac yn awr gadewch i mi wneud hyn. 680 00:22:29,800 --> 00:22:34,880 Gadewch i ni weld wyf yn gwybod fy mod wedi wyth rhifau yma. 681 00:22:34,880 --> 00:22:37,410 Rydw i'n mynd i fynd yn ei flaen a dim ond yn fwriadol yn dewis 682 00:22:37,410 --> 00:22:38,520 yr elfennau lleiaf. 683 00:22:38,520 --> 00:22:38,760 Iawn? 684 00:22:38,760 --> 00:22:39,801 Mae hyn yn ymddangos 'n athrylithgar hefyd. 685 00:22:39,801 --> 00:22:42,560 Pam nad ydw i'n dod o hyd i'r lleiaf elfen, ei roi lle mae'n perthyn iddo, 686 00:22:42,560 --> 00:22:45,280 wedyn yn cael yr elfen lleiaf nesaf, rhowch mae'n lle mae'n perthyn iddo, a dim ond ailadrodd. 687 00:22:45,280 --> 00:22:46,820 >> Oherwydd reddfol, ddylai weithio hefyd. 688 00:22:46,820 --> 00:22:48,441 Felly pedwar, mae hynny'n nifer eithaf bychan. 689 00:22:48,441 --> 00:22:49,940 Rydw i'n mynd i gofio lle bo hyn yn. 690 00:22:49,940 --> 00:22:50,523 Arhoswch funud. 691 00:22:50,523 --> 00:22:51,577 Dau yn llai. 692 00:22:51,577 --> 00:22:53,910 Gadewch i mi yn awr gofio lle mae dau yw, ac yn anghofio am phedwar. 693 00:22:53,910 --> 00:22:55,050 Byddwn yn ymdrin â hynny yn nes ymlaen. 694 00:22:55,050 --> 00:22:56,460 Chwech, dydw i ddim diddordeb. 695 00:22:56,460 --> 00:22:57,810 Wyth, nid gen i ddiddordeb mewn. 696 00:22:57,810 --> 00:22:59,780 Un yw fy rhif fach newydd. 697 00:22:59,780 --> 00:23:01,470 Felly, yr wyf i'n mynd i cofio lle mae un yn. 698 00:23:01,470 --> 00:23:02,534 Tri, dim diddordeb. 699 00:23:02,534 --> 00:23:03,450 Saith, dim diddordeb. 700 00:23:03,450 --> 00:23:04,530 Five, dim diddordeb. 701 00:23:04,530 --> 00:23:07,390 >> Felly, heb syrthio i ffwrdd y llwyfan eleni, 702 00:23:07,390 --> 00:23:09,890 Rydw i'n mynd i chrafangia rhif one-- a beth oedd eich enw eto? 703 00:23:09,890 --> 00:23:10,150 >> Annan: Annan. 704 00:23:10,150 --> 00:23:11,220 >> DAVID J. Malan: Annan. 705 00:23:11,220 --> 00:23:13,540 Ac os gallech ymuno â mi yn cychwyn y rhestr, 706 00:23:13,540 --> 00:23:14,870 gadewch i ni eich rhoi chi ble rydych yn perthyn. 707 00:23:14,870 --> 00:23:16,080 Unfortunately-- beth yw eich enw? 708 00:23:16,080 --> 00:23:16,650 >> Stefan: Stefan. 709 00:23:16,650 --> 00:23:18,191 >> DAVID J. Malan: Stefan yn y ffordd. 710 00:23:18,191 --> 00:23:23,490 Felly, cyn i Stefan datrys hyn problem, beth ddylem ei wneud? 711 00:23:23,490 --> 00:23:25,412 Beth rydym yn ei wneud gyda Stefan? 712 00:23:25,412 --> 00:23:27,269 >> GYNULLEIDFA: [Anghlywadwy]. 713 00:23:27,269 --> 00:23:28,060 DAVID J. Malan: Iawn. 714 00:23:28,060 --> 00:23:28,850 Felly, gallem wneud hynny. 715 00:23:28,850 --> 00:23:31,730 Gallem fath o gymryd Stefan a'i pedwar, a dim ond ei roi mewn newidyn 716 00:23:31,730 --> 00:23:33,530 a dal gafael arni am rhyw faint o amser, 717 00:23:33,530 --> 00:23:35,220 a thrwy hynny wneud lle i rif un. 718 00:23:35,220 --> 00:23:36,280 Ac nid dyna'r drwg. 719 00:23:36,280 --> 00:23:39,270 Gallwn awgrymu, beth am wneud rydym yn unig yn rhoi Stefan yma? 720 00:23:39,270 --> 00:23:41,610 Pam y gallai hyn dorri un o'r syniadau i ni ddechrau 721 00:23:41,610 --> 00:23:44,830 siarad am y tro diwethaf, yr wythnos diwethaf? 722 00:23:44,830 --> 00:23:45,330 Yeah? 723 00:23:45,330 --> 00:23:45,740 >> GYNULLEIDFA: [Anghlywadwy]. 724 00:23:45,740 --> 00:23:46,860 >> DAVID J. Malan: Does dim mynegai ar ei gyfer. 725 00:23:46,860 --> 00:23:49,735 Os ydych yn meddwl am hyn, yn wir, fel array, mae hyn yn debyg i un negyddol, 726 00:23:49,735 --> 00:23:52,900 felly does dim cof mewn gwirionedd yma os yw hyn yn wir amrywiaeth, 727 00:23:52,900 --> 00:23:55,090 fel rydym datgan yr wythnos diwethaf yn y ddarlith. 728 00:23:55,090 --> 00:23:56,250 Felly, ni ddylem wneud hyn. 729 00:23:56,250 --> 00:23:57,340 Efallai y byddwn yn ei storio mewn newidyn. 730 00:23:57,340 --> 00:23:57,820 >> Neu eich bod yn gwybod beth? 731 00:23:57,820 --> 00:23:59,153 Clywais rywun arall yn awgrymu hynny. 732 00:23:59,153 --> 00:24:01,020 Beth arall y gallem ei wneud gyda Stefan? 733 00:24:01,020 --> 00:24:03,770 Pam mae nid ydym yn unig droi allan o'i gartref ac ei roi ynghylch ble rhif un oedd. 734 00:24:03,770 --> 00:24:05,170 Felly os ydych am fynd draw yno. 735 00:24:05,170 --> 00:24:07,300 Ac yn wir, mae hwn yn ateb yn eithaf da. 736 00:24:07,300 --> 00:24:10,480 Nawr ar y naill law, yr wyf i wedi fath o gwneud y broblem yn waeth. 737 00:24:10,480 --> 00:24:13,650 Pedwar bellach ymhellach i ffwrdd o ble y dylai fod. 738 00:24:13,650 --> 00:24:14,900 Dylai fod tuag at hanner hwn. 739 00:24:14,900 --> 00:24:16,100 >> Ond eich bod yn gwybod beth? 740 00:24:16,100 --> 00:24:17,630 A allai fod wedi bod yn lwc ddrwg. 741 00:24:17,630 --> 00:24:18,822 Efallai wythwr oedd yma. 742 00:24:18,822 --> 00:24:20,530 Ac felly, efallai byddem wedi gotten lwcus, 743 00:24:20,530 --> 00:24:22,460 a gwthio wyth yn agosach at y diwedd. 744 00:24:22,460 --> 00:24:24,710 Felly, yn y diwedd y dydd, mae'n fath o holl gyfartaleddau allan. 745 00:24:24,710 --> 00:24:26,085 Nid oes angen i ni ofalu am bedwar. 746 00:24:26,085 --> 00:24:29,400 Y cyfan yr wyf yn poeni am ar hyn o bryd yw gan ddewis yr elfen lleiaf. 747 00:24:29,400 --> 00:24:32,030 >> Ac yn awr, yr hyn yr wyf i'n mynd i wneud yw anghofio am un rhif 748 00:24:32,030 --> 00:24:35,160 yn barhaol, oherwydd gwn y Rhestr tu ôl i mi erbyn hyn didoli. 749 00:24:35,160 --> 00:24:36,720 Felly fy rhestr oedd gynt maint wyth. 750 00:24:36,720 --> 00:24:37,720 Yn awr, mae'n o faint saith. 751 00:24:37,720 --> 00:24:40,340 Felly, fy broblem yn mynd yn llai o faint, er yn llinol. 752 00:24:40,340 --> 00:24:43,022 Felly nawr, dw i'n mynd i ddewis y elfen lleiaf ar hyn o bryd, dau. 753 00:24:43,022 --> 00:24:46,520 Chwech, wyth, pedwar, tri, saith, pump. 754 00:24:46,520 --> 00:24:47,770 Dyna oedd yr elfen lleiaf. 755 00:24:47,770 --> 00:24:49,416 Felly, beth ydw i'n mynd i'w wneud with-- beth oedd eich enw eto? 756 00:24:49,416 --> 00:24:49,760 >> JOSEPH: Joseff. 757 00:24:49,760 --> 00:24:50,085 >> DAVID J. Malan: Joseff? 758 00:24:50,085 --> 00:24:52,000 Rydym yn mynd i adael Joseff yn ei le. 759 00:24:52,000 --> 00:24:54,842 Nawr, dw i'n mynd i esgus bod y rhain guys yw-- yn dda, 760 00:24:54,842 --> 00:24:56,550 Gwn fod dau rhain eisoes yn cael eu datrys. 761 00:24:56,550 --> 00:24:58,424 Gadewch i ni yn awr yn canolbwyntio ar y gweddill y rhestr. 762 00:24:58,424 --> 00:25:00,080 Chwech yw'r lleiaf ar hyn o bryd. 763 00:25:00,080 --> 00:25:01,190 Wyth yn fwy. 764 00:25:01,190 --> 00:25:02,970 Pedwar yw'r lleiaf ar hyn o bryd yn awr. 765 00:25:02,970 --> 00:25:04,762 Tri yw'r lleiaf ar hyn o bryd yn awr. 766 00:25:04,762 --> 00:25:07,720 Ac felly yn awr, yr wyf i'n mynd i ddewis tri, pwy yw-- beth yw eich enw eto? 767 00:25:07,720 --> 00:25:08,190 SERENA: Serena. 768 00:25:08,190 --> 00:25:10,620 DAVID J. Malan: Serena, os gallech chrafangia eich rhif a chyfnewid with-- 769 00:25:10,620 --> 00:25:11,550 KALSANG: Kalsang. 770 00:25:11,550 --> 00:25:12,940 DAVID J. Malan: Kalsang. 771 00:25:12,940 --> 00:25:15,220 Dewch ar ôl, ac rydym yn mynd i gyfnewid dau rheini. 772 00:25:15,220 --> 00:25:17,360 Ac yn awr, gadewch i ni roi hyn ar awtobeilot. 773 00:25:17,360 --> 00:25:21,589 Rydw i'n mynd i fynd a'i adael i chi guys i ddewis yr elfennau lleiaf nesaf. 774 00:25:21,589 --> 00:25:22,380 Dun, dun, dun, dun. 775 00:25:22,380 --> 00:25:24,560 Rhif pedwar, beth ddylech chi ei wneud? 776 00:25:24,560 --> 00:25:26,261 Ardderchog. 777 00:25:26,261 --> 00:25:27,760 Yn awr, yr wyf i'n mynd i wneud tocyn arall. 778 00:25:27,760 --> 00:25:28,590 Dun, dun, dun, dun. 779 00:25:28,590 --> 00:25:31,465 Rwy'n gweld pump yw'r lleiaf nesaf. 780 00:25:31,465 --> 00:25:32,840 Nawr, dw i'n mynd yn pasio arall. 781 00:25:32,840 --> 00:25:33,631 Dun, dun, dun, dun. 782 00:25:33,631 --> 00:25:34,880 Chwech yw'r lleiaf. 783 00:25:34,880 --> 00:25:35,520 Da. 784 00:25:35,520 --> 00:25:36,585 Saith yw'r lleiaf. 785 00:25:36,585 --> 00:25:37,085 Dim newid. 786 00:25:37,085 --> 00:25:38,630 Wyth yw'r lleiaf. 787 00:25:38,630 --> 00:25:39,170 Done. 788 00:25:39,170 --> 00:25:43,900 >> Felly, yr hyn yr ydym wedi ei wneud yn unig gan ailadroddol gan ddewis un elfen ar ôl y llall 789 00:25:43,900 --> 00:25:47,230 yn gweithredu rhywbeth yr ydym ni'n mynd i ffurfioli fel math dethol. 790 00:25:47,230 --> 00:25:49,120 Ac mae'n efallai hyd yn oed symlach i egluro, 791 00:25:49,120 --> 00:25:51,310 yn hynny llythrennol pawb 'ch am ei wneud yw jyst cadw 792 00:25:51,310 --> 00:25:54,700 yn mynd yn ôl ac ymlaen drwy'r rhestr dewis, yr elfen lleiaf nesaf, 793 00:25:54,700 --> 00:25:55,720 hyd nes y byddwch yn ei wneud. 794 00:25:55,720 --> 00:25:58,650 >> Felly mae hyd yn oed yn symlach, efallai reddfol, na'r olaf. 795 00:25:58,650 --> 00:26:00,020 Gadewch i ni geisio un yr un olaf. 796 00:26:00,020 --> 00:26:03,060 Pe gallech guys ailosod eich hunain i mewn i'r swyddi canlynol 797 00:26:03,060 --> 00:26:08,600 un tro olaf, gadewch i ni weld os na allwn yn awr yn ffurfioli un dull arall. 798 00:26:08,600 --> 00:26:12,857 Yn wir, byddai rhywun allan yna hoffi cynnig 799 00:26:12,857 --> 00:26:14,440 sut arall y gallem fynd ati i wneud hyn? 800 00:26:14,440 --> 00:26:17,439 Heb tossing allan geiriau allweddol neu fath o atebion sydd eisoes yn hysbys, 801 00:26:17,439 --> 00:26:19,689 dim ond reddfol, yr hyn y gallem ei wneud? 802 00:26:19,689 --> 00:26:21,635 >> GYNULLEIDFA: [Anghlywadwy]. 803 00:26:21,635 --> 00:26:22,510 DAVID J. Malan: Yeah. 804 00:26:22,510 --> 00:26:24,620 Felly mae rhywfaint o greddf gwych yno. 805 00:26:24,620 --> 00:26:28,020 Pethau da yn ymddangos i ddigwydd hyd yn hyn mewn gwyddoniaeth gyfrifiadurol pan fyddwn yn rhannu'r 806 00:26:28,020 --> 00:26:30,832 a gorchfygu y broblem o rannu yn ei hanner a hanner a hanner. 807 00:26:30,832 --> 00:26:32,540 Ac felly yn wir, rydym yn Gallai dechrau i wneud hynny. 808 00:26:32,540 --> 00:26:35,754 Ac yn wir, mae hynny'n mynd i fod, fe wnawn ni weld, un o'n datrysiadau gorau eto. 809 00:26:35,754 --> 00:26:37,420 Ond gadewch i ni ddod yn ôl at hynny cyn bo hir. 810 00:26:37,420 --> 00:26:40,500 Yn wir, rydym yn mynd i'w wneud bod ychydig yn ddiweddarach yr wythnos hon. 811 00:26:40,500 --> 00:26:42,180 Beth arall y gallem ei wneud i ddatrys hyn? 812 00:26:42,180 --> 00:26:44,647 Felly pawb yma yn gorchymyn sy'n ymddangos ar hap. 813 00:26:44,647 --> 00:26:45,230 Ti'n gwybod beth? 814 00:26:45,230 --> 00:26:48,320 Yn hytrach na mynd yn ôl ac ymlaen, yn ôl ac ymlaen, yn ôl ac ymlaen 815 00:26:48,320 --> 00:26:50,624 bob amser, mae hyn yn teimlo fel Dwi'n gwneud lot o gerdded. 816 00:26:50,624 --> 00:26:52,790 Pam nad ydw i'n jyst dechrau am cychwyn y rhestr, 817 00:26:52,790 --> 00:26:54,960 a dim ond rhowch bedwar lle mae'n perthyn iddo? 818 00:26:54,960 --> 00:26:59,680 Felly gadewch i mi gymryd yn ganiataol gyfer hyn o bryd y fy rhestr Dim ond yr elfen hon yn gyntaf. 819 00:26:59,680 --> 00:27:04,937 A yw pedwar didoli ar hyn o bryd, os bydd yr holl wyf yn poeni am yw popeth fan hyn? 820 00:27:04,937 --> 00:27:06,520 Mae hyn yn fath o trivially yn wir, dde? 821 00:27:06,520 --> 00:27:10,000 Fel y rhestr yn cynnwys un rhif, a y rhif hwnnw pedwar yn amlwg yn eu didoli. 822 00:27:10,000 --> 00:27:13,070 >> Felly gadewch i mi jyst nodi bod y rhestr hon yn cael ei datrys. 823 00:27:13,070 --> 00:27:15,090 Ond yn awr yr wyf yn cael y gweddill y rhestr hon. 824 00:27:15,090 --> 00:27:17,240 Felly nawr, yr wyf yn dod ar draws dau. 825 00:27:17,240 --> 00:27:21,690 Ble mae dau yn amlwg perthyn mewn perthynas â phedwar? 826 00:27:21,690 --> 00:27:22,580 Cyn bedwar. 827 00:27:22,580 --> 00:27:23,862 Felly, beth allaf ei wneud fan hyn? 828 00:27:23,862 --> 00:27:24,820 Beth yw eich enw eto? 829 00:27:24,820 --> 00:27:25,090 >> JOSEPH: Joseff. 830 00:27:25,090 --> 00:27:26,030 >> DAVID J. Malan: Joseff, pe gallech cam yn ôl 831 00:27:26,030 --> 00:27:27,790 am ddim ond ennyd gyda'ch rhif. 832 00:27:27,790 --> 00:27:31,130 Ac yn awr yr hyn y dylai Stefan wneud yma? 833 00:27:31,130 --> 00:27:33,720 Gadewch i ni symud Stefan dros yma. 834 00:27:33,720 --> 00:27:35,520 Ac yn awr, gadewch i Joseff ddod i mewn yma. 835 00:27:35,520 --> 00:27:39,660 Ac yn awr, gadewch i mi yn honni bod popeth yma yn cael ei datrys. 836 00:27:39,660 --> 00:27:42,474 Felly, canlyniad tebyg, ond mae dull sylfaenol wahanol. 837 00:27:42,474 --> 00:27:44,140 Nid wyf wedi edrych hyd yn oed yn yr hyn sydd i lawr yno. 838 00:27:44,140 --> 00:27:46,310 Fi jyst cadw cymryd yr elfennau gan eu bod yn rhoi i mi, 839 00:27:46,310 --> 00:27:47,240 a delio â nhw. 840 00:27:47,240 --> 00:27:48,330 >> Felly nawr, rwy'n gweld rhif chwech. 841 00:27:48,330 --> 00:27:51,110 Ble mae rhif chwech yn perthyn? 842 00:27:51,110 --> 00:27:53,250 Mae gennym ddau, pedwar, chwech. 843 00:27:53,250 --> 00:27:54,800 Yn union lle mae'n ar hyn o bryd. 844 00:27:54,800 --> 00:27:57,750 Felly gadewch i ni adael hynny yn unig, ac yn awr honni bod y rhan hon o'r rhestr 845 00:27:57,750 --> 00:27:58,772 yn awr yn didoli. 846 00:27:58,772 --> 00:28:01,230 Ac felly, mae hyn yn teimlo yn sylfaenol yn wahanol yn hynny Im 'jyst 847 00:28:01,230 --> 00:28:05,230 symud drwy'r rhestr yma llinol, ac rwy'n byth yn dyblu yn ôl. 848 00:28:05,230 --> 00:28:05,730 Ydw. 849 00:28:05,730 --> 00:28:06,230 Iawn. 850 00:28:06,230 --> 00:28:08,190 Felly wyth, ble ydych chi'n perthyn? 851 00:28:08,190 --> 00:28:08,730 Iawn yma. 852 00:28:08,730 --> 00:28:09,310 Perffaith. 853 00:28:09,310 --> 00:28:10,210 Felly nawr, un. 854 00:28:10,210 --> 00:28:10,900 Uh-oh. 855 00:28:10,900 --> 00:28:13,010 Mae hyn yn teimlo fel ei fod yn mynd i fod yn ddrud. 856 00:28:13,010 --> 00:28:15,690 Yn awr, yn y algorithm blaenorol, Fi jyst cyfnewid bobl. 857 00:28:15,690 --> 00:28:18,648 Felly, efallai y byddwn yn ei roi yr holl ffordd yn y dechrau, ond yna symudodd Joseff. 858 00:28:18,648 --> 00:28:21,450 Ond os byddaf yn symud Joseph, yn awr beth sy'n mynd i fod yn anghywir? 859 00:28:21,450 --> 00:28:24,250 >> Yn awr, yr wyf i wedi fath o undone-- rydw i wedi cymryd un cam ymlaen, ac yna 860 00:28:24,250 --> 00:28:26,300 un cam yn ôl, oherwydd erbyn hyn Byddai Joseph fod allan o drefn. 861 00:28:26,300 --> 00:28:26,830 Felly, gadewch i ni wneud hyn. 862 00:28:26,830 --> 00:28:29,150 Pe gallech gymryd rhif un ac yn gam yn ôl am ychydig ennyd. 863 00:28:29,150 --> 00:28:30,490 Sut allwn ni put-- beth oedd eich enw eto? 864 00:28:30,490 --> 00:28:31,130 >> Annan: Annan. 865 00:28:31,130 --> 00:28:32,610 >> DAVID J. Malan: Annan yn ei le? 866 00:28:32,610 --> 00:28:36,091 Beth sydd angen digwydd gyda pharch i ddau, pedwar, chwech, ac wyth? 867 00:28:36,091 --> 00:28:37,570 Mae angen iddynt i gyd i symud. 868 00:28:37,570 --> 00:28:42,590 Felly os wyth hoffai symud yn gyntaf, ac yna chwech, ac yna bedwar, ac yna dau. 869 00:28:42,590 --> 00:28:45,380 Ac yna Annan, os byddech yn hoffi dod i mewn yma, yn dda. 870 00:28:45,380 --> 00:28:47,760 Ond yma, rydym wedi dim ond fath o talu pris 871 00:28:47,760 --> 00:28:49,510 ar bwynt gwahanol yn yr algorithm. 872 00:28:49,510 --> 00:28:52,550 Tra bod y tro diwethaf gyda dewis didoli, a hyd yn oed fath swigod, 873 00:28:52,550 --> 00:28:54,700 Im 'yn cerdded yn ôl ac allan, yn ôl ac ymlaen, 874 00:28:54,700 --> 00:28:58,360 sydd yn sicr yn adio i fyny , ac yn llythrennol grisiog-ddoeth amser. 875 00:28:58,360 --> 00:29:00,660 >> Didoli Mewnosod, ar y dechrau yr olwg, yn edrych fel ei fod yn 876 00:29:00,660 --> 00:29:05,150 super fwy craff, gan fod Im 'jyst gan wneud yn araf cynnydd, cynyddol, 877 00:29:05,150 --> 00:29:07,120 ond dydw i ddim yn mynd hwn yn ôl ac ymlaen. 878 00:29:07,120 --> 00:29:09,410 Ond os bydd rhywun yn wir allan o drefn, rhybudd 879 00:29:09,410 --> 00:29:10,840 holl waith yr wyf newydd gael ei wneud. 880 00:29:10,840 --> 00:29:14,750 Roedd rhaid i mi symud hanner y rhestr dim ond er mwyn gwneud lle i rif un. 881 00:29:14,750 --> 00:29:16,790 Felly mae'n un faint o waith hyd yn hyn mae'n 882 00:29:16,790 --> 00:29:18,690 yn teimlo, dim ond math gwahanol o waith. 883 00:29:18,690 --> 00:29:19,370 >> Gadewch i ni barhau. 884 00:29:19,370 --> 00:29:22,657 Felly nawr rydym yn gwybod bod pawb rhwng un ac wyth yn cael eu didoli. 885 00:29:22,657 --> 00:29:23,740 Yma, mae gennyf rhif tri. 886 00:29:23,740 --> 00:29:25,864 Os ydych yn hoffi i godi rhif tri, cam yn ôl un. 887 00:29:25,864 --> 00:29:28,260 A beth sydd angen i chi guys i ei wneud? 888 00:29:28,260 --> 00:29:28,760 Yep. 889 00:29:28,760 --> 00:29:33,070 Felly dyna un arall, dau, tri cham. 890 00:29:33,070 --> 00:29:36,010 Tair uned o amser mai dim ond yn costio mi, fel y tair awr yn gallu ffitio. 891 00:29:36,010 --> 00:29:37,460 Yn olaf, saith. 892 00:29:37,460 --> 00:29:39,730 >> Gadewch i ni fynd yn ei flaen ac yn cael byddwch yn cymryd cam yn ôl. 893 00:29:39,730 --> 00:29:42,780 Mae hyn yn unig yn mynd i gostio i ni un uned o amser, ond mae hynny'n iawn. 894 00:29:42,780 --> 00:29:44,170 Ac yn awr, pump yn mynd i fod ychydig yn fwy drud. 895 00:29:44,170 --> 00:29:45,340 Os hoffech chi gamu'n ôl. 896 00:29:45,340 --> 00:29:48,380 Mae angen i ni symud wyth, a saith, a chwech. 897 00:29:48,380 --> 00:29:50,749 Ac yna mae pawb yn awr yn cael ei sortio. 898 00:29:50,749 --> 00:29:52,290 Felly llaw mawr i'n gwirfoddolwyr yma. 899 00:29:52,290 --> 00:29:53,554 Diolch yn fawr. 900 00:29:53,554 --> 00:29:56,220 >> [Cymeradwyaeth] 901 00:29:56,220 --> 00:29:56,860 >> Diolch i chi i gyd. 902 00:29:56,860 --> 00:29:57,520 Diolch i chi i gyd. 903 00:29:57,520 --> 00:30:02,940 Felly, gadewch i ni weld nawr pa mor costus hynny i gyd yr oedd. 904 00:30:02,940 --> 00:30:06,210 Gadewch i ni ystyried efallai y symlaf o'r rhain, math swigen. 905 00:30:06,210 --> 00:30:09,950 Ac yr wyf yn dweud symlaf, dim ond am fod gallwch ei datrys farus o ddim ond 906 00:30:09,950 --> 00:30:11,660 datrys y broblem pairwise yma. 907 00:30:11,660 --> 00:30:13,720 Datrys y broblem pairwise yma, dro ar ôl tro 908 00:30:13,720 --> 00:30:17,680 ac unwaith eto, gan ailadrodd cymaint o weithiau ag y bydd angen i chi mewn gwirionedd. 909 00:30:17,680 --> 00:30:21,050 >> Felly, mae'n ymddangos bod gyda rhyw fath swigod, yn dda, 910 00:30:21,050 --> 00:30:25,820 faint o gamau y mae rhaid i mi gymryd ar y tocyn cyntaf y algorithm? 911 00:30:25,820 --> 00:30:30,850 Efallai fy mod take-- gadewch i ni see-- un, dau, tri, pedwar, pump, chwech, saith. 912 00:30:30,850 --> 00:30:32,190 Ac mae wyth elfen yma. 913 00:30:32,190 --> 00:30:35,280 Felly mae fel n minws 1 cam i gael gan ddechrau'r rhestr 914 00:30:35,280 --> 00:30:36,380 hyd at ddiwedd y rhestr. 915 00:30:36,380 --> 00:30:41,350 >> Ond gyda'r math dethol, yn cofio fy mod i'n gan ddewis yr elfennau dro ar ôl tro 916 00:30:41,350 --> 00:30:44,590 ac eto dyna lleiaf, Im 'yn ei roi yn ei le, 917 00:30:44,590 --> 00:30:46,616 ond yna Dydw i ddim edrych tu ôl i mi eto. 918 00:30:46,616 --> 00:30:49,490 Felly yr wyf yn credu ei fod ychydig yn fwy clir felly fod y tro cyntaf, yr wyf efallai 919 00:30:49,490 --> 00:30:52,680 rhaid iddynt gymryd yr holl n minws 1 gamau i ddod o hyd i'r elfen lleiaf. 920 00:30:52,680 --> 00:30:55,920 Yna, yr wyf yn eu rhoi ar waith, ac yr wyf yn troi allan pwy bynnag oedd yma o'r blaen. 921 00:30:55,920 --> 00:30:57,500 >> Ond yna nid oes gennyf i cadw edrych ar yr elfen hon, 922 00:30:57,500 --> 00:30:59,040 gan fy mod yn gwybod ei fod yn eisoes y lleiaf. 923 00:30:59,040 --> 00:31:01,581 Felly nawr, gallaf edrych ar ddim ond saith elfennau, yna chwe elfen, 924 00:31:01,581 --> 00:31:03,290 Yna pum elfen, yna pedair elfen. 925 00:31:03,290 --> 00:31:06,900 Ac felly yn fathemategol, os yw n y nifer o elfennau neu rifau 926 00:31:06,900 --> 00:31:11,990 ein bod yn dechrau gyda, gallwch ddychmygu bod hyn yr un fath â n minws 1, 927 00:31:11,990 --> 00:31:14,250 plws n minws 2 cam, plws n minws 3 cham, 928 00:31:14,250 --> 00:31:16,780 plws n minws 4 cam, yr holl ffordd i lawr i ddim ond un cam. 929 00:31:16,780 --> 00:31:18,160 Ac dwi ar ben fy person olaf. 930 00:31:18,160 --> 00:31:20,650 >> Ac os ydych yn cofio bod llawer o stats lyfrau neu lyfrau mathemateg 931 00:31:20,650 --> 00:31:24,730 rhaid i fformiwlâu rhai ar y Hardcover yn ôl neu o'u blaen, 932 00:31:24,730 --> 00:31:27,690 mae'n ymddangos fod y gyfres hon Gellir yn symlach 933 00:31:27,690 --> 00:31:28,857 fel amseroedd n n minws 1 dros 2. 934 00:31:28,857 --> 00:31:31,273 Ac mae'n iawn os nad yw hynny'n ar flaen eich meddwl. 935 00:31:31,273 --> 00:31:32,420 Ond mae hyn yn wir yn wir. 936 00:31:32,420 --> 00:31:34,449 Dyna dim ond yn ffordd symlach o ysgrifennu arno. 937 00:31:34,449 --> 00:31:36,240 Ac yna os ydych yn meddwl yn ôl i'r ysgol radd, 938 00:31:36,240 --> 00:31:38,698 pan fyddwch yn dim ond dechrau lluosi pethau allan, mae hyn wrth gwrs, 939 00:31:38,698 --> 00:31:41,820 yn unig yw n sgwâr minws n rhannu â 2. 940 00:31:41,820 --> 00:31:44,772 Y cyfan yr wyf wedi gwneud yn ehangu mae i'r ymadroddion yno. 941 00:31:44,772 --> 00:31:46,730 Ac felly gadewch i ailysgrifennu hwn ychydig yn wahanol. 942 00:31:46,730 --> 00:31:49,780 Mae hynny n ei sgwâr wedi'i rannu â 2 minws n / 2. 943 00:31:49,780 --> 00:31:53,270 >> Felly unwaith eto, Im 'jyst fath o wneud cais rhywfaint o rifyddeg rheolau yno. 944 00:31:53,270 --> 00:31:57,140 Ond yn sylwi nawr bod y term mwyaf yn ymadrodd hwn, fel petai, 945 00:31:57,140 --> 00:31:58,540 yw bod n sgwâr. 946 00:31:58,540 --> 00:32:02,910 Felly ie, 'i' n sgwâr wedi'i rannu â 2, minws n / 2. 947 00:32:02,910 --> 00:32:05,080 >> Ond yn gyffredinol, os yw n mynd i fod yn werth mawr, 948 00:32:05,080 --> 00:32:08,740 Rydw i'n mynd i honni bod n sgwâr yn mynd i fod y ffactor amlycaf. 949 00:32:08,740 --> 00:32:10,490 Dim ond ei fod yn mynd i fod yn mwy o cyfrannwr 950 00:32:10,490 --> 00:32:12,877 at y nifer o gamau na n / 2. 951 00:32:12,877 --> 00:32:13,960 Felly, beth ddylwn i ei olygu wrth hyn? 952 00:32:13,960 --> 00:32:16,795 Gadewch i ni geisio enghraifft syml, hyd yn oed er bod y math yn cael ychydig o fawr. 953 00:32:16,795 --> 00:32:20,210 >> Felly mae'n debyg roedd gennym 1 filiwn o bobl ar y llwyfan, neu 1 filiwn o bethau 954 00:32:20,210 --> 00:32:21,320 ein bod am roi trefn. 955 00:32:21,320 --> 00:32:23,730 Gadewch i plwg miliwn i mewn yn union fformiwla sy'n 956 00:32:23,730 --> 00:32:27,230 i weld faint o gamau y mae'n ei gymryd cyfanswm i ddidoli miliwn o elfennau gan ddefnyddio dyweder, 957 00:32:27,230 --> 00:32:28,560 didoli dewis. 958 00:32:28,560 --> 00:32:30,760 >> Felly byddem yn cael yr un fformiwla ag o'r blaen. 959 00:32:30,760 --> 00:32:34,120 Id 'plwg miliwn, er mwyn i mi gael miliwn sgwâr wedi'i rannu â 2, 960 00:32:34,120 --> 00:32:35,990 minws miliwn wedi'i rannu â 2. 961 00:32:35,990 --> 00:32:40,180 Os byddaf yn gwneud hynny mathemateg o flaen llaw yma, mae gennym 500,000,000,000 962 00:32:40,180 --> 00:32:47,460 minws 500,000, a oedd yn rhoi i ni 499,999,500,000, 963 00:32:47,460 --> 00:32:49,270 sydd yn eithaf darn mawr. 964 00:32:49,270 --> 00:32:54,370 >> Yn wir, os ydych yn cymharu yn awr 499,000,000,000, 999,000,000, 965 00:32:54,370 --> 00:33:01,210 500,000 yn erbyn ein gwerth gwreiddiol, 500,000,000,000, mae mor damn agos. 966 00:33:01,210 --> 00:33:06,850 Iawn? n sgwâr wedi'i rannu gan 2 yn rhoi us-- neu yn hytrach, n sgwâr wedi'i rannu gan 2 967 00:33:06,850 --> 00:33:08,370 yn rhoi i ni 500,000,000,000. 968 00:33:08,370 --> 00:33:13,510 Dyna darn eithaf agos i 499,999,500,000, 969 00:33:13,510 --> 00:33:17,970 sy'n cael ei ddweud tynnu oddi ar 500,000, neu yn fwy cyffredinol, tynnu oddi ar 970 00:33:17,970 --> 00:33:20,010 n sgwâr, mo 'n sylweddol llawer mawr. 971 00:33:20,010 --> 00:33:22,490 Mae'r n sgwâr yn gwneud hyn niferoedd yn tyfu yn gyflym iawn. 972 00:33:22,490 --> 00:33:25,790 >> Yn awr, mae hyn yn bwysig dim ond i'r graddau wrth i ni, fel gwyddonwyr cyfrifiadurol, 973 00:33:25,790 --> 00:33:29,350 Yn gyffredinol, nid yn mynd i ofalu cymaint am y naws o fformiwlâu hyn 974 00:33:29,350 --> 00:33:31,400 ac yn union yr hyn y mae'r atebion manwl gywir yn cael eu. 975 00:33:31,400 --> 00:33:33,390 Rydym ofal yn unig hynny, byddwch yn gwybod beth? 976 00:33:33,390 --> 00:33:37,810 Ar ddiwedd y dydd, fformiwla hon ar y drefn n sgwâr. 977 00:33:37,810 --> 00:33:39,350 >> Ie, rydym yn rhannu â 2 mewn 'na. 978 00:33:39,350 --> 00:33:41,360 Ie, rydym yn tynnu i ffwrdd n minws 2. 979 00:33:41,360 --> 00:33:46,860 Ond ar ddiwedd y dydd, mae'r term a 'n sylweddol yn ein brifo ac yn ein costau 980 00:33:46,860 --> 00:33:48,995 mae llawer o gamau yn y tymor sgwâr. 981 00:33:48,995 --> 00:33:51,370 Ac felly yr hyn y gwyddonydd cyfrifiadurol yn mynd i wneud yn gyffredinol 982 00:33:51,370 --> 00:33:54,160 yn anwybyddu'r pob un o'r rhai telerau gorchymyn llai, 983 00:33:54,160 --> 00:33:56,900 a dim ond yn edrych ar yr un sy'n cyfrannu fwyaf at y gost. 984 00:33:56,900 --> 00:34:00,530 >> Ac mae hyn yn braf, oherwydd ein bod yn gallu yn awr yn siarad yn llawer mwy cyffredinolrwydd 985 00:34:00,530 --> 00:34:02,470 am algorithmau, a gallant eu cymharu. 986 00:34:02,470 --> 00:34:04,550 Ac mae'r ffaith fy mod yn gan ddefnyddio'r O mae hyn yn fwriadol. 987 00:34:04,550 --> 00:34:06,680 Pan fyddaf yn dweud ar y gorchymyn o, rwy'n benodol 988 00:34:06,680 --> 00:34:09,560 gan gyfeirio at rywbeth Gelwir O. mawr A mawr O 989 00:34:09,560 --> 00:34:14,090 yn nodiant y cyfrifiadur gwyddonydd defnyddio i ddisgrifio 990 00:34:14,090 --> 00:34:16,710 yn rhwymo uchaf ar rywbeth. 991 00:34:16,710 --> 00:34:21,150 >> Felly, os ydych yn dweud bod algorithm yn O fawr o n sgwâr, 992 00:34:21,150 --> 00:34:23,380 gan fy mod yn cynnig dim ond funud yn ôl, bod modd 993 00:34:23,380 --> 00:34:27,710 bod o ran ei rhedeg amser neu ei effeithlonrwydd, 994 00:34:27,710 --> 00:34:30,090 y mae'n ei gymryd ar y gorchymyn o n sgwâr grisiau. 995 00:34:30,090 --> 00:34:31,420 Efallai mwy, efallai llai. 996 00:34:31,420 --> 00:34:33,435 Ond mae'n ar y drefn n sgwâr. 997 00:34:33,435 --> 00:34:34,560 A dyna yr rhwymo uchaf. 998 00:34:34,560 --> 00:34:36,530 Nid yw'n mynd i fod yn yn fwy poenus na hynny. 999 00:34:36,530 --> 00:34:40,800 Nid yw'n mynd i fod n dorri'n giwbiau, neu 2 i'r n, neu rywbeth llawer mwy. 1000 00:34:40,800 --> 00:34:43,800 Mae hwn yn rhan uchaf rhwymo ar beth bynnag y gost yn. 1001 00:34:43,800 --> 00:34:46,150 Felly o gofio bod, gadewch i ni ystyried dim ond ychydig o enghreifftiau. 1002 00:34:46,150 --> 00:34:49,820 Ac mae hyn yn unig yw rhestr cyfyngedig amseroedd rhedeg o gyffredin iawn 1003 00:34:49,820 --> 00:34:52,870 am algorithmau sy'n golygu i fod darluniadol o rai pethau rydym wedi 1004 00:34:52,870 --> 00:34:53,600 gweld eisoes. 1005 00:34:53,600 --> 00:34:58,060 >> Felly, er enghraifft, yn achos didoli dethol, yr hyn rwy'n hawlio yma 1006 00:34:58,060 --> 00:35:02,250 yn rhedeg y fath dethol yn amser ar y drefn n sgwâr. 1007 00:35:02,250 --> 00:35:06,260 Yn yr achos gwaethaf, dw i'n mynd i gael criw cyfan o rifau ar hap yma. 1008 00:35:06,260 --> 00:35:08,600 Ac fel y gwelsom yn fathemategol, os wyf yn cadw cerdded 1009 00:35:08,600 --> 00:35:11,310 drwy'r rhestr, trwy'r rhestr, gan ddewis y lleiaf nesaf 1010 00:35:11,310 --> 00:35:14,410 Elfen dro ar ôl tro, os wyf mewn gwirionedd yn ysgrifennu i lawr yr holl gamau 1011 00:35:14,410 --> 00:35:18,750 Rwy'n cymryd gan fy mod yn cynnig formulaically o'r blaen, 'i' ar y drefn n sgwâr 1012 00:35:18,750 --> 00:35:20,370 camau yr Rwy'n cymryd. 1013 00:35:20,370 --> 00:35:24,520 >> Ac mae'n troi allan y swigen didoli a gosod math 1014 00:35:24,520 --> 00:35:27,370 yr un mor araf yn yr achos gwaethaf. 1015 00:35:27,370 --> 00:35:32,040 Ystyriwch, er enghraifft, trefnu mewnosod, yr algorithm olaf un yr ydym yn delio â, 1016 00:35:32,040 --> 00:35:35,500 a oedd i ni edrych ar yr elfen, ac yna rhowch ei lle mae'n perthyn. 1017 00:35:35,500 --> 00:35:38,720 Ac yna rydym yn edrych ar yr elfen nesaf, a mewnosod mae'n lle mae'n perthyn. 1018 00:35:38,720 --> 00:35:40,990 >> Felly yn ystyried y senario gorau posibl. 1019 00:35:40,990 --> 00:35:45,590 Gadewch i ni dybio fy mod wedi fy gwirfoddolwyr yn llinell i fyny yn llythrennol fel hyn, y naill drwy wyth, 1020 00:35:45,590 --> 00:35:47,440 didoli yn barod. 1021 00:35:47,440 --> 00:35:51,300 Faint o gamau yn fath mewnosod mynd i gymryd i ddatrys wyth o bobl, 1022 00:35:51,300 --> 00:35:55,640 os byddant yn cyrraedd ar y llwyfan edrych fel hyn? 1023 00:35:55,640 --> 00:35:57,410 >> Mae wyth o bobl eu didoli yn barod. 1024 00:35:57,410 --> 00:35:58,760 Ac yr wyf yn defnyddio math fewnosod. 1025 00:35:58,760 --> 00:36:02,180 Dyna olaf o'r algorithmau. 1026 00:36:02,180 --> 00:36:03,640 Wel, gadewch i reenact gyflym go iawn. 1027 00:36:03,640 --> 00:36:05,504 Felly os byddaf yn dechrau fan hyn, yr wyf yn gweld un. 1028 00:36:05,504 --> 00:36:06,420 Ble mae un yn perthyn? 1029 00:36:06,420 --> 00:36:07,730 Mae'n perthyn i'r dde fan hyn. 1030 00:36:07,730 --> 00:36:08,330 Rwy'n gweld dau. 1031 00:36:08,330 --> 00:36:09,660 Ble mae dau yn perthyn? 1032 00:36:09,660 --> 00:36:10,260 Iawn yma. 1033 00:36:10,260 --> 00:36:10,900 Rwy'n gweld tri. 1034 00:36:10,900 --> 00:36:11,920 Ble mae tri yn perthyn? 1035 00:36:11,920 --> 00:36:12,480 Iawn yma. 1036 00:36:12,480 --> 00:36:13,100 >> Rwy'n gweld pedwar. 1037 00:36:13,100 --> 00:36:13,600 Iawn yma. 1038 00:36:13,600 --> 00:36:15,660 Pump, chwech, saith, wyth. 1039 00:36:15,660 --> 00:36:17,320 Does dim rheswm i ailadrodd fy hun. 1040 00:36:17,320 --> 00:36:21,260 Ac felly, faint o gamau yw bod yn nhermau n? 1041 00:36:21,260 --> 00:36:23,870 Mae'n ar y drefn o n grisiau, dde? n minws 1. 1042 00:36:23,870 --> 00:36:27,567 Ond yr wyf yn cymryd nifer llinol o risiau, ac erbyn hyn rwy'n ei wneud. 1043 00:36:27,567 --> 00:36:28,900 Felly dyna yr achos gorau, er. 1044 00:36:28,900 --> 00:36:29,983 Beth am yr achos gwaethaf? 1045 00:36:29,983 --> 00:36:32,730 Pa wyth oedd dros yno, a saith i lawr yno, 1046 00:36:32,730 --> 00:36:35,840 ac un a dau yn dros yma, felly bod y rhestr yn cael eu gwrthdroi gwirioneddol? 1047 00:36:35,840 --> 00:36:38,300 >> Wel, beth sy'n digwydd yn wir os yw hyn yn y rhif? 1048 00:36:38,300 --> 00:36:41,300 Ac fe wnawn ond ychydig o enghreifftiau. 1049 00:36:41,300 --> 00:36:49,300 Beth os, yn wir, mae'r wythwr yma, ac mae'r whoops number--. 1050 00:36:49,300 --> 00:36:52,660 1051 00:36:52,660 --> 00:36:56,430 Felly beth os, yn wir, mae nifer wyth yn yr holl ffordd dros yma, 1052 00:36:56,430 --> 00:36:57,790 ac rwy'n ei ddefnyddio fath fewnosod? 1053 00:36:57,790 --> 00:36:58,290 >> IAWN. 1054 00:36:58,290 --> 00:37:00,280 I hawlio ar hyn o bryd mae yn ei le. 1055 00:37:00,280 --> 00:37:03,152 Ond yn awr, seven-- ble mae saith yn mynd? 1056 00:37:03,152 --> 00:37:04,360 Wrth gwrs, mae'n mynd dros yma. 1057 00:37:04,360 --> 00:37:06,760 Felly, rhaid i mi symud wyth dros un lle. 1058 00:37:06,760 --> 00:37:08,554 Nawr chwech, ble mae'n mynd? 1059 00:37:08,554 --> 00:37:09,220 Wel, pob hawl. 1060 00:37:09,220 --> 00:37:13,150 Yn awr, rhaid i mi symud wyth dros lle, a saith dros le, 1061 00:37:13,150 --> 00:37:14,440 ac yna yr wyf yn sw n plopian i lawr chwech. 1062 00:37:14,440 --> 00:37:16,870 >> Felly, y tro cyntaf, yn ei gostio mi un cam at atgyweiria pethau, 1063 00:37:16,870 --> 00:37:18,570 yna mae'n gostio i mi dau gam i osod pethau. 1064 00:37:18,570 --> 00:37:20,370 Faint o gamau y mae'n mynd i gymryd at atgyweiria 1065 00:37:20,370 --> 00:37:22,720 pethau i roi pump yn y lle iawn? 1066 00:37:22,720 --> 00:37:23,340 Tri. 1067 00:37:23,340 --> 00:37:29,520 Oherwydd erbyn hyn rhaid i mi symud un, dau, tri. 1068 00:37:29,520 --> 00:37:32,430 Faint o gamau y mae'n mynd i gymryd i roi pedwar yn y lle iawn? 1069 00:37:32,430 --> 00:37:36,040 4 a 5, a 6, yn ogystal â 7. 1070 00:37:36,040 --> 00:37:40,260 >> Ac felly mae'n fathemategol union yr hyn yr ydym ddisgrifir ar gyfer math dethol. 1071 00:37:40,260 --> 00:37:42,130 Mae gennym gyfres hon hynny dim ond cynyddu. 1072 00:37:42,130 --> 00:37:45,650 1 a 2 a 3 ynghyd â 4, neu i'r gwrthwyneb, 7 a 6 1073 00:37:45,650 --> 00:37:52,610 a 5 ynghyd â 4 yn ychwanegu ar gyfer heddiw dibenion ar y drefn n sgwâr. 1074 00:37:52,610 --> 00:37:57,640 >> Felly gadewch i mi nodi hefyd bod didoli swigen yn n sgwâr hefyd. 1075 00:37:57,640 --> 00:38:01,340 Gan fod gyda'r math swigen, pob un tro yr af drwy'r rhestr, 1076 00:38:01,340 --> 00:38:03,100 Rwy'n cymryd yn fras faint o gamau? 1077 00:38:03,100 --> 00:38:06,260 Bob tro rwy'n yn llythrennol cerdded oddi yno i yno? 1078 00:38:06,260 --> 00:38:07,960 Yn fras grisiau n. 1079 00:38:07,960 --> 00:38:12,650 Sut Ond mae amseroedd lawer efallai i mi Mae angen i fynd drwy'r rhestr? 1080 00:38:12,650 --> 00:38:13,920 >> Wel, yn fras n amser. 1081 00:38:13,920 --> 00:38:15,680 Efallai n minws 1, ond yn fras amseroedd n. 1082 00:38:15,680 --> 00:38:16,430 Wel, pam hynny? 1083 00:38:16,430 --> 00:38:19,560 Wel, gyda'r math swigod, os rydym yn dechrau gyda'r math swigen, 1084 00:38:19,560 --> 00:38:23,570 gyda'r rhestr yn y gwaethaf posibl sefyllfa, sydd unwaith eto yn gwbl 1085 00:38:23,570 --> 00:38:25,550 yn ôl, beth sy'n mynd i ddigwydd? 1086 00:38:25,550 --> 00:38:28,830 Rwy'n mynd drwy'r rhestr, a rhif un perthyn yr holl ffordd dros yno. 1087 00:38:28,830 --> 00:38:33,280 >> Ond gyda'r math swigen, pa mor bell mae un symud ymlaen fy nhocyn cyntaf drwy'r rhestr? 1088 00:38:33,280 --> 00:38:36,620 Faint o fannau y mae'n ei gael nes at y man cywir? 1089 00:38:36,620 --> 00:38:37,240 Dim ond un. 1090 00:38:37,240 --> 00:38:40,281 Felly, os ydych fath o reswm thrwy hyn, bob tro drwy algorithm hwn, 1091 00:38:40,281 --> 00:38:41,880 Cymryd camau n fras Dewi. 1092 00:38:41,880 --> 00:38:44,940 Ond faint o tocynnau drwy'r rhestr yw hi 1093 00:38:44,940 --> 00:38:49,060 mynd i gymryd yn un i swigen i'r chwith lle mae'n perthyn iddo? 1094 00:38:49,060 --> 00:38:51,840 >> Mae ganddo i symud fel, mannau n fel hyn. 1095 00:38:51,840 --> 00:38:57,960 Felly, dim ond i wneud y didoli y rhestr, Mae'n rhaid i mi gerdded yn ôl ac ymlaen amseroedd n. 1096 00:38:57,960 --> 00:39:01,540 A bob tro, rwy'n gan edrych ar n elfen. 1097 00:39:01,540 --> 00:39:05,410 Felly, yn gwneud pethau n n amserau ar y drefn n sgwâr. 1098 00:39:05,410 --> 00:39:07,220 >> Yn awr, byddwn yn gweld mewn rhai o'r shorts a 1099 00:39:07,220 --> 00:39:10,440 yn cael eu hymgorffori yn broblem nesaf CS50 yn gosod, dull arall ar y rhain, 1100 00:39:10,440 --> 00:39:13,490 ond am y tro, gadewch i 'jyst yn ystyried rai adegau rhedeg eraill, 1101 00:39:13,490 --> 00:39:16,840 yn enwedig os y rhai didoli cymryd ychydig o amser i suddo i mewn. 1102 00:39:16,840 --> 00:39:21,790 Beth yw algorithm rydym wedi gweld yn barod sy'n cymryd ar y drefn o gamau n? 1103 00:39:21,790 --> 00:39:27,560 >> Beth ddylai gymryd nifer llinol o'r camau yr ydym wedi gweld hyd yn hyn? 1104 00:39:27,560 --> 00:39:29,350 Beth yw hwnna? 1105 00:39:29,350 --> 00:39:30,480 Mae'r chwiliad llyfr ffôn. 1106 00:39:30,480 --> 00:39:31,390 Mae'r algorithm yn gyntaf. 1107 00:39:31,390 --> 00:39:31,560 Iawn? 1108 00:39:31,560 --> 00:39:33,650 Lle rydym yn llinol chwilio am Mike Smith? 1109 00:39:33,650 --> 00:39:34,150 Yn wir. 1110 00:39:34,150 --> 00:39:37,180 O'r wythnos sero, pan ddechreuais droi un dudalen ar y tro, 1111 00:39:37,180 --> 00:39:40,095 a dywedais hyd yn oed ei bod yn garedig o algorithm deimlad llinol, 1112 00:39:40,095 --> 00:39:42,720 a chawsom y llun ar y bwrdd gyda'r llinell goch syth 1113 00:39:42,720 --> 00:39:44,678 a'r melyn yn syth llinell, y rhai oedd yn wir 1114 00:39:44,678 --> 00:39:46,810 algorithmau sydd mewn O fawr o n. 1115 00:39:46,810 --> 00:39:50,680 >> Gan fod i ddod o hyd Mike Smith mewn ffôn Llyfr o dudalennau n, yn yr achos gwaethaf, 1116 00:39:50,680 --> 00:39:52,422 Gallai mynd â fi n grisiau. 1117 00:39:52,422 --> 00:39:53,630 Beth am gymryd presenoldeb? 1118 00:39:53,630 --> 00:39:55,790 Un, dau, tri, pedwar, pump, chwech. 1119 00:39:55,790 --> 00:39:59,420 Beth yw'r amser yn rhedeg o hyn algorithm ar gyfer cymryd presenoldeb? 1120 00:39:59,420 --> 00:40:03,070 O Big n, oherwydd mewn theori wyf rhaid i bwynt pawb yn yr ystafell. 1121 00:40:03,070 --> 00:40:05,861 >> Nawr fel o'r neilltu, beth am y Optimization arall o wythnos sero? 1122 00:40:05,861 --> 00:40:08,117 Dau, pedwar, chwech, wyth, 10, 12. 1123 00:40:08,117 --> 00:40:10,200 Byddai gwyddonydd cyfrifiadurol sylweddoli, arhoswch funud, 1124 00:40:10,200 --> 00:40:12,320 sydd ar y drefn Rhennir n gan ddau gam. 1125 00:40:12,320 --> 00:40:12,820 Iawn? 1126 00:40:12,820 --> 00:40:14,444 Gan fy mod i'n gwneud dau o bobl ar y tro. 1127 00:40:14,444 --> 00:40:17,015 Ond rydym ni'n mynd i anwybyddu telerau gorchymyn is hynny, 1128 00:40:17,015 --> 00:40:19,140 ac rydym yn jyst yn mynd i daflu i ffwrdd y rhaniad 2, 1129 00:40:19,140 --> 00:40:21,830 a dim ond dweud, O fawr o n ar gyfer y algorithm yn ogystal. 1130 00:40:21,830 --> 00:40:22,760 >> Beth am hwn? 1131 00:40:22,760 --> 00:40:26,170 Byddwn yn sgip dros rai o'r rhain, ond beth Roedd algorithm a oedd yn log n? 1132 00:40:26,170 --> 00:40:29,900 Cymerodd hynny'n fras log camau n? 1133 00:40:29,900 --> 00:40:30,870 Mae'r rhaniad a gorchfygu. 1134 00:40:30,870 --> 00:40:31,369 Yn union. 1135 00:40:31,369 --> 00:40:33,900 Fel yr enghraifft llyfr ffôn mewn wythnos sero ac yn gynharach heddiw, 1136 00:40:33,900 --> 00:40:36,191 lle rydym yn rhannu'r broblem dro ar ôl tro ar ôl tro. 1137 00:40:36,191 --> 00:40:39,070 Rydym yn tynnu ar y bwrdd mewn wythnos sero fel llinell werdd crwm, 1138 00:40:39,070 --> 00:40:41,460 a dywedasom y diwrnod hwnnw ei fod yn algorithm logarithmig. 1139 00:40:41,460 --> 00:40:44,970 >> Ac yn wir, mae nifer o gamau y mae'n cymryd i berfformio rannu a gorchfygu, 1140 00:40:44,970 --> 00:40:48,610 neu chwilio deuaidd fel y byddwn yn dechrau yn galw arno, fel yn y llyfr ffôn, 1141 00:40:48,610 --> 00:40:50,680 ar y drefn log a grisiau. 1142 00:40:50,680 --> 00:40:52,470 Ac mae hyn yn dipyn o un 'n annaearol. 1143 00:40:52,470 --> 00:40:54,910 >> Beth yn cymryd un cam, neu yn fwy penodol 1144 00:40:54,910 --> 00:40:56,240 nifer cyson o gamau? 1145 00:40:56,240 --> 00:40:58,865 Efallai ei fod yn ddau, efallai ei bod yn dri, ond gwyddonydd cyfrifiadurol yn unig 1146 00:40:58,865 --> 00:41:01,423 symleiddio fel O fawr o 1, rhyw nifer cyson o gamau. 1147 00:41:01,423 --> 00:41:04,256 Beth sy'n rhywbeth y gallech ei wneud hynny yn cymryd nifer cyson o gamau? 1148 00:41:04,256 --> 00:41:08,030 1149 00:41:08,030 --> 00:41:10,930 >> Beth yw'r amser yn rhedeg o glapio? 1150 00:41:10,930 --> 00:41:11,920 Amser yn gyson. 1151 00:41:11,920 --> 00:41:12,420 Iawn? 1152 00:41:12,420 --> 00:41:15,490 Fel, beth yw'r amser yn rhedeg o gwneud unrhyw beth sy'n cymryd dim ond un 1153 00:41:15,490 --> 00:41:18,570 llawdriniaeth, fel argraffu F Helo Byd. 1154 00:41:18,570 --> 00:41:24,110 Gallai hynny fod yn dweud i fod yn amser yn gyson, oni bai bod llai o achosion gornel gyda phrint F, 1155 00:41:24,110 --> 00:41:28,260 yr hyn y gallai'r amser yn rhedeg o brint F gwirionedd fod? 1156 00:41:28,260 --> 00:41:28,790 A pham? 1157 00:41:28,790 --> 00:41:30,550 Beth yw n mesur yn yr achos hwnnw? 1158 00:41:30,550 --> 00:41:32,251 >> GYNULLEIDFA: [Anghlywadwy]. 1159 00:41:32,251 --> 00:41:33,250 DAVID J. Malan: Yn union. 1160 00:41:33,250 --> 00:41:34,900 Mae nifer o gymeriadau rydym eisiau argraffu. 1161 00:41:34,900 --> 00:41:36,191 Felly mae'n iawn y cyd-destun. 1162 00:41:36,191 --> 00:41:39,910 Heddiw, rydym wedi bod yn canolbwyntio llawer ar llythrennau a rhifau yma ar y bwrdd. 1163 00:41:39,910 --> 00:41:43,540 Ond gallai hefyd fod cymeriadau mewn llinyn go iawn. 1164 00:41:43,540 --> 00:41:46,420 Felly, mae'n troi allan yna un arall mesur a fydd yn dechrau gofalu am, 1165 00:41:46,420 --> 00:41:48,530 a dyna y gwrthwyneb o O fawr, fel petai. 1166 00:41:48,530 --> 00:41:50,120 >> Dyna nodiant omega. 1167 00:41:50,120 --> 00:41:53,380 Tra O mawr yn golygu beth sydd, mae'r uchaf rhwymo ar eich amser yn rhedeg? 1168 00:41:53,380 --> 00:41:55,580 Maximally, faint o amser gallai rhywbeth yn ei gymryd? 1169 00:41:55,580 --> 00:41:59,250 Omega-- ddrwg gennym hyn yn cadw i ddod up-- yn y gwrthwyneb i hynny, 1170 00:41:59,250 --> 00:42:02,960 lle mae'n is rhwymo ar y Gallai faint o amser rywbeth cymryd. 1171 00:42:02,960 --> 00:42:10,480 >> So. er enghraifft, beth algorithm sy'n cymryd camau bob amser sgwâr n? 1172 00:42:10,480 --> 00:42:15,600 Wel, un o'r algorithmau rydym wedi gweld heddiw, mewn gwirionedd, fod yn hynny hefyd. 1173 00:42:15,600 --> 00:42:16,720 Didoli Dewis. 1174 00:42:16,720 --> 00:42:18,270 Dewis math eithaf dwp. 1175 00:42:18,270 --> 00:42:21,760 Hyd yn oed os bydd y algorithm-- ddrwg gennym, hyd yn oed os yw'r amrywiaeth eisoes yn didoli, 1176 00:42:21,760 --> 00:42:24,150 didoli detholiad yn mynd i cadw cerdded drwy'r rhestr 1177 00:42:24,150 --> 00:42:28,907 i wneud yn siŵr ei fod wedi y lleiaf Elfen dro ar ôl tro ar ôl tro. 1178 00:42:28,907 --> 00:42:31,740 A hyd yn oed er eich bodau dynol yn y gynulleidfa yn gwybod bod, arhoswch funud, 1179 00:42:31,740 --> 00:42:33,948 ydych chi eisoes yn llwyddo yn y elfen lleiaf, y cyfrifiadur 1180 00:42:33,948 --> 00:42:37,300 nid yw'n gwybod hynny hyd nes ei fod yn edrych yr holl ffordd trwy'r rhestr. 1181 00:42:37,300 --> 00:42:40,240 Yn yr un modd, mae is rhwymo bod Efallai hefyd yn cael eu hystyried 1182 00:42:40,240 --> 00:42:42,000 a allai fod yn amser llinol. 1183 00:42:42,000 --> 00:42:48,260 >> Faint o amser mae'n ei gymryd i elfennau didoli n yn y gorau 1184 00:42:48,260 --> 00:42:52,420 achos gan ddefnyddio rhywbeth fel math swigod? 1185 00:42:52,420 --> 00:42:54,280 Gadewch i ni dybio eich rhestr eisoes yn cael ei datrys. 1186 00:42:54,280 --> 00:42:56,696 Dywedasom fath swigen yn cymryd ar y drefn n sgwâr grisiau. 1187 00:42:56,696 --> 00:42:59,640 Ond beth os yw eisoes wedi datrys? 1188 00:42:59,640 --> 00:43:02,310 Beth os byddwch yn sylweddoli ar ôl un tocyn trwy'r amrywiaeth 1189 00:43:02,310 --> 00:43:03,540 eich bod wedi gwneud unrhyw gyfnewidiadau? 1190 00:43:03,540 --> 00:43:05,970 A oes angen i chi gadw gwneud mwy o docynnau? 1191 00:43:05,970 --> 00:43:06,470 >> Na 1192 00:43:06,470 --> 00:43:10,340 Felly mae rhwymo is ar fath swigen allai fod yn dweud i fod yn llinol. 1193 00:43:10,340 --> 00:43:11,830 Omega o n. 1194 00:43:11,830 --> 00:43:14,450 A gallwn edrych ar eraill o'r hyn hefyd. 1195 00:43:14,450 --> 00:43:17,990 Felly, gadewch i ni edrych cyflym am ddim ond mae delweddu yma 1196 00:43:17,990 --> 00:43:20,790 i weld sut mae'r rhain yn gwahaniaethu eu hunain. 1197 00:43:20,790 --> 00:43:24,592 Rydw i'n mynd i fynd i lawr fan hyn i mewn i hyn tudalen sydd ar gael ar wefan C50 yn, 1198 00:43:24,592 --> 00:43:27,550 ond bydd yn boen i gael gwaith, gan ei fod yn defnyddio technoleg o'r enw 1199 00:43:27,550 --> 00:43:30,560 Applets Java, sy'n un o heb gefnogaeth i raddau helaeth y dyddiau hyn, 1200 00:43:30,560 --> 00:43:32,730 o leiaf erbyn Chrome a rhai pobl eraill. 1201 00:43:32,730 --> 00:43:37,070 >> A gadewch i mi fynd yn ei flaen a chyflymu hyn i fyny ac i esbonio beth sy'n digwydd. 1202 00:43:37,070 --> 00:43:40,840 Mae hyn yn arwydd o swigen didoli, mae'r algorithm cyntaf i ni edrych ar. 1203 00:43:40,840 --> 00:43:43,950 Ac mae'n delweddu mewn bod gan bob o fariau hyn cynrychioli nifer. 1204 00:43:43,950 --> 00:43:45,710 Po fwyaf y bar, po fwyaf y rhif. 1205 00:43:45,710 --> 00:43:47,520 Po leiaf y bar, y lleiaf yw'r rhif. 1206 00:43:47,520 --> 00:43:50,353 A beth y gallwch weld eu golwg, hyd yn oed er bod hyn yn mynd gyflym super, 1207 00:43:50,353 --> 00:43:53,699 yw bod y bar coch yn fel fi, cerdded yn ôl ac ymlaen gosod problemau. 1208 00:43:53,699 --> 00:43:56,740 Gallwch weld bod yr elfennau mwy yn wir yn byrlymu i fyny i'r dde, 1209 00:43:56,740 --> 00:43:59,650 a'r elfennau llai yn byrlymu i fyny at y chwith. 1210 00:43:59,650 --> 00:44:01,870 Ac i lawr fan hyn, os byddwn yn mewn gwirionedd yn edrych yn agosach, 1211 00:44:01,870 --> 00:44:04,330 gallwn mewn gwirionedd yn cyfrif y nifer o gymariaethau a chyfnewidiadau 1212 00:44:04,330 --> 00:44:05,350 oedd yn cael eu gwneud. 1213 00:44:05,350 --> 00:44:07,360 >> Ond yn hytrach, gadewch i ni edrych yn yr ail algorithm 1214 00:44:07,360 --> 00:44:11,240 buom yn edrych ar gynharach gyda'n gwirfoddolwyr, didoli dewis. 1215 00:44:11,240 --> 00:44:13,500 Yn weledol, mae ganddo effaith wahanol iawn. 1216 00:44:13,500 --> 00:44:16,820 Ond mae'n, unwaith eto, iawn 'n athrylithgar, yn ein bod yn cadw dewis y lleiaf nesaf 1217 00:44:16,820 --> 00:44:18,660 elfen, ac rydym yn cael ychydig yn lwcus. 1218 00:44:18,660 --> 00:44:20,110 Oedd yn teimlo y bôn yn gynt. 1219 00:44:20,110 --> 00:44:22,840 Ond os ydym yn rhedeg hyn eto ac eto ac unwaith eto gyda llawer o fewnbynnau, 1220 00:44:22,840 --> 00:44:26,680 byddem yn gweld ei bod yn wir dal i fod yn O fawr o n sgwâr. 1221 00:44:26,680 --> 00:44:29,920 >> Gadewch i ni wneud un un olaf yma, didoli mewnosod, 1222 00:44:29,920 --> 00:44:33,180 sef y trydydd algorithm buom yn edrych ar, a dwyn i gof 1223 00:44:33,180 --> 00:44:36,700 bod hyn yn un yn delio â'r elfennau gan ei fod yn dod ar eu traws yn eu, 1224 00:44:36,700 --> 00:44:39,290 ond yna mae'n efallai shifftiau pethau i wneud lle, 1225 00:44:39,290 --> 00:44:41,660 mewnosod elfennau lle maent yn perthyn. 1226 00:44:41,660 --> 00:44:45,330 >> Ac mae hyn hefyd yn dod i ben i fyny gan roi canlyniad terfynol. Nawr pob un o'r tri o'r rhai a 1227 00:44:45,330 --> 00:44:46,490 yn teimlo eithaf cyflym. 1228 00:44:46,490 --> 00:44:48,740 Ac yn wir, yr wyf yn rhedeg nhw ar glip 'n bert da. 1229 00:44:48,740 --> 00:44:52,510 Ond yn y bôn, maen nhw i gyd 'n bert ofnadwy, a dweud y gwir. 1230 00:44:52,510 --> 00:44:56,960 Mae pob un o'r algorithmau hyn hyd yn hyn bod yn rhedeg mewn O fawr o n squared 1231 00:44:56,960 --> 00:44:59,270 cymryd cryn dipyn o amser i redeg yn y diwedd. 1232 00:44:59,270 --> 00:45:01,920 >> Ac yn wir, gallwn weld ac yn teimlo bod hyn yn olaf 1233 00:45:01,920 --> 00:45:04,090 os byddaf yn tynnu i fyny y trydydd a'r olaf demo. 1234 00:45:04,090 --> 00:45:05,840 Mae hyn yn un arall delweddu sy'n mynd 1235 00:45:05,840 --> 00:45:08,500 i ddangos didoli swigen ar y chwith, didoli detholiad yn y canol, 1236 00:45:08,500 --> 00:45:13,410 ac yn rhywbeth, fel un o'n llaw yn codi awgrymwyd yn gynharach, 1237 00:45:13,410 --> 00:45:15,020 uno fath ar y dde. 1238 00:45:15,020 --> 00:45:16,937 Mae rhaniad a gorchfygu strategaeth ar y dde. 1239 00:45:16,937 --> 00:45:19,520 A dyna, mewn gwirionedd, yr hyn rydym yn mynd i edrych ar ddydd Mercher. 1240 00:45:19,520 --> 00:45:21,990 Ond gadewch i amser hyn i redeg yn gyfochrog. 1241 00:45:21,990 --> 00:45:26,765 Mae'n tua'r un nifer o elfennau, pob rhedeg ar yr un pryd. 1242 00:45:26,765 --> 00:45:30,940 1243 00:45:30,940 --> 00:45:34,440 Didoli swigen vs dethol math vs fath uno. 1244 00:45:34,440 --> 00:45:36,760 >> Yn awr, maen nhw i gyd yn rhedeg mewn theori ar yr un pryd. 1245 00:45:36,760 --> 00:45:39,830 Mae'r CPU yn rhedeg ar yr un cyflymder, ond rydych yn 1246 00:45:39,830 --> 00:45:44,014 Gall deimlo pa mor ddiflas mae hyn yn yn gyflym iawn yn mynd i ddod yn, 1247 00:45:44,014 --> 00:45:45,930 ac yn union pa mor gyflym pan rydym yn chwistrellu ychydig o wythnos 1248 00:45:45,930 --> 00:45:49,330 algorithmau sero yn gallu rydym gyflymu pethau. 1249 00:45:49,330 --> 00:45:51,760 >> Ac yn awr gadewch i ni gymharu hyn mewn un ffurf diwethaf. 1250 00:45:51,760 --> 00:45:55,710 Rydw i'n mynd i fynd yn ei flaen at wefan CS50, ble 1251 00:45:55,710 --> 00:45:59,020 mae gennym y ddolen terfynol ar gyfer heddiw, lle mae rhywun ar y rhyngrwyd 1252 00:45:59,020 --> 00:46:03,960 garedig rhoi at ei gilydd fideo sy'n cipio pa didoli gwahanol 1253 00:46:03,960 --> 00:46:07,510 algorithmau swnio. 1254 00:46:07,510 --> 00:46:09,577 Mae hwn yn fath gosod. 1255 00:46:09,577 --> 00:46:12,072 >> [Gwneud sain] 1256 00:46:12,072 --> 00:46:13,070 1257 00:46:13,070 --> 00:46:16,850 >> Lle rydych yn gwneud cais mor aml yn seiliedig ar uchder y bar bar. 1258 00:46:16,850 --> 00:46:19,826 Mae hwn yn fath swigen. 1259 00:46:19,826 --> 00:46:21,822 >> [Gwneud sain warped] 1260 00:46:21,822 --> 00:46:33,299 1261 00:46:33,299 --> 00:46:45,774 >> Yn dod i fyny nesaf yw-- ddod i fyny fath dethol yw-- nesaf, 1262 00:46:45,774 --> 00:46:48,820 lle unwaith eto, rydym yn dewis yr elfen lleiaf nesaf, 1263 00:46:48,820 --> 00:46:51,820 a gallwn weld ei fod yn tyfu o'r chwith i'r dde. 1264 00:46:51,820 --> 00:47:01,120 1265 00:47:01,120 --> 00:47:04,000 >> Cyfuno didoli, mae ein enillydd hyd yma heddiw. 1266 00:47:04,000 --> 00:47:09,659 1267 00:47:09,659 --> 00:47:12,450 Hysbysiad sut mae'n rhannu pethau i mewn i [Anghlywadwy] hanner a chwarteri. 1268 00:47:12,450 --> 00:47:17,510 1269 00:47:17,510 --> 00:47:21,660 Didoli Gnome, nad ydym wedi siarad am, ac yn creu eu golwg 1270 00:47:21,660 --> 00:47:24,450 ac audally yn dipyn o siâp a sain gwahanol. 1271 00:47:24,450 --> 00:47:27,060 1272 00:47:27,060 --> 00:47:30,160 Mynd yn ôl ac ymlaen, glanhau pethau i fyny. 1273 00:47:30,160 --> 00:47:32,230 Hefyd edrych ar heapsort ar y wefan boi. 1274 00:47:32,230 --> 00:47:36,100 1275 00:47:36,100 --> 00:47:36,810 >> A dyna ni. 1276 00:47:36,810 --> 00:47:38,210 Byddwn yn gweld y tro nesaf i chi. 1277 00:47:38,210 --> 00:47:42,647 1278 00:47:42,647 --> 00:47:48,334 >> [Whooshing A CHERDDORIAETH] 1279 00:47:48,334 --> 00:50:24,839