1 00:00:00,000 --> 00:00:00,030 2 00:00:00,030 --> 00:00:00,460 >> DAVID Malan: zote haki. 3 00:00:00,460 --> 00:00:01,094 Sisi ni nyuma. 4 00:00:01,094 --> 00:00:04,260 Hivyo katika sehemu hii juu ya programu nini Nilidhani tunatarajia kufanya ni mchanganyiko wa mambo. 5 00:00:04,260 --> 00:00:06,340 One, kufanya kidogo kidogo ya kitu mikono-on, 6 00:00:06,340 --> 00:00:08,690 japo kwa kutumia zaidi playful programu environment-- 7 00:00:08,690 --> 00:00:11,620 moja kwamba ni demonstrative ya hasa aina ya mawazo 8 00:00:11,620 --> 00:00:14,220 tumekuwa kuzungumza juu, lakini kidogo zaidi rasmi. 9 00:00:14,220 --> 00:00:18,200 Mbili, kuangalia baadhi ya njia zaidi ya kiufundi 10 00:00:18,200 --> 00:00:21,520 kwamba programu ingekuwa kweli kutatua matatizo kama tatizo kutafuta 11 00:00:21,520 --> 00:00:24,530 kwamba sisi inaonekana katika kabla na pia ni zaidi kimsingi 12 00:00:24,530 --> 00:00:26,020 kuvutia tatizo la kuchagua. 13 00:00:26,020 --> 00:00:28,840 >> Sisi tu kudhani kutoka kupata kwenda kwamba kitabu cha simu ilikuwa yamepangwa, 14 00:00:28,840 --> 00:00:31,980 lakini hiyo peke yake ni kweli aina ya ngumu tatizo na njia nyingi tofauti 15 00:00:31,980 --> 00:00:32,479 kulitatua. 16 00:00:32,479 --> 00:00:34,366 Hivyo tutaweza kutumia haya kama darasa la matatizo 17 00:00:34,366 --> 00:00:36,740 mwakilishi wa mambo ambayo inaweza kutatuliwa kwa ujumla. 18 00:00:36,740 --> 00:00:38,980 Na kisha tutaweza majadiliano kuhusu katika baadhi ya kina nini 19 00:00:38,980 --> 00:00:42,360 zinaitwa data structures-- njia fancier kama orodha wanaohusishwa 20 00:00:42,360 --> 00:00:46,290 na meza hash na miti ambayo programu ingekuwa kweli 21 00:00:46,290 --> 00:00:48,890 kutumia na kwa ujumla kutumia juu ya ubao mweupe rangi 22 00:00:48,890 --> 00:00:51,840 picha ya nini yeye au yeye inataka kwa ajili ya utekelezaji 23 00:00:51,840 --> 00:00:52,980 baadhi kipande cha programu. 24 00:00:52,980 --> 00:00:55,130 >> Basi hebu kufanya mikono juu ya sehemu ya kwanza. 25 00:00:55,130 --> 00:01:00,090 Hivyo tu kupata mikono yako chafu na mazingira aitwaye scratch.mit.edu. 26 00:01:00,090 --> 00:01:02,636 Hii ni chombo kwamba sisi kutumia katika darasa letu shahada ya kwanza. 27 00:01:02,636 --> 00:01:04,510 Hata ingawa ni iliyoundwa kwa miaka 12 na juu, 28 00:01:04,510 --> 00:01:07,570 sisi kuitumia kwa ajili ya up sehemu ya kwamba kidogo kabisa 29 00:01:07,570 --> 00:01:10,020 tangu ni nzuri, furaha njia graphical ya kujifunza 30 00:01:10,020 --> 00:01:12,160 kitu kidogo kuhusu programu. 31 00:01:12,160 --> 00:01:17,600 Hivyo kichwa na URL kwamba, ambapo unapaswa kuona ukurasa kabisa kama hii, 32 00:01:17,600 --> 00:01:23,330 na kwenda mbele na bonyeza Kujiunga Scratch katika haki juu 33 00:01:23,330 --> 00:01:28,300 na kuchagua jina la mtumiaji na a password na hatimaye kupata mwenyewe 34 00:01:28,300 --> 00:01:29,970 account-- scratch.mit.edu. 35 00:01:29,970 --> 00:01:32,165 36 00:01:32,165 --> 00:01:34,665 Nilidhani ningependa kutumia hii kama nafasi ya kwanza ili kuonyesha hili. 37 00:01:34,665 --> 00:01:39,120 swali walifika wakati wa mapumziko kuhusu nini kificho kwa kweli inaonekana kama. 38 00:01:39,120 --> 00:01:41,315 Na sisi walikuwa wanazungumza wakati wa mapumziko kuhusu C, 39 00:01:41,315 --> 00:01:45,060 katika particular-- hasa ngazi ya chini katika lugha wakubwa. 40 00:01:45,060 --> 00:01:47,750 Na mimi tu alifanya haraka Google kutafuta na kupata C kificho 41 00:01:47,750 --> 00:01:51,574 kwa ajili ya kutafuta binary, algorithm kwamba sisi kutumika kutafuta kwamba kitabu cha simu mapema. 42 00:01:51,574 --> 00:01:54,240 mfano huu hasa, bila shaka, haina kutafuta kitabu cha simu. 43 00:01:54,240 --> 00:01:57,840 Ni tu misako rundo zima la idadi katika kumbukumbu ya kompyuta. 44 00:01:57,840 --> 00:02:01,000 Lakini kama wewe Ningependa kupata tu Visual hisia ya kile programu halisi 45 00:02:01,000 --> 00:02:05,370 Lugha inaonekana kama, inaonekana kitu kidogo kama hii. 46 00:02:05,370 --> 00:02:09,759 Hivyo ni kuhusu 20-plus, 30 au mstari wa kanuni, 47 00:02:09,759 --> 00:02:12,640 lakini mazungumzo sisi walikuwa kuwa juu ya mapumziko 48 00:02:12,640 --> 00:02:16,000 Ilikuwa kuhusu jinsi hii kwa kweli anapata morphed katika zeros na ndio 49 00:02:16,000 --> 00:02:19,200 na kama huwezi tu revert kwamba mchakato na kwenda kutoka zeros na ndio 50 00:02:19,200 --> 00:02:20,210 nyuma kwa kificho. 51 00:02:20,210 --> 00:02:22,620 >> Kwa bahati mbaya, mchakato ni hivyo transformative 52 00:02:22,620 --> 00:02:24,890 kwamba ni rahisi sana kusema kuliko kutenda. 53 00:02:24,890 --> 00:02:29,400 Nilikwenda mbele na kwa kweli akageuka kwamba mpango, Binary Search, 54 00:02:29,400 --> 00:02:32,700 katika zeros na ndio kwa njia ya programu inayoitwa Compiler kwamba mimi 55 00:02:32,700 --> 00:02:34,400 kutokea kwa kuwa hapa haki juu ya Mac yangu. 56 00:02:34,400 --> 00:02:37,850 Na kama ukiangalia screen hapa, kwa kulenga hasa 57 00:02:37,850 --> 00:02:43,520 juu ya haya katikati ya nguzo sita tu, utaona zeros tu na ndio. 58 00:02:43,520 --> 00:02:48,290 Na wale ni zeros na ndio kwamba kutunga hasa kwamba mpango kutafuta. 59 00:02:48,290 --> 00:02:53,720 >> Na hivyo kila chunk ya bits tano, kila Byte ya zeros na ndio hapa, 60 00:02:53,720 --> 00:02:57,310 kuwakilisha baadhi ya mafundisho kawaida ndani ya kompyuta. 61 00:02:57,310 --> 00:03:00,730 Na kwa kweli, kama wewe Nimesikia masoko kauli mbiu ya "Intel ndani" - kwamba, 62 00:03:00,730 --> 00:03:04,610 bila shaka, tu ina maana una Intel CPU au ubongo ndani ya kompyuta. 63 00:03:04,610 --> 00:03:08,000 Na nini maana ya kuwa CPU ni kwamba una maelekezo kuweka, 64 00:03:08,000 --> 00:03:08,840 hivyo kusema. 65 00:03:08,840 --> 00:03:11,620 >> Kila CPU katika dunia, wengi wa yao yaliyotolewa na Intel siku hizi, 66 00:03:11,620 --> 00:03:13,690 anaelewa finite idadi ya maelekezo. 67 00:03:13,690 --> 00:03:18,690 Na maagizo hayo ni kiwango cha hivyo chini kama kuongeza idadi ya hizi mbili pamoja, 68 00:03:18,690 --> 00:03:22,560 kuzidisha idadi hizi mbili pamoja, hoja kipande hii ya data kutoka hapa 69 00:03:22,560 --> 00:03:27,340 kwa hapa katika kumbukumbu, kuokoa hii habari kutoka hapa kwa hapa katika kumbukumbu, 70 00:03:27,340 --> 00:03:32,200 na hivyo sana aliye mzaa hivyo sana, sana ngazi ya chini, maelezo karibu elektroniki. 71 00:03:32,200 --> 00:03:34,780 Lakini kwa wale hisabati shughuli ikiwa ni 72 00:03:34,780 --> 00:03:37,410 na kile sisi kujadiliwa mapema, uwakilishi wa data 73 00:03:37,410 --> 00:03:40,450 kama zeros na ndio, Unaweza mnaimarisha kila kitu 74 00:03:40,450 --> 00:03:44,180 kwamba kompyuta anaweza kufanya leo, iwe ni textual, graphical, muziki, 75 00:03:44,180 --> 00:03:45,580 au vinginevyo. 76 00:03:45,580 --> 00:03:49,450 >> Hivyo hii ni rahisi sana kupata waliopotea katika magugu ya haraka. 77 00:03:49,450 --> 00:03:52,150 Na kuna mengi ya changamoto syntactical 78 00:03:52,150 --> 00:03:56,630 ambapo kama wewe kufanya rahisi, stupidest ya typos hakuna wa mpango 79 00:03:56,630 --> 00:03:57,860 kazi yo. 80 00:03:57,860 --> 00:04:00,366 Na hivyo badala ya kutumia lugha kama C asubuhi hii, 81 00:04:00,366 --> 00:04:02,240 Mimi walidhani itakuwa zaidi ya kujifurahisha na kwa kweli kufanya 82 00:04:02,240 --> 00:04:04,840 kitu zaidi ya Visual, ambayo wakati iliyoundwa kwa ajili ya watoto 83 00:04:04,840 --> 00:04:08,079 ni kweli udhihirisho kamili ya programu halisi 84 00:04:08,079 --> 00:04:10,370 language-- hutokea tu kutumia picha badala ya maandishi 85 00:04:10,370 --> 00:04:11,710 kuiwakilisha mawazo hayo. 86 00:04:11,710 --> 00:04:15,470 >> Hivyo mara moja kweli kuwa akaunti kwenye scratch.mit.edu, 87 00:04:15,470 --> 00:04:21,070 bonyeza Kujenga kifungo katika juu ya kushoto ya tovuti. 88 00:04:21,070 --> 00:04:24,620 Na unapaswa kuona mazingira kama moja mimi nina kuhusu kuona kwenye screen yangu 89 00:04:24,620 --> 00:04:26,310 hapa. 90 00:04:26,310 --> 00:04:29,350 Na tutaweza kutumia kidogo tu kidogo ya muda kucheza hapa. 91 00:04:29,350 --> 00:04:34,080 Hebu angalia kama hatuwezi zote kutatua baadhi matatizo kwa pamoja katika njia ifuatayo. 92 00:04:34,080 --> 00:04:39,420 >> Hivyo kile utaona ndani ya hii environment-- na kwa kweli tu basi 93 00:04:39,420 --> 00:04:40,050 me kutulia. 94 00:04:40,050 --> 00:04:42,680 Kuna mtu yeyote si hapa? 95 00:04:42,680 --> 00:04:45,070 Sio hapa? 96 00:04:45,070 --> 00:04:45,800 SAWA. 97 00:04:45,800 --> 00:04:49,030 Hivyo basi mimi kumweka nje chache tabia ya mazingira haya. 98 00:04:49,030 --> 00:04:55,024 >> Hivyo juu kushoto wa screen, sisi na hatua Scratch, hivyo kusema. 99 00:04:55,024 --> 00:04:57,440 Scratch si tu jina wa lugha hii programu; 100 00:04:57,440 --> 00:05:00,356 pia ni jina la paka kwamba unaona by default huko katika machungwa. 101 00:05:00,356 --> 00:05:02,160 Yeye ni juu ya hatua, hivyo kiasi kama mimi ilivyoelezwa 102 00:05:02,160 --> 00:05:05,770 kobe ​​mapema kama kuwa katika rectangular nyeupe bodi mazingira. 103 00:05:05,770 --> 00:05:09,800 dunia paka hii ya linabakia tu kwa kuwa Mstatili juu juu huko. 104 00:05:09,800 --> 00:05:12,210 >> Wakati huo huo, juu ya haki upande wa hapa, ni 105 00:05:12,210 --> 00:05:15,610 tu scripts eneo hilo, slate tupu kama wewe. 106 00:05:15,610 --> 00:05:18,590 Hii ni wapi tunakwenda kuandika mipango yetu katika muda tu. 107 00:05:18,590 --> 00:05:22,935 Na vitalu jengo kwamba sisi ataona kutumia kuandika hii program-- puzzle 108 00:05:22,935 --> 00:05:25,310 vipande, kama wewe will-- ni wale haki hapa katikati, 109 00:05:25,310 --> 00:05:27,500 na wao uko katika kundi na utendaji. 110 00:05:27,500 --> 00:05:31,000 Hivyo, kwa mfano, mimi nina kwenda mbele na kuonyesha angalau mmoja wa haya. 111 00:05:31,000 --> 00:05:33,690 Mimi nina kwenda mbele na bonyeza Control jamii juu juu. 112 00:05:33,690 --> 00:05:35,720 >> Basi hizi ni makundi juu juu. 113 00:05:35,720 --> 00:05:39,410 Mimi nina kwenda bonyeza Control jamii. 114 00:05:39,410 --> 00:05:44,020 Badala yake, mimi nina kwenda bonyeza Matukio jamii, kwanza kabisa moja juu juu. 115 00:05:44,020 --> 00:05:47,790 Na kama Ningependa kufuata pamoja hata kama sisi kufanya hivyo, wewe ni kabisa kuwakaribisha kwa. 116 00:05:47,790 --> 00:05:52,180 Mimi nina kwenda click na Drag hii moja kwanza, "wakati kijani bendera clicked." 117 00:05:52,180 --> 00:05:58,410 Na kisha mimi nina kwenda kuacha tu takribani utafutaji juu ya slates yangu tupu. 118 00:05:58,410 --> 00:06:01,450 >> Na nini ni nzuri kuhusu Scratch ni kwamba hii puzzle kipande, wakati 119 00:06:01,450 --> 00:06:04,560 interlocked kwa puzzle mengine vipande, ni kwenda kufanya literally 120 00:06:04,560 --> 00:06:06,460 nini vipande wale puzzle kusema kufanya. 121 00:06:06,460 --> 00:06:09,710 Hivyo, kwa mfano, Scratch ni haki sasa katikati ya ulimwengu wake. 122 00:06:09,710 --> 00:06:14,660 Mimi nina kwenda mbele na kuchagua sasa, hebu sema, Mwendo jamii, 123 00:06:14,660 --> 00:06:18,000 kama Ningependa kufanya same-- Motion jamii. 124 00:06:18,000 --> 00:06:20,430 Na sasa taarifa Nina nzima rundo la vipande puzzle hapa 125 00:06:20,430 --> 00:06:23,370 tena kuwa, aina ya kufanya kile wanachosema. 126 00:06:23,370 --> 00:06:28,110 Na mimi nina kwenda mbele na Drag na kuacha hoja kuzuia haki zaidi ya hapa. 127 00:06:28,110 --> 00:06:31,860 >> Na taarifa kwamba haraka kama wewe kupata karibu na chini ya "kijani bendera 128 00:06:31,860 --> 00:06:34,580 clicked "button, ilani jinsi mstari nyeupe inaonekana, 129 00:06:34,580 --> 00:06:36,950 kana kwamba ni karibu magnetic, ni anataka kwenda huko. 130 00:06:36,950 --> 00:06:43,070 Tu basi kwenda, na itakuwa snap pamoja na maumbo mechi. 131 00:06:43,070 --> 00:06:46,620 Na sasa unaweza labda karibu nadhani ambapo tunakwenda na hii. 132 00:06:46,620 --> 00:06:51,570 >> Kama ukiangalia katika hatua Scratch zaidi ya hapa na kuangalia juu ya jambo hilo, 133 00:06:51,570 --> 00:06:55,142 utaona taa nyekundu, kuacha ishara, na bendera ya kijani. 134 00:06:55,142 --> 00:06:57,100 Na mimi nina kwenda mbele na kuangalia screen-- yangu 135 00:06:57,100 --> 00:06:58,460 kwa muda tu, kama unaweza. 136 00:06:58,460 --> 00:07:01,960 Mimi nina kwenda bonyeza kijani bendera sasa hivi, 137 00:07:01,960 --> 00:07:07,850 na alihamia kile kinachoonekana kuwa hatua 10 au 10, saizi dots 10, juu ya screen. 138 00:07:07,850 --> 00:07:13,390 >> Na hivyo si kwamba kusisimua, lakini napenda kupendekeza 139 00:07:13,390 --> 00:07:17,440 bila hata kufundisha hii, tu kutumia mwenyewe intuition-- yako mwenyewe hebu 140 00:07:17,440 --> 00:07:22,560 me kupendekeza kwamba wewe kufikiri jinsi ya kufanya Scratch kutembea haki mbali ya hatua. 141 00:07:22,560 --> 00:07:28,700 Kuwa naye kupisha upande wa kulia wa screen, njia yote ya haki. 142 00:07:28,700 --> 00:07:32,200 Nikupe wakati au hivyo na kushindana na hiyo. 143 00:07:32,200 --> 00:07:37,681 Unaweza kutaka kuangalia katika makundi mengine ya vitalu. 144 00:07:37,681 --> 00:07:38,180 Sawa. 145 00:07:38,180 --> 00:07:41,290 Hivyo tu kwa kurejea, wakati tuna bendera ya kijani clicked hapa 146 00:07:41,290 --> 00:07:44,850 na hoja hatua 10 ni mafundisho tu, kila wakati mimi 147 00:07:44,850 --> 00:07:46,720 bonyeza bendera ya kijani, nini kinatokea? 148 00:07:46,720 --> 00:07:50,070 Naam, kwamba mbio mpango wangu. 149 00:07:50,070 --> 00:07:52,450 Hivyo mimi naweza kufanya hili labda mara 10 manually, 150 00:07:52,450 --> 00:07:55,130 lakini hii anahisi kidogo bit hackish, hivyo kusema, 151 00:07:55,130 --> 00:07:57,480 ambapo mimi si kweli kutatua tatizo. 152 00:07:57,480 --> 00:08:00,530 Mimi nina kujaribu tu tena na tena na tena na tena 153 00:08:00,530 --> 00:08:03,180 mpaka mimi aina ya ajali kufikia azma 154 00:08:03,180 --> 00:08:05,560 kwamba mimi kuweka nje kufikia mapema. 155 00:08:05,560 --> 00:08:08,200 >> Lakini tunajua kutoka wetu pseudocode awali kwamba kuna 156 00:08:08,200 --> 00:08:11,870 wazo hili katika programu ya looping, kufanya kitu tena na tena. 157 00:08:11,870 --> 00:08:14,888 Pia nikaona kwamba rundo la wewe kufikiwa kwa nini puzzle kipande? 158 00:08:14,888 --> 00:08:17,870 159 00:08:17,870 --> 00:08:18,730 Kurudia mpaka. 160 00:08:18,730 --> 00:08:21,400 Hivyo tunaweza kufanya kitu kama kurudia mpaka. 161 00:08:21,400 --> 00:08:23,760 Na nini wewe kurudia mpaka hasa? 162 00:08:23,760 --> 00:08:27,720 163 00:08:27,720 --> 00:08:28,540 >> SAWA. 164 00:08:28,540 --> 00:08:31,974 Na napenda kwenda kwa moja hiyo ni fulani ni rahisi kwa muda tu. 165 00:08:31,974 --> 00:08:33,140 Hebu kwenda mbele na kufanya hili. 166 00:08:33,140 --> 00:08:35,559 Taarifa kwamba, kama unaweza kuwa aligundua chini ya Control, 167 00:08:35,559 --> 00:08:38,409 kuna hii kuzuia kurudia, ambayo haina kuangalia kama ni kuwa kubwa. 168 00:08:38,409 --> 00:08:41,039 Kuna chumba si sana katika kati ya wale mistari miwili ya njano. 169 00:08:41,039 --> 00:08:43,539 Lakini kama baadhi yenu wanaweza kuwa na niliona, kama wewe Drag na kuacha, 170 00:08:43,539 --> 00:08:45,150 taarifa jinsi hukua kujaza sura. 171 00:08:45,150 --> 00:08:46,274 >> Na unaweza hata Cram zaidi. 172 00:08:46,274 --> 00:08:48,670 Ni itabidi kuendelea kukua kama wewe Drag na hover juu yake. 173 00:08:48,670 --> 00:08:51,110 Na sijui nini bora hapa, hivyo basi 174 00:08:51,110 --> 00:08:54,760 mimi angalau kurudia mara tano, kwa mfano, na kisha kwenda nyuma ya hatua 175 00:08:54,760 --> 00:08:56,720 na bonyeza bendera ya kijani. 176 00:08:56,720 --> 00:08:59,110 Na sasa taarifa ni kabisa huko. 177 00:08:59,110 --> 00:09:02,400 >> Sasa baadhi yenu mapendekezo, kama Victoria tu hakuwa, kurudia mara 10. 178 00:09:02,400 --> 00:09:05,140 Na kwamba kwa ujumla anafanya kupata naye njia yote, 179 00:09:05,140 --> 00:09:10,510 lakini hakutaka kuwe na imara zaidi njia ya kiholela kuhesabia nje 180 00:09:10,510 --> 00:09:12,640 jinsi hatua nyingi kufanya? 181 00:09:12,640 --> 00:09:17,680 Nini kinaweza kuwa kuzuia bora kuliko kurudia mara 10 kuwa? 182 00:09:17,680 --> 00:09:20,380 >> Yeah, hivyo kwa nini kufanya kitu milele? 183 00:09:20,380 --> 00:09:24,390 Na sasa napenda hoja hii kipande puzzle ndani kuna na kujikwamua hii moja. 184 00:09:24,390 --> 00:09:28,300 Sasa angalia hakuna jambo ambapo Scratch kuanza, yeye huenda kwa makali. 185 00:09:28,300 --> 00:09:30,700 Na nashiriki MIT, ambao hufanya Scratch, tu 186 00:09:30,700 --> 00:09:33,190 hufanya uhakika kwamba kamwe kutoweka kabisa. 187 00:09:33,190 --> 00:09:35,360 Daima unaweza kunyakua mkia wake. 188 00:09:35,360 --> 00:09:37,680 >> Na tu intuitively, kwa nini yeye kusonga? 189 00:09:37,680 --> 00:09:38,892 Ni nini kinachoendelea hapa? 190 00:09:38,892 --> 00:09:41,440 191 00:09:41,440 --> 00:09:43,824 Yeye inaonekana kuwa kusimamishwa, lakini kisha kama mimi kuchukua na Drag 192 00:09:43,824 --> 00:09:45,240 yeye anaendelea kutaka kwenda zaidi ya hapo. 193 00:09:45,240 --> 00:09:46,123 Kwanini hivyo? 194 00:09:46,123 --> 00:09:51,610 195 00:09:51,610 --> 00:09:54,360 Kweli, kompyuta ni literally kwenda kufanya nini kuwaambia ni kufanya. 196 00:09:54,360 --> 00:09:58,380 Hivyo kama wewe aliiambia yake mapema kufanya kufuatia jambo milele, hoja hatua 10, 197 00:09:58,380 --> 00:10:01,860 itakuja kuendelea na kwenda mpaka mimi hit nyekundu kuacha ishara 198 00:10:01,860 --> 00:10:04,620 na kuacha mpango kabisa. 199 00:10:04,620 --> 00:10:06,610 >> Hivyo hata kama alivyofanya si kufanya hivyo, ni jinsi gani mimi 200 00:10:06,610 --> 00:10:09,510 kufanya Scratch hoja kwa kasi katika screen? 201 00:10:09,510 --> 00:10:12,060 202 00:10:12,060 --> 00:10:13,280 Zaidi hatua, haki? 203 00:10:13,280 --> 00:10:15,710 Hivyo badala ya kufanya 10 wakati, kwa nini sio sisi 204 00:10:15,710 --> 00:10:20,100 kwenda mbele na mabadiliko hayo to-- ungefanya ya kupendekeza 50? 205 00:10:20,100 --> 00:10:24,410 Hivyo sasa mimi nina kwenda bonyeza kijani bendera, na kwa kweli, yeye huenda kweli haraka. 206 00:10:24,410 --> 00:10:27,180 >> Na hii, bila shaka, ni tu udhihirisho wa uhuishaji. 207 00:10:27,180 --> 00:10:28,060 uhuishaji ni nini? 208 00:10:28,060 --> 00:10:33,090 Ni kuonyesha tu wewe a binadamu zima rundo la picha bado kweli, 209 00:10:33,090 --> 00:10:34,160 kweli, kweli haraka. 210 00:10:34,160 --> 00:10:36,500 Na hivyo kama sisi ni kuwaambia tu naye kwa hoja hatua zaidi, 211 00:10:36,500 --> 00:10:39,750 sisi ni kuwa tu athari itakuwa kwa mabadiliko ambapo yeye ni juu ya screen 212 00:10:39,750 --> 00:10:42,900 zote kwa kasi zaidi kwa kitengo cha wakati. 213 00:10:42,900 --> 00:10:46,454 >> Sasa changamoto ijayo kwamba mimi mapendekezo Ilikuwa kwa kuwa naye bounce mbali makali. 214 00:10:46,454 --> 00:10:49,120 Na bila kujua nini puzzle vipande exist-- kwa sababu ni faini 215 00:10:49,120 --> 00:10:53,030 kama huna kupata hatua ya challenge-- nini 216 00:10:53,030 --> 00:10:54,280 Unataka kufanya intuitively? 217 00:10:54,280 --> 00:10:58,030 Jinsi gani sisi kuwa naye Bounce nyuma na nje, kati ya kushoto na kulia? 218 00:10:58,030 --> 00:11:02,630 219 00:11:02,630 --> 00:11:03,810 >> Yeah. 220 00:11:03,810 --> 00:11:05,680 Kwa hiyo, tunahitaji aina fulani ya hali, na sisi 221 00:11:05,680 --> 00:11:09,710 wanaonekana kuwa na conditionals, hivyo kusema, chini ya Kudhibiti jamii. 222 00:11:09,710 --> 00:11:14,110 Ni yupi kati ya vitalu haya Je, sisi pengine wanataka? 223 00:11:14,110 --> 00:11:15,200 Yeah, labda "kama, basi." 224 00:11:15,200 --> 00:11:18,780 Hivyo taarifa kwamba kati ya vitalu njano sisi hapa, kuna hii "kama" 225 00:11:18,780 --> 00:11:23,920 au hii "kama, mwingine" kuzuia kwamba mapenzi kuruhusu sisi kufanya uamuzi wa kufanya hivyo 226 00:11:23,920 --> 00:11:25,000 au kufanya hivyo. 227 00:11:25,000 --> 00:11:27,380 Na unaweza hata kiota yao kufanya mambo mbalimbali. 228 00:11:27,380 --> 00:11:34,910 Au kama umefanya si gone hapa bado, kwenda mbele kwa Sensing jamii 229 00:11:34,910 --> 00:11:39,612 and-- hebu angalia kama ni hapa. 230 00:11:39,612 --> 00:11:43,050 231 00:11:43,050 --> 00:11:52,050 >> Kwa hiyo kile block inaweza kuwa na manufaa hapa kuchunguza kama yeye ni mbali ya hatua? 232 00:11:52,050 --> 00:11:56,740 Yeah, taarifa kwamba baadhi ya vitalu haya inaweza parametrized, hivyo kusema. 233 00:11:56,740 --> 00:12:00,706 Wanaweza kuwa aina ya customized, si tofauti na HTML jana na sifa, 234 00:12:00,706 --> 00:12:03,330 ambapo sifa hizo aina ya Customize tabia ya tag. 235 00:12:03,330 --> 00:12:08,880 Vile vile hapa, naweza kunyakua kugusa hii kuzuia na mabadiliko na kuuliza swali, 236 00:12:08,880 --> 00:12:11,500 ni wewe kugusa panya pointer kama mshale 237 00:12:11,500 --> 00:12:13,250 au ni wewe kugusa makali? 238 00:12:13,250 --> 00:12:15,210 >> Hivyo basi mimi kwenda katika na kufanya hili. 239 00:12:15,210 --> 00:12:18,130 Mimi nina kwenda kuvuta nje kwa muda. 240 00:12:18,130 --> 00:12:21,320 Hebu kunyakua hii kipande puzzle hapa, hii kipande puzzle hii, 241 00:12:21,320 --> 00:12:24,570 na mimi nina kwenda kwa jumble yao juu kwa muda tu. 242 00:12:24,570 --> 00:12:27,620 Mimi nina kwenda kwa hoja hii, kubadili hali hii kwa kugusa makali, 243 00:12:27,620 --> 00:12:38,590 na mimi nina kwenda kwa mwendo kufanya hivyo. 244 00:12:38,590 --> 00:12:40,490 Hivyo hapa ni baadhi ya viungo. 245 00:12:40,490 --> 00:12:42,570 Nadhani nimepata kila kitu nataka. 246 00:12:42,570 --> 00:12:47,710 >> Je, mtu kama kupendekeza jinsi mimi unaweza kuunganisha hizi labda top hadi chini 247 00:12:47,710 --> 00:12:52,020 ili kutatua tatizo la kuwa na Scratch hoja kulia na kushoto na haki ya 248 00:12:52,020 --> 00:12:57,020 kushoto na kulia na kushoto, kila muda tu bouncing off ukuta? 249 00:12:57,020 --> 00:12:58,050 Je, nataka kufanya? 250 00:12:58,050 --> 00:13:01,097 Ambayo kuzuia anatakiwa kuungana na "Bendera wakati kijani clicked kwanza"? 251 00:13:01,097 --> 00:13:04,060 252 00:13:04,060 --> 00:13:06,200 >> OK, hivyo hebu kuanza na "milele." 253 00:13:06,200 --> 00:13:07,170 Yale yanayoendelea ndani ya ijayo? 254 00:13:07,170 --> 00:13:10,290 Mtu mwingine. 255 00:13:10,290 --> 00:13:11,850 OK, hoja hatua. 256 00:13:11,850 --> 00:13:12,350 Sawa. 257 00:13:12,350 --> 00:13:14,470 Halafu? 258 00:13:14,470 --> 00:13:15,120 Hivyo basi kama. 259 00:13:15,120 --> 00:13:17,720 Na taarifa, hata kama inaonekana ipo pamoja kukazwa, 260 00:13:17,720 --> 00:13:19,500 itakuwa tu kukua kujaza. 261 00:13:19,500 --> 00:13:21,500 Itakuwa tu kuruka katika ambapo mimi nataka. 262 00:13:21,500 --> 00:13:25,920 >> Na nini mimi kuweka kati kama na kisha? 263 00:13:25,920 --> 00:13:27,180 Pengine "kama kugusa makali." 264 00:13:27,180 --> 00:13:31,800 Na taarifa, tena, ni kubwa mno kwa ajili yake, lakini itakua kujaza. 265 00:13:31,800 --> 00:13:35,002 Na kisha kugeuka digrii 15? 266 00:13:35,002 --> 00:13:35,710 Jinsi wengi digrii? 267 00:13:35,710 --> 00:13:38,800 268 00:13:38,800 --> 00:13:41,196 Yeah, hivyo 180 itakuwa spin me njia yote kote. 269 00:13:41,196 --> 00:13:42,570 Basi hebu angalia kama mimi got haki hii. 270 00:13:42,570 --> 00:13:43,930 Hebu zoom nje. 271 00:13:43,930 --> 00:13:45,130 >> Napenda Drag Scratch up. 272 00:13:45,130 --> 00:13:50,030 Hivyo yeye ni kidogo potofu sasa, lakini hiyo ni faini. 273 00:13:50,030 --> 00:13:52,231 Ninawezaje upya yake kwa urahisi? 274 00:13:52,231 --> 00:13:59,879 275 00:13:59,879 --> 00:14:01,045 Mimi nina kwenda kudanganya kidogo. 276 00:14:01,045 --> 00:14:04,074 277 00:14:04,074 --> 00:14:05,990 Hivyo mimi nina akiongeza mwingine kuzuia, tu kuwa wazi. 278 00:14:05,990 --> 00:14:08,424 Nataka yake kwa uhakika nyuzi 90 na haki by default, 279 00:14:08,424 --> 00:14:10,840 hivyo mimi nina kwenda tu kumwambia kufanya hivyo programmatically. 280 00:14:10,840 --> 00:14:11,632 Na hapa sisi kwenda. 281 00:14:11,632 --> 00:14:14,740 282 00:14:14,740 --> 00:14:15,740 Sisi wanaonekana wamefanya hivyo. 283 00:14:15,740 --> 00:14:19,980 Ni kidogo weird, kwa sababu yeye kutembea juu chini. 284 00:14:19,980 --> 00:14:21,250 Hebu piga kwamba mdudu. 285 00:14:21,250 --> 00:14:22,120 Hiyo ni makosa. 286 00:14:22,120 --> 00:14:27,320 mdudu ni kosa katika mpango, a mantiki kosa kwamba mimi, binadamu, alifanya. 287 00:14:27,320 --> 00:14:28,985 Kwa nini yeye kwenda kichwa chini? 288 00:14:28,985 --> 00:14:33,560 289 00:14:33,560 --> 00:14:35,250 Je, MIT screw up au alifanya mimi? 290 00:14:35,250 --> 00:14:38,840 291 00:14:38,840 --> 00:14:42,550 >> Yeah, I mean, ni si MIT kosa. Wao alinipa puzzle kipande 292 00:14:42,550 --> 00:14:44,970 kwamba anasema kurejea baadhi idadi ya digrii. 293 00:14:44,970 --> 00:14:47,672 Na katika maoni Victoria, Mimi nina kugeuka digrii 180, 294 00:14:47,672 --> 00:14:48,880 ambayo ni Intuition haki. 295 00:14:48,880 --> 00:14:53,700 Lakini kugeuka digrii 180 literally ina maana kugeuka digrii 180, 296 00:14:53,700 --> 00:14:55,860 na kwamba si kweli nini nataka, inaonekana. 297 00:14:55,860 --> 00:14:58,026 Kwa sababu angalau yeye ni katika hii dunia mbili-dimensional, 298 00:14:58,026 --> 00:15:00,740 hivyo kugeuka ni kweli kwenda flip yake kichwa chini. 299 00:15:00,740 --> 00:15:04,030 >> Mimi labda wanataka kutumia kuzuia kile badala yake, kulingana na kile unaweza kuona hapa? 300 00:15:04,030 --> 00:15:11,890 301 00:15:11,890 --> 00:15:14,790 Jinsi gani tunaweza kurekebisha hili? 302 00:15:14,790 --> 00:15:18,380 Yeah, hivyo tunaweza kumweka katika mwelekeo kinyume. 303 00:15:18,380 --> 00:15:22,300 Na kwa kweli hata hiyo ni si kwenda kuwa kutosha, 304 00:15:22,300 --> 00:15:26,410 kwa sababu tunaweza tu kificho kwa bidii kwa akizungumzia kushoto au kulia. 305 00:15:26,410 --> 00:15:27,920 >> Unajua nini tunaweza kufanya? 306 00:15:27,920 --> 00:15:30,160 Inaonekana kama tuna urahisi kuzuia hapa. 307 00:15:30,160 --> 00:15:32,987 Kama mimi kuvuta, angalia kitu sisi kama hapa? 308 00:15:32,987 --> 00:15:36,120 309 00:15:36,120 --> 00:15:40,020 Hivyo inaonekana kama MIT ina uchukuaji kujengwa katika hapa. 310 00:15:40,020 --> 00:15:45,440 kuzuia Hii inaonekana kuwa sawa ambayo vitalu nyingine, wingi? 311 00:15:45,440 --> 00:15:49,510 >> Hii kuzuia mmoja inaonekana kuwa sawa kwa hii Trio mzima wa vitalu 312 00:15:49,510 --> 00:15:50,880 kwamba sisi hapa. 313 00:15:50,880 --> 00:15:54,670 Hivyo ni zamu nje siwezi kurahisisha yangu mpango na kupata kuondoa yote ya kwamba 314 00:15:54,670 --> 00:15:58,270 na kuweka tu hii hapa. 315 00:15:58,270 --> 00:16:01,620 Na sasa yeye bado ni kidogo buggy, na hiyo ni faini kwa sasa. 316 00:16:01,620 --> 00:16:03,370 Tutaweza kuondoka kwamba kuwa. 317 00:16:03,370 --> 00:16:06,000 Lakini mpango wangu ni hata rahisi, na hii, pia, 318 00:16:06,000 --> 00:16:09,060 itakuwa mwakilishi ya lengo katika programming-- 319 00:16:09,060 --> 00:16:13,430 ni walau kufanya kanuni yako kama rahisi, kama Compact iwezekanavyo, 320 00:16:13,430 --> 00:16:15,650 wakati bado kuwa kama someka iwezekanavyo. 321 00:16:15,650 --> 00:16:20,310 You hawataki kufanya hivyo succinct kwamba ni vigumu kuelewa. 322 00:16:20,310 --> 00:16:22,826 >> Lakini taarifa nimekuwa kubadilishwa vitalu tatu na moja, 323 00:16:22,826 --> 00:16:24,200 na hiyo ni arguably jambo jema. 324 00:16:24,200 --> 00:16:27,280 Nimekuwa yanayotumika mbali dhana ya kuangalia kama uko 325 00:16:27,280 --> 00:16:29,120 makali na kuzuia moja tu. 326 00:16:29,120 --> 00:16:31,520 Sasa tunaweza kuwa na furaha na hii, kwa kweli. 327 00:16:31,520 --> 00:16:35,790 Hii haina kuongeza kiasi thamani ya kiakili lakini thamani playful. 328 00:16:35,790 --> 00:16:39,730 Mimi nina kwenda mbele na kunyakua sauti hii hapa. 329 00:16:39,730 --> 00:16:42,900 330 00:16:42,900 --> 00:16:46,420 Hivyo basi mimi kwenda mbele, na napenda kuacha mpango kwa muda. 331 00:16:46,420 --> 00:16:52,070 Mimi nina kwenda kurekodi yafuatayo, kuruhusu upatikanaji wa kipaza sauti yangu. 332 00:16:52,070 --> 00:16:53,181 >> Twende sasa. 333 00:16:53,181 --> 00:16:53,680 Ouch. 334 00:16:53,680 --> 00:16:58,710 335 00:16:58,710 --> 00:17:01,140 Hebu jaribu hii tena. 336 00:17:01,140 --> 00:17:02,279 Twende sasa. 337 00:17:02,279 --> 00:17:03,570 OK, mimi kumbukumbu kitu kibaya. 338 00:17:03,570 --> 00:17:04,580 Twende sasa. 339 00:17:04,580 --> 00:17:05,080 Ouch. 340 00:17:05,080 --> 00:17:07,910 341 00:17:07,910 --> 00:17:08,800 Ouch. 342 00:17:08,800 --> 00:17:09,300 Sawa. 343 00:17:09,300 --> 00:17:10,791 Sasa mimi haja ya kujikwamua hiyo. 344 00:17:10,791 --> 00:17:11,290 Sawa. 345 00:17:11,290 --> 00:17:13,950 >> Hivyo sasa nina kurekodi ya tu "ouch." 346 00:17:13,950 --> 00:17:18,040 Hivyo sasa mimi nina kwenda mbele na wito huu "ouch." 347 00:17:18,040 --> 00:17:20,270 Mimi nina kwenda nyuma kwa scripts yangu, na sasa 348 00:17:20,270 --> 00:17:25,460 ilani kuna block hii kwamba wito kucheza sauti "meow" au kucheza sauti "ouch." 349 00:17:25,460 --> 00:17:28,920 Mimi nina kwenda Drag hii, na ambapo lazima mimi kuweka hii kwa ajili ya athari comical? 350 00:17:28,920 --> 00:17:31,740 351 00:17:31,740 --> 00:17:37,860 Yeah, hivyo sasa ni aina ya buggy, kwa sababu sasa hii block-- 352 00:17:37,860 --> 00:17:42,050 taarifa jinsi hii "kama makali, bounce "ni aina ya binafsi zilizomo. 353 00:17:42,050 --> 00:17:43,704 Kwa hiyo mimi haja ya kurekebisha hii. 354 00:17:43,704 --> 00:17:44,870 Hebu kwenda mbele na kufanya hili. 355 00:17:44,870 --> 00:17:48,630 Napenda kujikwamua hii na kurudi nyuma ya awali wetu, zaidi ya makusudi 356 00:17:48,630 --> 00:17:49,870 utendaji. 357 00:17:49,870 --> 00:18:01,080 Hivyo "kama kugusa makali, kisha" Nataka kugeuka, kama Victoria mapendekezo, 358 00:18:01,080 --> 00:18:02,480 digrii 180. 359 00:18:02,480 --> 00:18:05,497 Na mimi nataka kucheza sauti "ouch" huko? 360 00:18:05,497 --> 00:18:11,800 361 00:18:11,800 --> 00:18:15,580 >> Yeah, taarifa ni nje kwamba kuzuia njano. 362 00:18:15,580 --> 00:18:17,680 Hivyo hii, pia, itakuwa mdudu, lakini nimekuwa niliona hiyo. 363 00:18:17,680 --> 00:18:21,290 Hivyo nina kwenda kwa Drag it up hapa, na taarifa ya sasa ni ndani ya "kama." 364 00:18:21,290 --> 00:18:24,250 Hivyo "ikiwa" aina hii ya kama Msamehevu mkono-kama 365 00:18:24,250 --> 00:18:26,260 kwamba kwenda tu kufanya nini ndani yake. 366 00:18:26,260 --> 00:18:30,216 Hivyo sasa kama mimi kuvuta nje katika hatari ya annoying-- 367 00:18:30,216 --> 00:18:32,860 368 00:18:32,860 --> 00:18:36,470 >> COMPUTER: Ouch, ouch, ouch. 369 00:18:36,470 --> 00:18:39,910 >> DAVID Malan: Na ni mapenzi tu kwenda juu ya milele. 370 00:18:39,910 --> 00:18:44,160 Sasa tu kuongeza kasi ya mambo hapa, napenda kwenda mbele na kufungua, 371 00:18:44,160 --> 00:18:50,460 hebu say-- napenda kwenda kwa baadhi ya ya mambo yangu mwenyewe kutoka darasani. 372 00:18:50,460 --> 00:18:53,000 373 00:18:53,000 --> 00:19:00,220 Na napenda kufungua, hebu sema, hii moja yaliyotolewa na mmoja wa wenzetu mafundisho 374 00:19:00,220 --> 00:19:01,500 miaka michache iliyopita. 375 00:19:01,500 --> 00:19:04,732 Hivyo baadhi yenu wanaweza kukumbuka mchezo huu kutoka yesteryear, 376 00:19:04,732 --> 00:19:05,940 na ni kweli ajabu. 377 00:19:05,940 --> 00:19:08,190 Hata ingawa sisi tumefanya rahisi ya mipango sasa hivi, 378 00:19:08,190 --> 00:19:09,980 hebu fikiria nini hii kweli inaonekana kama. 379 00:19:09,980 --> 00:19:10,650 Napenda kugonga kucheza. 380 00:19:10,650 --> 00:19:14,210 381 00:19:14,210 --> 00:19:18,980 >> Hivyo katika mchezo huu, tuna frog, na kwa kutumia mshale keys-- 382 00:19:18,980 --> 00:19:23,340 yeye anachukua hatua kubwa kuliko mimi remember-- Mimi kuwa na udhibiti juu frog hii. 383 00:19:23,340 --> 00:19:29,630 Na lengo ni kupata hela busy barabara bila ya mbio katika magari. 384 00:19:29,630 --> 00:19:34,735 Na hebu see-- kama mimi kwenda juu hapa, mimi kusubiri kwa ajili ya gogo na kitabu kwa. 385 00:19:34,735 --> 00:19:38,130 386 00:19:38,130 --> 00:19:39,274 Hii anahisi kama mdudu. 387 00:19:39,274 --> 00:19:42,240 388 00:19:42,240 --> 00:19:43,495 Hii ni aina ya mdudu. 389 00:19:43,495 --> 00:19:45,980 390 00:19:45,980 --> 00:19:46,480 Sawa. 391 00:19:46,480 --> 00:19:51,550 Mimi nina juu ya hii hapa, huko, na kisha kuweka 392 00:19:51,550 --> 00:19:54,100 kwenda mpaka kupata zote vyura usafi lily. 393 00:19:54,100 --> 00:19:55,920 Sasa hii ili kuangalia zote ngumu zaidi, 394 00:19:55,920 --> 00:19:57,840 lakini hebu kujaribu kuvunja hii chini kiakili 395 00:19:57,840 --> 00:20:00,040 na kwa maneno katika sehemu vitalu yake. 396 00:20:00,040 --> 00:20:03,910 Hivyo kuna pengine puzzle kipande kwamba hatujaona bado 397 00:20:03,910 --> 00:20:07,440 lakini hiyo ni kukabiliana na keystrokes, kwa mambo ya mimi kugonga kwenye keyboard. 398 00:20:07,440 --> 00:20:11,660 >> Hivyo pengine kuna baadhi ya aina ya kuzuia kwamba anasema, kama ufunguo sawa up, 399 00:20:11,660 --> 00:20:15,965 basi kufanya kitu kwa Scratch-- labda hoja hiyo hatua 10 kwa njia hii. 400 00:20:15,965 --> 00:20:20,240 Kama ufunguo chini ni taabu, hoja hatua 10 njia hii, au muhimu kushoto, hoja hatua 10 401 00:20:20,240 --> 00:20:21,710 njia hii, 10 hatua hiyo. 402 00:20:21,710 --> 00:20:23,644 Nimekuwa wazi akageuka paka katika frog. 403 00:20:23,644 --> 00:20:26,060 Hivyo hiyo ni tu ambapo Costume, kama Scratch wito it-- sisi 404 00:20:26,060 --> 00:20:28,440 tu kutoka nje picha ya frog. 405 00:20:28,440 --> 00:20:29,570 >> Lakini kile kingine kinachotokea? 406 00:20:29,570 --> 00:20:32,794 Nini mistari mingine ya kificho, nini vipande vingine puzzle 407 00:20:32,794 --> 00:20:35,460 alifanya Blake, mafundisho wenzetu, kutumia katika mpango huu, inaonekana? 408 00:20:35,460 --> 00:20:38,320 409 00:20:38,320 --> 00:20:42,730 Nini kufanya kila kitu move-- nini programu kujenga? 410 00:20:42,730 --> 00:20:44,950 >> Mwendo, sure-- hivyo hoja block, kwa uhakika. 411 00:20:44,950 --> 00:20:49,330 Na nini kwamba kuzuia hoja ndani ya, uwezekano mkubwa? 412 00:20:49,330 --> 00:20:52,850 Yeah, baadhi ya aina ya kitanzi, labda milele kuzuia, labda kurudia block-- 413 00:20:52,850 --> 00:20:54,070 kurudia mpaka block. 414 00:20:54,070 --> 00:20:57,330 Na kwamba ni nini kufanya magogo na usafi lily na kila kitu kingine hoja 415 00:20:57,330 --> 00:20:57,990 na kurudi. 416 00:20:57,990 --> 00:21:00,270 Ni kinatokea tu bila ukomo. 417 00:21:00,270 --> 00:21:03,180 >> Kwa nini baadhi ya magari kusonga kwa kasi zaidi kuliko wengine? 418 00:21:03,180 --> 00:21:06,607 Nini ni tofauti kuhusu programu hizo? 419 00:21:06,607 --> 00:21:09,690 Yeah, pengine baadhi yao ni kuchukua hatua zaidi kwa mara moja na baadhi yao 420 00:21:09,690 --> 00:21:10,690 hatua chache mara moja. 421 00:21:10,690 --> 00:21:14,670 Na athari za kuona ni haraka dhidi ya polepole. 422 00:21:14,670 --> 00:21:16,030 >> Je, unafikiri kilitokea? 423 00:21:16,030 --> 00:21:19,700 Nilipofika frog yangu njia yote hela mitaani na mto 424 00:21:19,700 --> 00:21:23,560 kwenye lily pedi, kitu vyema ijulikane kilichotokea. 425 00:21:23,560 --> 00:21:26,540 Ni nini kilichotokea kwa haraka kama mimi alifanya hivyo? 426 00:21:26,540 --> 00:21:27,210 Ni kusimamishwa. 427 00:21:27,210 --> 00:21:29,680 frog kwamba kusimamishwa, na I got frog pili. 428 00:21:29,680 --> 00:21:33,155 Hivyo kile lazima kujenga kutumika huko, nini kipengele? 429 00:21:33,155 --> 00:21:36,020 430 00:21:36,020 --> 00:21:38,660 >> Yeah, hivyo kuna aina fulani ya "Kama" hali ya juu huko, pia. 431 00:21:38,660 --> 00:21:41,909 Na ni zamu nje hatukuona Haya lakini kuna vitalu nyingine katika pale kwamba 432 00:21:41,909 --> 00:21:45,300 unaweza kusema, kama wewe ni kugusa jambo lingine juu ya screen, 433 00:21:45,300 --> 00:21:47,720 kama wewe ni kugusa pedi lily, "basi." 434 00:21:47,720 --> 00:21:50,810 Na kisha kwamba wakati sisi kufanya frog pili kuonekana. 435 00:21:50,810 --> 00:21:54,969 Hivyo hata ingawa mchezo huu ni hakika tarehe sana, ingawa katika mtazamo wa kwanza 436 00:21:54,969 --> 00:21:58,010 kuna mambo mengi kwenda on-- na Blake hakuwa mjeledi hii up katika dakika mbili, 437 00:21:58,010 --> 00:22:00,390 pengine kumpeleka kadhaa masaa kuunda mchezo huu 438 00:22:00,390 --> 00:22:03,850 msingi kumbukumbu au video zake ya toleo yesteryear ya yake. 439 00:22:03,850 --> 00:22:07,940 Lakini mambo yote haya kidogo kinachoendelea screen katika kutengwa 440 00:22:07,940 --> 00:22:11,550 jipu chini kwa hizi rahisi sana harakati constructs-- au kauli 441 00:22:11,550 --> 00:22:15,519 kama tumekuwa kujadiliwa, matanzi na masharti, na hiyo ni juu yake. 442 00:22:15,519 --> 00:22:17,060 Kuna wachache makala nyingine fancier. 443 00:22:17,060 --> 00:22:19,130 Baadhi yao ni rena aesthetic au acoustic, 444 00:22:19,130 --> 00:22:20,964 kama sauti I just alicheza na. 445 00:22:20,964 --> 00:22:23,380 Lakini kwa sehemu kubwa, wewe kuwa katika lugha hii, Scratch, 446 00:22:23,380 --> 00:22:25,350 yote ya msingi matofali ya ujenzi kwamba wewe 447 00:22:25,350 --> 00:22:29,280 kuwa katika C, Java, JavaScript, PHP, Ruby, Python, 448 00:22:29,280 --> 00:22:32,960 na idadi yoyote ya lugha nyingine. 449 00:22:32,960 --> 00:22:36,720 maswali yoyote kuhusu Scratch? 450 00:22:36,720 --> 00:22:37,220 Sawa. 451 00:22:37,220 --> 00:22:40,303 Hivyo sisi si kupiga mbizi katika undani kwa Scratch, ingawa wewe ni kuwakaribisha mwishoni mwa wiki hii, 452 00:22:40,303 --> 00:22:42,860 hasa kama una watoto au wapwa na wajukuu na vile, 453 00:22:42,860 --> 00:22:44,220 kuwasilisha kwao Scratch. 454 00:22:44,220 --> 00:22:47,960 Ni kweli ajabu playful mazingira na, kama waandishi wake kusema, 455 00:22:47,960 --> 00:22:49,120 juu sana dari. 456 00:22:49,120 --> 00:22:51,670 Hata ingawa sisi ilianza na sana ngazi ya chini maelezo, 457 00:22:51,670 --> 00:22:54,890 unaweza kweli kufanya kidogo kabisa na hayo, na hii ni labda 458 00:22:54,890 --> 00:22:57,360 maandamano ya hasa kwamba. 459 00:22:57,360 --> 00:23:02,920 >> Lakini hebu sasa mpito kwa baadhi ya zaidi matatizo ya kisasa, kama wewe, 460 00:23:02,920 --> 00:23:05,870 inayojulikana kama "kutafuta" na "Kuchagua," zaidi kwa ujumla. 461 00:23:05,870 --> 00:23:09,500 Tulikuwa na hii kitabu cha simu earlier-- hapa ni mwingine mmoja tu kwa discussion-- 462 00:23:09,500 --> 00:23:13,460 kwamba tulikuwa na uwezo wa kutafuta ufanisi zaidi kwa sababu 463 00:23:13,460 --> 00:23:15,270 ya dhana muhimu. 464 00:23:15,270 --> 00:23:17,655 Na tu kuwa wazi, nini Dhana ilikuwa ni mimi kufanya 465 00:23:17,655 --> 00:23:19,280 wakati wa kutafuta kupitia kitabu hiki simu? 466 00:23:19,280 --> 00:23:23,342 467 00:23:23,342 --> 00:23:25,300 Hiyo Mike Smith alikuwa katika kitabu cha simu, ingawa mimi 468 00:23:25,300 --> 00:23:27,410 itakuwa na uwezo wa kushughulikia scenario bila yeye 469 00:23:27,410 --> 00:23:30,720 kuna kama mimi tu kusimamishwa mapema. 470 00:23:30,720 --> 00:23:31,806 kitabu ni herufi. 471 00:23:31,806 --> 00:23:33,930 Na kwamba ni wakarimu sana Dhana, kwa sababu hiyo 472 00:23:33,930 --> 00:23:36,580 ina maana someone-- mimi nina aina ya kukata kona, 473 00:23:36,580 --> 00:23:40,580 kama mimi ni kwa kasi kwa sababu mtu mwingine alifanya mengi ya kazi ngumu kwa ajili yangu. 474 00:23:40,580 --> 00:23:43,120 >> Lakini nini kama simu kitabu walikuwa zisizochambuliwa? 475 00:23:43,120 --> 00:23:47,050 Labda Verizon got wavivu, tu kurusha majina ya kila mtu na namba katika huko 476 00:23:47,050 --> 00:23:50,120 labda katika utaratibu ambao wao saini kwa ajili ya huduma ya simu. 477 00:23:50,120 --> 00:23:54,570 Na ni kiasi gani wakati gani kuchukua me kupata mtu kama Mike Smith? 478 00:23:54,570 --> 00:23:58,160 1,000 ukurasa simu book-- wangapi kurasa kufanya nina kuangalia njia? 479 00:23:58,160 --> 00:23:58,905 >> Wote. 480 00:23:58,905 --> 00:24:00,030 Wewe ni aina ya nje ya bahati. 481 00:24:00,030 --> 00:24:03,420 You literally kuangalia kila ukurasa kama kitabu cha simu ni tu 482 00:24:03,420 --> 00:24:04,450 nasibu yamepangwa. 483 00:24:04,450 --> 00:24:06,910 Unaweza kupata bahati na kupata Mike katika ukurasa wa kwanza sana, kwa sababu yeye 484 00:24:06,910 --> 00:24:08,826 Ilikuwa mteja ya kwanza ili huduma ya simu. 485 00:24:08,826 --> 00:24:10,760 Lakini yeye anaweza kuwa mwisho, pia. 486 00:24:10,760 --> 00:24:12,500 >> Hivyo ili random si nzuri. 487 00:24:12,500 --> 00:24:16,750 Hivyo tuseme tuna kutatua kitabu cha simu au katika data ujumla aina 488 00:24:16,750 --> 00:24:18,520 kwamba sisi tumekuwa aliyopewa. 489 00:24:18,520 --> 00:24:19,440 Tunawezaje kufanya hivyo? 490 00:24:19,440 --> 00:24:21,360 >> Naam, napenda tu kujaribu mfano rahisi hapa. 491 00:24:21,360 --> 00:24:24,290 Hebu kwenda mbele na toss idadi chache juu ya bodi. 492 00:24:24,290 --> 00:24:35,480 Tuseme idadi tuna watu, hebu sema, nne, mbili, moja, na tatu. 493 00:24:35,480 --> 00:24:38,390 Na, Ben, kutatua namba hizi kwa ajili yetu. 494 00:24:38,390 --> 00:24:39,017 >> OK, vizuri. 495 00:24:39,017 --> 00:24:39,850 Jinsi gani unaweza kufanya hivyo? 496 00:24:39,850 --> 00:24:42,731 497 00:24:42,731 --> 00:24:43,230 Sawa. 498 00:24:43,230 --> 00:24:44,710 Hivyo kuanza na ndogo thamani na ya juu, 499 00:24:44,710 --> 00:24:46,084 na kwamba ni kweli nzuri Intuition. 500 00:24:46,084 --> 00:24:48,080 Na kutambua kwamba sisi binadamu ni kweli pretty 501 00:24:48,080 --> 00:24:49,913 nzuri katika kutatua matatizo kama hii, angalau 502 00:24:49,913 --> 00:24:51,810 wakati data ni ndogo. 503 00:24:51,810 --> 00:24:54,860 Haraka kama wewe kuanza kuwa na mamia ya idadi, maelfu ya namba, 504 00:24:54,860 --> 00:24:58,440 mamilioni ya idadi, Ben pengine hakuweza kufanya hivyo kabisa kwamba haraka, 505 00:24:58,440 --> 00:25:00,620 kuchukua kwamba kulikuwa na mapengo katika namba. 506 00:25:00,620 --> 00:25:03,450 Pretty rahisi kuhesabu hadi milioni vinginevyo, wakati tu ya kuteketeza. 507 00:25:03,450 --> 00:25:07,150 >> Hivyo algorithm ni sauti kama Ben kutumika tu sasa 508 00:25:07,150 --> 00:25:08,930 Ilikuwa search kwa idadi ndogo. 509 00:25:08,930 --> 00:25:12,900 Hivyo hata kama sisi binadamu wanaweza kuchukua katika mengi ya habari kuibua, 510 00:25:12,900 --> 00:25:14,830 kompyuta ni kweli zaidi kidogo mdogo. 511 00:25:14,830 --> 00:25:17,560 kompyuta Unaweza tu kuangalia Byte moja kwa wakati mmoja 512 00:25:17,560 --> 00:25:20,770 au labda ka nne katika time-- siku hizi labda 8 ka katika time-- 513 00:25:20,770 --> 00:25:24,450 lakini idadi ndogo sana ya ka wakati huo. 514 00:25:24,450 --> 00:25:28,480 >> Hivyo kutokana na kwamba sisi kweli kuwa maadili nne tofauti here-- 515 00:25:28,480 --> 00:25:32,440 na unaweza kufikiria Ben kama kuwa blinders juu kama angekuwa kompyuta kama 516 00:25:32,440 --> 00:25:36,450 kwamba hawezi kuuona kitu kingine chochote kuliko namba moja katika time-- 517 00:25:36,450 --> 00:25:39,720 hivyo sisi ujumla kudhani, kama katika Kiingereza, tutaweza kusoma kutoka kulia kwenda kushoto. 518 00:25:39,720 --> 00:25:42,870 Hivyo idadi ya kwanza Ben pengine inaonekana katika mara nne na kisha kwa haraka sana 519 00:25:42,870 --> 00:25:44,770 barabara hiyo ni pretty big number-- napenda kuendelea kutafuta. 520 00:25:44,770 --> 00:25:45,357 >> Kuna mawili. 521 00:25:45,357 --> 00:25:45,940 Subiri kidogo. 522 00:25:45,940 --> 00:25:47,070 Mbili ni ndogo kuliko nne. 523 00:25:47,070 --> 00:25:47,986 Mimi nina kwenda kukumbuka. 524 00:25:47,986 --> 00:25:49,070 Mbili ni sasa ndogo. 525 00:25:49,070 --> 00:25:50,417 Sasa one-- hiyo ni bora zaidi. 526 00:25:50,417 --> 00:25:51,250 Hiyo ni hata kidogo. 527 00:25:51,250 --> 00:25:54,000 Mimi nina kwenda kusahau kuhusu mbili na kumbuka tu moja sasa. 528 00:25:54,000 --> 00:25:56,550 >> Na hakuweza kuacha kuangalia? 529 00:25:56,550 --> 00:25:58,360 Naam, hakuweza msingi juu ya habari hii, 530 00:25:58,360 --> 00:26:00,477 lakini yeye d search bora mapumziko ya orodha. 531 00:26:00,477 --> 00:26:02,060 Kwa sababu nini kama zero walikuwa katika orodha? 532 00:26:02,060 --> 00:26:03,643 Nini kama hasi moja walikuwa katika orodha? 533 00:26:03,643 --> 00:26:07,720 Yeye tu anajua kwamba jibu lake ni sahihi kama yeye ni vyema 534 00:26:07,720 --> 00:26:08,729 kuchunguzwa orodha nzima. 535 00:26:08,729 --> 00:26:10,020 Hivyo sisi kuangalia wengine wa hii. 536 00:26:10,020 --> 00:26:11,394 Three-- kwamba ilikuwa ni kupoteza muda. 537 00:26:11,394 --> 00:26:13,540 Got unlucky, lakini mimi nilikuwa bado sahihi kufanya hivyo. 538 00:26:13,540 --> 00:26:17,857 Na hivyo sasa yeye labda kuchaguliwa idadi ndogo 539 00:26:17,857 --> 00:26:20,440 na tu ya kuweka katika mwanzo ya orodha, kama mimi itabidi kufanya hapa. 540 00:26:20,440 --> 00:26:23,480 Sasa mlifanya nini ijayo, ingawa wewe si kufikiri kuhusu hilo karibu 541 00:26:23,480 --> 00:26:25,962 kwa kiasi hiki? 542 00:26:25,962 --> 00:26:27,670 Kurudia utaratibu, hivyo baadhi ya aina ya kitanzi. 543 00:26:27,670 --> 00:26:28,920 Kuna wazo ukoo. 544 00:26:28,920 --> 00:26:30,860 Hivyo hapa ni nne. 545 00:26:30,860 --> 00:26:32,110 Hiyo ni kwa sasa ndogo. 546 00:26:32,110 --> 00:26:33,220 Hiyo ni mgombea. 547 00:26:33,220 --> 00:26:33,900 Sivyo tena. 548 00:26:33,900 --> 00:26:34,770 Sasa nimeona mbili. 549 00:26:34,770 --> 00:26:36,630 Hiyo ni kipengele ijayo ndogo. 550 00:26:36,630 --> 00:26:40,800 Three-- si kwamba ndogo, hivyo sasa Ben unaweza kuyang'oa mbili. 551 00:26:40,800 --> 00:26:44,510 >> Na sasa sisi kurudia utaratibu, na bila shaka tatu anapata vunjwa nje ijayo. 552 00:26:44,510 --> 00:26:45,420 Kurudia utaratibu. 553 00:26:45,420 --> 00:26:46,990 Nne anapata vunjwa nje. 554 00:26:46,990 --> 00:26:50,140 Na sasa tuko nje ya namba, hivyo orodha lazima kutatuliwa. 555 00:26:50,140 --> 00:26:51,960 >> Na hakika, hii ni algorithm rasmi. 556 00:26:51,960 --> 00:26:56,610 mwanasayansi kompyuta ingekuwa wito huu "uteuzi aina," 557 00:26:56,610 --> 00:27:00,880 Wazo kuwa aina a orodha iteratively-- tena 558 00:27:00,880 --> 00:27:03,807 na tena na tena kuchagua idadi ndogo. 559 00:27:03,807 --> 00:27:06,140 Na nini ni nzuri juu yake ni ni tu hivyo darn Intuitive. 560 00:27:06,140 --> 00:27:07,470 Ni rahisi hivyo. 561 00:27:07,470 --> 00:27:11,100 Na unaweza kurudia huo operesheni tena na tena. 562 00:27:11,100 --> 00:27:12,150 Ni rahisi. 563 00:27:12,150 --> 00:27:17,170 >> Katika kesi hiyo ilikuwa ni ya haraka, lakini muda gani kweli kuchukua? 564 00:27:17,170 --> 00:27:19,880 Hebu kufanya hivyo kuonekana na kujisikia kidogo zaidi tedious. 565 00:27:19,880 --> 00:27:24,150 Hivyo moja, mbili, tatu, nne, tano na sita, saba, nane, tisa, 10, 11, 12, 13, 14, 566 00:27:24,150 --> 00:27:26,160 15, 16-- idadi holela. 567 00:27:26,160 --> 00:27:28,780 Mimi nilitaka huu zaidi muda kuliko tu minne. 568 00:27:28,780 --> 00:27:30,780 Hivyo kama mimi nimepata nzima rundo la idadi now-- ni 569 00:27:30,780 --> 00:27:32,420 haina hata jambo wanayo are-- ya basi 570 00:27:32,420 --> 00:27:34,380 fikiria yale ambayo algorithm kweli ni kama. 571 00:27:34,380 --> 00:27:35,857 >> Tuseme kuna idadi huko. 572 00:27:35,857 --> 00:27:38,190 Tena, haijalishi nini wao, lakini wao uko random. 573 00:27:38,190 --> 00:27:39,679 Ninaomba algorithm Ben. 574 00:27:39,679 --> 00:27:41,220 Mimi haja ya kuchagua idadi ndogo. 575 00:27:41,220 --> 00:27:41,761 Nifanyeje? 576 00:27:41,761 --> 00:27:44,240 Na mimi nina kwenda kwa kimwili kufanya hivyo wakati huu kutenda nje. 577 00:27:44,240 --> 00:27:46,099 Kuangalia, kuangalia, kuangalia, kuangalia, kuangalia. 578 00:27:46,099 --> 00:27:48,140 Tu kwa wakati mimi kupata mwisho wa orodha Unaweza 579 00:27:48,140 --> 00:27:51,230 Mimi kutambua ndogo idadi mara mbili wakati huu. 580 00:27:51,230 --> 00:27:52,720 Moja siyo katika orodha. 581 00:27:52,720 --> 00:27:54,400 Hivyo mimi kuweka chini mbili. 582 00:27:54,400 --> 00:27:55,590 >> Je, nini baada ya hapo? 583 00:27:55,590 --> 00:27:58,600 Kuangalia, kuangalia, kuangalia, kuangalia. 584 00:27:58,600 --> 00:28:02,250 Sasa nimeona namba saba, kwa sababu kuna mapengo katika numbers-- hizi 585 00:28:02,250 --> 00:28:03,300 lakini tu kiholela. 586 00:28:03,300 --> 00:28:03,800 Sawa. 587 00:28:03,800 --> 00:28:06,030 Hivyo sasa siwezi kuweka chini saba. 588 00:28:06,030 --> 00:28:08,860 Kuangalia kuangalia, kuangalia. 589 00:28:08,860 --> 00:28:11,030 >> Sasa mimi nina kuchukua, ya Bila shaka, kwamba Ben hana 590 00:28:11,030 --> 00:28:14,780 na RAM ziada, ziada kumbukumbu, kwa sababu, bila shaka, 591 00:28:14,780 --> 00:28:16,080 Mimi nina kuangalia idadi sawa. 592 00:28:16,080 --> 00:28:18,246 Hakika mimi naweza kuwa ikumbukwe yote ya namba hizo, 593 00:28:18,246 --> 00:28:19,930 na hiyo ni kweli kabisa. 594 00:28:19,930 --> 00:28:22,610 Lakini kama Ben anakumbuka zote ya idadi yeye kuonekana, 595 00:28:22,610 --> 00:28:24,430 yeye si kweli alifanya maendeleo ya msingi 596 00:28:24,430 --> 00:28:26,170 kwa sababu yeye tayari ana uwezo wa kutafuta 597 00:28:26,170 --> 00:28:27,540 kupitia namba kwenye bodi. 598 00:28:27,540 --> 00:28:29,373 Kukumbuka yote ya idadi hana msaada, 599 00:28:29,373 --> 00:28:32,490 kwa sababu yeye bado anaweza kama kompyuta tu kuangalia, tumekuwa alisema, namba moja 600 00:28:32,490 --> 00:28:33,080 kwa wakati. 601 00:28:33,080 --> 00:28:35,760 Hivyo hakuna aina ya kudanganya pale kwamba unaweza kujiinua. 602 00:28:35,760 --> 00:28:39,170 >> Hivyo katika hali halisi, kama mimi kuweka kutafuta orodha, 603 00:28:39,170 --> 00:28:44,200 I literally kuwa na kushika tu kwenda na kurudi kwa njia hiyo, kukwanyua nje 604 00:28:44,200 --> 00:28:45,710 idadi ya pili ndogo. 605 00:28:45,710 --> 00:28:48,810 Na kama unaweza aina ya infer kutoka harakati yangu silly, 606 00:28:48,810 --> 00:28:50,860 hii anapata tu sana tedious haraka sana, 607 00:28:50,860 --> 00:28:54,850 na mimi wanaonekana kuwa kwenda nyuma na nje, na kurudi kidogo kabisa. 608 00:28:54,850 --> 00:29:03,220 Sasa kuwa wa haki, sina ya kwenda kabisa kama, vizuri, hebu see-- kuwa wa haki, 609 00:29:03,220 --> 00:29:06,310 Sina kutembea kabisa hatua kama wengi kila wakati. 610 00:29:06,310 --> 00:29:09,200 Kwa sababu, bila shaka, kama mimi kuchagua idadi kutoka orodha, 611 00:29:09,200 --> 00:29:11,860 orodha iliyobaki ni kupata mfupi. 612 00:29:11,860 --> 00:29:14,240 >> Na hivyo hebu fikiria kuhusu jinsi hatua nyingi mimi nina kweli 613 00:29:14,240 --> 00:29:16,010 traipsing kwa njia ya kila wakati. 614 00:29:16,010 --> 00:29:18,950 Katika hali ya kwanza kabisa tulikuwa na idadi 16, 615 00:29:18,950 --> 00:29:22,210 na hivyo maximally-- hebu tu kufanya hivyo kwa discussion-- 616 00:29:22,210 --> 00:29:25,640 Mimi nilikuwa na kuangalia kwa njia ya 16 idadi kupata ndogo. 617 00:29:25,640 --> 00:29:28,420 Lakini mara moja mimi kumpokonya nje idadi ndogo, jinsi 618 00:29:28,420 --> 00:29:30,590 muda mrefu alikuwa orodha iliyobaki, bila shaka? 619 00:29:30,590 --> 00:29:31,420 15 tu. 620 00:29:31,420 --> 00:29:34,670 Hivyo ni jinsi wengi idadi alivyofanya Ben au nina kuangalia njia wakati wa marudiano? 621 00:29:34,670 --> 00:29:36,832 15, tu kwenda na kupata ndogo. 622 00:29:36,832 --> 00:29:39,540 Lakini sasa, bila shaka, orodha ni, pia, ndogo kuliko ilivyokuwa kabla. 623 00:29:39,540 --> 00:29:42,540 Hivyo hatua ngapi alifanya mimi Una kuchukua wakati mwingine? 624 00:29:42,540 --> 00:29:49,970 14 na kisha 13 na kisha 12, plus dot, dot, dot, hata mimi nina kushoto na moja tu. 625 00:29:49,970 --> 00:29:53,146 Hivyo sasa kompyuta mwanasayansi ingekuwa kuuliza, vizuri, ni nini kwamba wote ni sawa? 626 00:29:53,146 --> 00:29:55,770 Ni kweli ni sawa na baadhi ya saruji idadi hiyo tunaweza hakika 627 00:29:55,770 --> 00:30:00,490 kufanya hesabu, lakini tunataka kuzungumza kuhusu ufanisi wa algorithms 628 00:30:00,490 --> 00:30:04,940 kidogo formulaically zaidi, huru ya muda gani orodha ni. 629 00:30:04,940 --> 00:30:06,240 >> Na hivyo unajua nini? 630 00:30:06,240 --> 00:30:09,860 Hii ni 16, lakini kama nilivyosema hapo kabla, hebu tu kuiita ukubwa wa tatizo 631 00:30:09,860 --> 00:30:10,970 n, ambapo n ni idadi fulani. 632 00:30:10,970 --> 00:30:13,220 Labda ni 16, labda ni tatu, labda ni milioni. 633 00:30:13,220 --> 00:30:13,761 Sijui. 634 00:30:13,761 --> 00:30:14,390 Sijali. 635 00:30:14,390 --> 00:30:16,520 Nini kweli mimi nataka ni formula kwamba naweza 636 00:30:16,520 --> 00:30:19,420 kutumia kulinganisha algorithm hii dhidi ya algorithms mengine 637 00:30:19,420 --> 00:30:22,350 kwamba mtu anaweza kudai ni bora au mbaya. 638 00:30:22,350 --> 00:30:25,430 >> Hivyo ni zamu nje, na mimi tu najua hili kutoka shule ya daraja, 639 00:30:25,430 --> 00:30:34,790 kwamba hii kweli kazi nje kwa moja Jambo kama n juu ya n pamoja na moja juu ya mbili. 640 00:30:34,790 --> 00:30:40,020 Na hii hufanyika kwa sawa, ya Bila shaka, n squared pamoja n zaidi ya miaka miwili. 641 00:30:40,020 --> 00:30:43,250 Hivyo kama nilitaka formula kwa hatua jinsi wengi 642 00:30:43,250 --> 00:30:46,330 walihusika katika kuangalia wakati wote ya idadi ya wale tena na tena 643 00:30:46,330 --> 00:30:52,681 na tena na tena, napenda kusema ni n squared pamoja n zaidi ya miaka miwili. 644 00:30:52,681 --> 00:30:53,430 Lakini unajua nini? 645 00:30:53,430 --> 00:30:54,500 Hii tu inaonekana messy. 646 00:30:54,500 --> 00:30:56,470 I just kweli unataka ujumla hali ya mambo. 647 00:30:56,470 --> 00:30:58,810 Na unaweza kukumbuka kutoka shule ya sekondari kwamba kuna 648 00:30:58,810 --> 00:31:00,660 ni dhana ya hali ya juu mrefu. 649 00:31:00,660 --> 00:31:05,300 Ni yupi kati ya sheria hizi, n mraba, n, au nusu, 650 00:31:05,300 --> 00:31:07,550 ina athari zaidi baada ya muda? 651 00:31:07,550 --> 00:31:11,920 n kubwa anapata, ambayo wa mambo haya zaidi? 652 00:31:11,920 --> 00:31:15,560 >> Kwa maneno mengine, kama mimi kuziba katika milioni, n squared 653 00:31:15,560 --> 00:31:17,900 ni kwenda kuwa na uwezo mkubwa dominating sababu, 654 00:31:17,900 --> 00:31:21,670 kwa sababu mara milioni yenyewe ni mengi kubwa 655 00:31:21,670 --> 00:31:23,682 kuliko plus milioni moja ya ziada. 656 00:31:23,682 --> 00:31:24,390 Hivyo unajua nini? 657 00:31:24,390 --> 00:31:27,305 Hii ni kama darn kubwa idadi kama wewe mraba idadi. 658 00:31:27,305 --> 00:31:28,430 Hii haina kweli jambo. 659 00:31:28,430 --> 00:31:30,596 Sisi ni kwenda tu msalaba kwamba nje na kusahau kuhusu hilo. 660 00:31:30,596 --> 00:31:34,250 Na hivyo kompyuta mwanasayansi kusema kwamba ufanisi wa algorithm hii 661 00:31:34,250 --> 00:31:37,850 ni juu ya utaratibu wa n squared-- I mean kweli makadirio. 662 00:31:37,850 --> 00:31:40,810 Ni aina ya takribani n squared. 663 00:31:40,810 --> 00:31:44,130 Baada ya muda, kubwa na kubwa zaidi n anapata, hii 664 00:31:44,130 --> 00:31:47,610 ni kukadiria nzuri kwa nini ufanisi au ukosefu wa ufanisi 665 00:31:47,610 --> 00:31:49,400 ya algorithm hii kwa kweli ni. 666 00:31:49,400 --> 00:31:52,040 Na mimi hupata kwamba, bila shaka, kutoka kweli kufanya math. 667 00:31:52,040 --> 00:31:54,040 Lakini sasa mimi nina akipunga tu mikono yangu, kwa sababu mimi tu 668 00:31:54,040 --> 00:31:55,790 wanataka maana ya jumla ya algorithm hii. 669 00:31:55,790 --> 00:31:58,850 >> Hivyo kwa kutumia mantiki hiyo, wakati huo huo, hebu fikiria algorithm mwingine 670 00:31:58,850 --> 00:32:01,162 sisi tayari inaonekana at-- search linear. 671 00:32:01,162 --> 00:32:02,870 Nilipokuwa kutafuta kwa book-- simu 672 00:32:02,870 --> 00:32:05,980 si kuchagua ni, kutafuta kupitia book-- simu 673 00:32:05,980 --> 00:32:09,197 sisi naendelea kusema kuwa ilikuwa ni hatua 1,000, au hatua 500. 674 00:32:09,197 --> 00:32:10,280 Lakini hebu kujumlisha hiyo. 675 00:32:10,280 --> 00:32:12,860 Kama kuna kurasa n katika kitabu cha simu, nini 676 00:32:12,860 --> 00:32:17,250 wakati mbio au ufanisi wa tafuta linear? 677 00:32:17,250 --> 00:32:19,750 Ni juu ya utaratibu wa jinsi hatua nyingi ili kupata 678 00:32:19,750 --> 00:32:24,210 Mike Smith kutumia search linear, algorithm kwanza, au hata ya pili? 679 00:32:24,210 --> 00:32:27,240 680 00:32:27,240 --> 00:32:31,710 >> Katika hali mbaya zaidi, Mike ni mwishoni mwa kitabu. 681 00:32:31,710 --> 00:32:35,590 Hivyo kama kitabu cha simu ina kurasa 1,000, tulivyosema mara ya mwisho, katika kesi mbaya, 682 00:32:35,590 --> 00:32:38,380 inaweza kuchukua takribani kiasi kurasa nyingi kupata Mike? 683 00:32:38,380 --> 00:32:38,990 Kama 1,000. 684 00:32:38,990 --> 00:32:39,830 Ni amefungwa juu. 685 00:32:39,830 --> 00:32:41,790 Ni hali mbaya iwezekanavyo. 686 00:32:41,790 --> 00:32:44,410 Lakini tena, sisi ni kusonga mbali kutoka idadi kama 1,000 sasa. 687 00:32:44,410 --> 00:32:45,730 Ni tu n. 688 00:32:45,730 --> 00:32:47,470 >> Basi nini mantiki hitimisho? 689 00:32:47,470 --> 00:32:50,210 Kutafuta Mike katika simu kitabu ambayo ina kurasa n 690 00:32:50,210 --> 00:32:55,280 inaweza kuchukua, katika kesi mbaya sana, jinsi hatua juu ya utaratibu wa n wengi? 691 00:32:55,280 --> 00:32:58,110 Na hakika kompyuta mwanasayansi kusema 692 00:32:58,110 --> 00:33:02,340 kwamba wakati mbio, au utendaji au ufanisi 693 00:33:02,340 --> 00:33:07,470 au uzembe, wa algorithm kama tafuta linear ni juu ya utaratibu wa n. 694 00:33:07,470 --> 00:33:10,010 Na tunaweza kuomba sawa mantiki ya kuvuka kitu nje 695 00:33:10,010 --> 00:33:13,170 kama mimi tu alifanya kwa pili algorithm tulikuwa na kitabu cha simu, 696 00:33:13,170 --> 00:33:16,040 ambapo tulikwenda kurasa mbili kwa wakati. 697 00:33:16,040 --> 00:33:20,120 >> Hivyo 1,000 ukurasa simu kitabu nguvu kutupeleka 500 ukurasa zamu, pamoja na moja 698 00:33:20,120 --> 00:33:21,910 kama sisi mara mbili nyuma kidogo. 699 00:33:21,910 --> 00:33:26,590 Hivyo kama kitabu cha simu ina kurasa n, lakini tuko kufanya kurasa mbili kwa wakati mmoja, 700 00:33:26,590 --> 00:33:28,900 hiyo ni takribani nini? 701 00:33:28,900 --> 00:33:33,190 N zaidi ya miaka miwili, hivyo hiyo ni kama n zaidi ya miaka miwili. 702 00:33:33,190 --> 00:33:38,490 Lakini mimi alifanya dai a wakati iliyopita kwamba n juu ya two-- 703 00:33:38,490 --> 00:33:41,060 hiyo ni aina ya sawa na n tu. 704 00:33:41,060 --> 00:33:44,050 Ni tu sababu mara kwa mara, kompyuta wanasayansi kusema. 705 00:33:44,050 --> 00:33:45,970 Hebu tu kulenga katika vigezo, really-- 706 00:33:45,970 --> 00:33:47,780 vigezo kubwa katika equation. 707 00:33:47,780 --> 00:33:52,530 >> search hivyo linear, iwe amefanya moja ukurasa wakati au kurasa mbili kwa wakati, 708 00:33:52,530 --> 00:33:54,810 ni aina ya kimsingi sawa. 709 00:33:54,810 --> 00:33:56,880 Bado ni juu ya utaratibu wa n. 710 00:33:56,880 --> 00:34:01,930 Lakini mimi alidai na picha yangu mapema kwamba algorithm tatu ilikuwa si 711 00:34:01,930 --> 00:34:02,480 linear. 712 00:34:02,480 --> 00:34:03,605 Haikuwa mstari sawa. 713 00:34:03,605 --> 00:34:08,659 Ilikuwa ni kwamba line curved, na kimahesabu formula kulikuwa na nini? 714 00:34:08,659 --> 00:34:11,812 Log ya n-- hivyo kuingia msingi mbili za n. 715 00:34:11,812 --> 00:34:14,520 Na hatuna kwenda katika mno habari nyingi juu ya logarithms leo, 716 00:34:14,520 --> 00:34:17,394 lakini wengi wanasayansi wa kompyuta bila hata kukuambia nini msingi ni. 717 00:34:17,394 --> 00:34:20,639 Kwa sababu ni wote tu mambo mara kwa mara, hivyo kusema, 718 00:34:20,639 --> 00:34:22,659 tu kidogo numeric tofauti. 719 00:34:22,659 --> 00:34:31,179 Na hivyo hii itakuwa ni ya kawaida sana njia kwa ajili ya kompyuta hasa rasmi 720 00:34:31,179 --> 00:34:33,949 wanasayansi katika bodi au programmers katika bodi nyeupe 721 00:34:33,949 --> 00:34:36,889 kweli akisema ambayo algorithm wangeweza kutumia 722 00:34:36,889 --> 00:34:39,500 au nini ufanisi ya algorithm yao ni. 723 00:34:39,500 --> 00:34:42,960 >> Na hii ni si lazima kitu wewe kujadili kwa kina yoyote kubwa, 724 00:34:42,960 --> 00:34:47,889 lakini programu nzuri ni mtu ambaye ana imara, rasmi background. 725 00:34:47,889 --> 00:34:50,120 Yeye ni uwezo wa kuzungumza na wewe katika aina hii ya njia 726 00:34:50,120 --> 00:34:53,350 na kwa kweli kufanya hoja ya ubora kama 727 00:34:53,350 --> 00:34:56,870 kwa nini moja algorithm au kipande kimoja cha programu 728 00:34:56,870 --> 00:35:00,165 ni bora kuliko katika baadhi ya njia ya mwingine. 729 00:35:00,165 --> 00:35:02,540 Kwa sababu wewe alivyoweza shaka kukimbia tu mpango ya mtu mmoja 730 00:35:02,540 --> 00:35:04,980 na kuhesabu idadi ya sekunde inachukua kutatua idadi ya baadhi, 731 00:35:04,980 --> 00:35:06,710 na unaweza kuendesha baadhi mpango wa mtu mwingine 732 00:35:06,710 --> 00:35:08,418 na kuhesabu idadi la sekunde inachukua. 733 00:35:08,418 --> 00:35:12,840 Lakini hii ni njia zaidi ya jumla kwamba unaweza kutumia ili kuchambua algorithms, 734 00:35:12,840 --> 00:35:15,520 kama wewe, tu juu ya karatasi au tu kwa maneno. 735 00:35:15,520 --> 00:35:18,430 Bila hata mbio, bila hata kujaribu pembejeo sampuli, 736 00:35:18,430 --> 00:35:20,180 unaweza tu kujiuliza kwa njia hiyo. 737 00:35:20,180 --> 00:35:24,670 Na hivyo na kukodisha developer au kama kuwa kwake aina ya wanasema na wewe 738 00:35:24,670 --> 00:35:28,460 kwa nini algorithm zao, siri yao mchuzi kwa ajili ya kutafuta mabilioni 739 00:35:28,460 --> 00:35:30,580 ya kurasa za mtandao kwa ajili yako Kampuni hiyo ni bora, hao 740 00:35:30,580 --> 00:35:33,302 ni aina ya hoja wao lazima walau kuwa na uwezo wa kufanya. 741 00:35:33,302 --> 00:35:35,010 Au angalau hizi ni aina ya mambo 742 00:35:35,010 --> 00:35:40,211 kwamba atakuja up katika majadiliano, kwenye angalau katika majadiliano rasmi sana. 743 00:35:40,211 --> 00:35:40,710 Sawa. 744 00:35:40,710 --> 00:35:44,400 Hivyo Ben mapendekezo kitu aitwaye uteuzi aina. 745 00:35:44,400 --> 00:35:48,200 Lakini mimi nina kwenda kupendekeza kwamba kuna njia nyingine ya kufanya hivyo, pia. 746 00:35:48,200 --> 00:35:50,400 Nini mimi si kweli kama kuhusu algorithm Ben 747 00:35:50,400 --> 00:35:54,400 ni kwamba yeye naendelea kutembea, au baada me kutembea, na kurudi 748 00:35:54,400 --> 00:35:56,930 na kurudi na na kurudi. 749 00:35:56,930 --> 00:36:04,130 Nini kama badala ningekuwa na kufanya kitu kama namba hizi hapa 750 00:36:04,130 --> 00:36:08,200 na ningekuwa na kushughulika tu na kila idadi kwa upande kama mimi nina kupewa hilo? 751 00:36:08,200 --> 00:36:10,780 >> Kwa maneno mengine, hapa ni orodha yangu ya namba. 752 00:36:10,780 --> 00:36:12,944 Nne, moja, tatu, mbili. 753 00:36:12,944 --> 00:36:14,360 Na mimi nina kwenda kufanya yafuatayo. 754 00:36:14,360 --> 00:36:17,230 Mimi nina kwenda kuingiza namba ambapo wao ni badala 755 00:36:17,230 --> 00:36:18,980 kuliko kuchagua yao moja kwa wakati. 756 00:36:18,980 --> 00:36:20,820 Kwa maneno mengine, hapa ni namba nne. 757 00:36:20,820 --> 00:36:22,430 >> Hapa ni orodha yangu ya awali. 758 00:36:22,430 --> 00:36:25,290 Na mimi nina kwenda kudumisha kimsingi orodha mpya hapa. 759 00:36:25,290 --> 00:36:26,710 Hivyo hii ni orodha ya zamani. 760 00:36:26,710 --> 00:36:28,560 Hii ni orodha mpya. 761 00:36:28,560 --> 00:36:30,220 Mimi naona namba nne ya kwanza. 762 00:36:30,220 --> 00:36:34,500 Orodha yangu mpya ni awali tupu, hivyo ni trivially kesi 763 00:36:34,500 --> 00:36:36,410 kwamba nne sasa assorted orodha. 764 00:36:36,410 --> 00:36:39,560 Mimi tu kuchukua idadi mimi nina kutolewa, na mimi nina kuweka katika orodha yangu mpya. 765 00:36:39,560 --> 00:36:41,460 >> Ni orodha hii mpya yamepangwa? 766 00:36:41,460 --> 00:36:41,990 Yeah. 767 00:36:41,990 --> 00:36:45,090 Ni kijinga kwa sababu kuna moja tu kipengele, lakini ni kabisa yamepangwa. 768 00:36:45,090 --> 00:36:46,390 Kuna kitu nje ya mahali. 769 00:36:46,390 --> 00:36:49,290 Ni jambo la kushangaza zaidi, algorithm hii, wakati mimi hoja na hatua inayofuata. 770 00:36:49,290 --> 00:36:50,550 >> Sasa nina moja. 771 00:36:50,550 --> 00:36:55,430 Hivyo moja, bila shaka, ni mali katika mwanzo au mwisho wa orodha hii mpya? 772 00:36:55,430 --> 00:36:56,360 Mwanzo. 773 00:36:56,360 --> 00:36:58,530 Hivyo nina kufanya baadhi ya kazi sasa. 774 00:36:58,530 --> 00:37:01,410 Nimekuwa kuchukua baadhi uhuru na marker yangu 775 00:37:01,410 --> 00:37:03,120 kwa kuchora tu mambo ambapo nataka yao, 776 00:37:03,120 --> 00:37:05,320 lakini kwamba si kweli sahihi katika kompyuta. 777 00:37:05,320 --> 00:37:08,530 kompyuta, kama sisi kujua, ina RAM, au Random Access Memory, 778 00:37:08,530 --> 00:37:12,411 na hiyo ni byte moja na mwingine Byte na Byte mwingine. 779 00:37:12,411 --> 00:37:14,910 Na kama una gigabyte ya RAM, una ka bilioni, 780 00:37:14,910 --> 00:37:16,680 lakini wao ni kimwili katika eneo moja. 781 00:37:16,680 --> 00:37:19,540 Huwezi tu hoja mambo kuzunguka kwa kuchora juu ya bodi 782 00:37:19,540 --> 00:37:20,750 popote unataka. 783 00:37:20,750 --> 00:37:24,090 Hivyo kama orodha yangu mpya ina maeneo ya nne katika kumbukumbu, 784 00:37:24,090 --> 00:37:27,480 kwa bahati mbaya nne ni tayari katika mahali sahihi. 785 00:37:27,480 --> 00:37:30,410 >> Hivyo kuingiza namba moja Siwezi tu kuteka ni hapa. 786 00:37:30,410 --> 00:37:31,901 Hii eneo ya kumbukumbu haipo. 787 00:37:31,901 --> 00:37:35,150 Hiyo itakuwa cheating, na nimekuwa kudanganya pictorially kwa dakika chache 788 00:37:35,150 --> 00:37:35,800 hapa. 789 00:37:35,800 --> 00:37:40,950 Hivyo kweli, kama nataka kuweka moja hapa, Mimi kuwa na nakala kwa muda nne 790 00:37:40,950 --> 00:37:43,030 na kisha kuweka moja huko. 791 00:37:43,030 --> 00:37:45,500 >> Hiyo ni sawa, hiyo ni sahihi, hiyo ni kitaalam inawezekana, 792 00:37:45,500 --> 00:37:48,410 lakini kutambua kwamba kazi ya ziada. 793 00:37:48,410 --> 00:37:50,460 Sikuwa tu ya kuweka idadi katika mahali. 794 00:37:50,460 --> 00:37:53,026 Mimi kwanza alikuwa na hoja namba, kisha kuiweka katika nafasi, 795 00:37:53,026 --> 00:37:54,650 hivyo mimi aina ya mara mbili ya kiasi yangu ya kazi. 796 00:37:54,650 --> 00:37:55,660 Hivyo kuendelea kuwa katika akili. 797 00:37:55,660 --> 00:37:57,120 >> Lakini mimi nina sasa kufanyika na hii kipengele. 798 00:37:57,120 --> 00:37:59,056 Sasa nataka kunyakua namba tatu. 799 00:37:59,056 --> 00:38:00,430 Ambapo, bila shaka, je, ni mali? 800 00:38:00,430 --> 00:38:01,480 Katikati. 801 00:38:01,480 --> 00:38:03,650 Siwezi kudanganya tena na tu kuiweka huko, 802 00:38:03,650 --> 00:38:06,770 kwa sababu, tena, hii kumbukumbu ni katika maeneo ya kimwili. 803 00:38:06,770 --> 00:38:10,900 Hivyo nina nakala nne na kuweka tatu zaidi ya hapa. 804 00:38:10,900 --> 00:38:11,550 Si mpango kubwa. 805 00:38:11,550 --> 00:38:14,610 Ni hatua moja tu ya ziada again-- anahisi ghali sana. 806 00:38:14,610 --> 00:38:16,445 >> Lakini sasa mimi hoja juu ya mbili. 807 00:38:16,445 --> 00:38:17,820 mbili, bila shaka, ni mali hapa. 808 00:38:17,820 --> 00:38:20,990 Sasa kuanza kuona jinsi kazi inaweza rundo up. 809 00:38:20,990 --> 00:38:23,520 Sasa nini mimi kufanya? 810 00:38:23,520 --> 00:38:28,570 Yeah, mimi na hoja nne, Mimi kisha kuwa na nakala tatu, 811 00:38:28,570 --> 00:38:31,200 na sasa siwezi kuingiza mbili. 812 00:38:31,200 --> 00:38:34,460 Na kukamata na hii algorithm, Inafurahisha kutosha, 813 00:38:34,460 --> 00:38:41,050 ni kudhani tuna zaidi uliokithiri kesi ambapo ni hebu sema nane, saba, 814 00:38:41,050 --> 00:38:45,150 sita, tano, nne, tatu, mbili, moja. 815 00:38:45,150 --> 00:38:49,450 Hii ni, katika hali nyingi, mbaya zaidi kesi, 816 00:38:49,450 --> 00:38:51,570 kwa sababu jambo darn ni literally nyuma. 817 00:38:51,570 --> 00:38:53,670 >> Ni kweli haina kuathiri algorithm Ben, 818 00:38:53,670 --> 00:38:55,940 kwa sababu katika uteuzi Ben aina yeye kwenda kuweka 819 00:38:55,940 --> 00:38:58,359 kwenda na kurudi kupitia orodha. 820 00:38:58,359 --> 00:39:01,150 Na kwa sababu alikuwa daima kuangalia kupitia orodha nzima iliyobaki, 821 00:39:01,150 --> 00:39:02,858 haijalishi ambapo mambo ni. 822 00:39:02,858 --> 00:39:05,630 Lakini katika kesi hii kwa inserting yangu approach-- hebu jaribu hii. 823 00:39:05,630 --> 00:39:08,616 >> Hivyo moja, mbili, tatu, nne, tano, sita, saba, nane. 824 00:39:08,616 --> 00:39:11,630 Moja mbili tatu nne, tano, sita, saba, nane. 825 00:39:11,630 --> 00:39:14,320 Mimi naenda kuchukua nane, na wapi mimi kuweka yake? 826 00:39:14,320 --> 00:39:17,260 Naam, katika mwanzo wa orodha yangu, kwa sababu orodha hii mpya ni Iliyopangwa. 827 00:39:17,260 --> 00:39:18,760 Na mimi kuvuka nje. 828 00:39:18,760 --> 00:39:20,551 >> Wapi mimi kuweka saba? 829 00:39:20,551 --> 00:39:21,050 Darn yake. 830 00:39:21,050 --> 00:39:23,174 Inahitaji kwenda huko, ili Nina kufanya baadhi kuiga. 831 00:39:23,174 --> 00:39:26,820 832 00:39:26,820 --> 00:39:28,480 Na sasa saba huenda hapa. 833 00:39:28,480 --> 00:39:29,860 Sasa mimi hoja juu ya sita. 834 00:39:29,860 --> 00:39:30,980 Sasa ni kazi hata zaidi. 835 00:39:30,980 --> 00:39:32,570 >> Nane ana kwenda hapa. 836 00:39:32,570 --> 00:39:33,920 Saba ina kwenda hapa. 837 00:39:33,920 --> 00:39:35,450 Sasa sita wanaweza kwenda hapa. 838 00:39:35,450 --> 00:39:37,950 Sasa mimi kunyakua tano. 839 00:39:37,950 --> 00:39:40,560 Sasa nane ana kwenda hapa, saba ina kwenda hapa, 840 00:39:40,560 --> 00:39:43,650 sita ina kwenda hapa, na sasa tano na kurudia. 841 00:39:43,650 --> 00:39:46,610 Na mimi nina pretty much kusonga ni mara kwa mara. 842 00:39:46,610 --> 00:39:52,950 >> Hivyo mwisho, algorithm hii tutaweza kuiita kuingizwa sort-- kweli 843 00:39:52,950 --> 00:39:55,020 ina mengi ya kazi, pia. 844 00:39:55,020 --> 00:39:56,970 Ni tu tofauti aina ya kazi ya Ben. 845 00:39:56,970 --> 00:40:00,090 kazi Ben alikuwa na mimi kwenda na kurudi wakati wote, 846 00:40:00,090 --> 00:40:03,510 kuchagua ijayo ndogo kipengele tena na tena. 847 00:40:03,510 --> 00:40:06,660 Hivyo ilikuwa hii aina ya Visual sana ya kazi. 848 00:40:06,660 --> 00:40:10,600 >> Hii algorithm nyingine, ambayo ni bado correct-- itakuwa kupata kazi done-- 849 00:40:10,600 --> 00:40:12,800 tu mabadiliko kiasi cha kazi. 850 00:40:12,800 --> 00:40:15,420 Inaonekana kama awali uko kuokoa, kwa sababu wewe ni tu 851 00:40:15,420 --> 00:40:19,190 kushughulika na kila kipengele hadi mbele bila kutembea zote 852 00:40:19,190 --> 00:40:20,930 njia ya kupitia orodha kama Ben alikuwa. 853 00:40:20,930 --> 00:40:25,300 Lakini tatizo ni, hasa katika hizi kesi mambo ambapo ni wote nyuma, 854 00:40:25,300 --> 00:40:27,830 uko tu aina ya kuahirisha kufanya kazi kwa bidii 855 00:40:27,830 --> 00:40:30,360 mpaka una kurekebisha makosa yako. 856 00:40:30,360 --> 00:40:33,919 >> Na hivyo kama unaweza kufikiria hii nane na saba na sita na tano 857 00:40:33,919 --> 00:40:36,710 na baadaye nne na mitatu na mbili kusonga njia yao kupitia orodha, 858 00:40:36,710 --> 00:40:39,060 tumekuwa iliyopita tu aina ya kazi sisi ni kufanya. 859 00:40:39,060 --> 00:40:42,340 Badala ya kufanya hivyo kwa mwanzo wa iteration yangu, 860 00:40:42,340 --> 00:40:45,250 Mimi tu kufanya hivyo kwa Mwisho wa kila iteration. 861 00:40:45,250 --> 00:40:50,550 Hivyo zinageuka kuwa algorithm hii, sana, kwa ujumla aitwaye kuingizwa aina, 862 00:40:50,550 --> 00:40:52,190 pia ni juu ya utaratibu wa n squared. 863 00:40:52,190 --> 00:40:56,480 Ni kweli hakuna bora, hakuna bora wakati wote. 864 00:40:56,480 --> 00:41:00,810 >> Hata hivyo, kuna njia ya tatu Napenda kuwatia moyo sisi kufikiria, 865 00:41:00,810 --> 00:41:02,970 ambayo ni hii. 866 00:41:02,970 --> 00:41:07,850 Hivyo tuseme orodha yangu, kwa unyenyekevu tena, ni nne, moja, tatu, 867 00:41:07,850 --> 00:41:11,080 two-- namba nne tu. 868 00:41:11,080 --> 00:41:13,300 Ben alikuwa Intuition nzuri, nzuri Intuition binadamu 869 00:41:13,300 --> 00:41:16,340 kabla, na ambayo sisi fasta nzima orodha kuingizwa aina eventually--. 870 00:41:16,340 --> 00:41:18,020 Mimi shawishiwa yetu pamoja. 871 00:41:18,020 --> 00:41:22,530 Lakini hebu fikiria njia rahisi ya kurekebisha orodha hii. 872 00:41:22,530 --> 00:41:24,110 >> Orodha hii ni si yamepangwa. 873 00:41:24,110 --> 00:41:26,130 Kwa nini? 874 00:41:26,130 --> 00:41:31,920 Kwa Kiingereza, kueleza kwa nini siyo kweli yamepangwa. 875 00:41:31,920 --> 00:41:33,400 Ina maana gani si kutatuliwa? 876 00:41:33,400 --> 00:41:34,220 >> STUDENT: Ni si utaratibu wa kudumu. 877 00:41:34,220 --> 00:41:34,990 >> DAVID Malan: Si utaratibu wa kudumu. 878 00:41:34,990 --> 00:41:35,822 Nipe mfano. 879 00:41:35,822 --> 00:41:37,180 >> STUDENT: Kuziweka katika utaratibu. 880 00:41:37,180 --> 00:41:37,440 >> DAVID Malan: Sawa. 881 00:41:37,440 --> 00:41:38,790 Nipe mfano maalum zaidi. 882 00:41:38,790 --> 00:41:39,832 >> STUDENT: Wakipanda ili. 883 00:41:39,832 --> 00:41:41,206 DAVID Malan: Si wakipanda ili. 884 00:41:41,206 --> 00:41:42,100 Kuwa sahihi zaidi. 885 00:41:42,100 --> 00:41:45,190 Sijui nini maana ya kupaa. 886 00:41:45,190 --> 00:41:47,150 Nini tatizo? 887 00:41:47,150 --> 00:41:49,930 >> STUDENT: ndogo ya idadi si katika nafasi ya kwanza. 888 00:41:49,930 --> 00:41:51,140 >> DAVID Malan: Ndogo idadi ya si katika nafasi ya kwanza. 889 00:41:51,140 --> 00:41:52,120 Kuwa maalumu zaidi. 890 00:41:52,120 --> 00:41:55,000 Mimi nina kuanza kukamata. 891 00:41:55,000 --> 00:41:59,470 Tuko kuhesabu, lakini nini nje ya utaratibu hapa? 892 00:41:59,470 --> 00:42:00,707 >> STUDENT: namba mlolongo. 893 00:42:00,707 --> 00:42:02,040 DAVID Malan: namba mlolongo. 894 00:42:02,040 --> 00:42:04,248 aina ya kila mtu wa utunzaji ni here-- kiwango cha juu sana. 895 00:42:04,248 --> 00:42:07,450 Tu literally kuniambia nini vibaya kama nguvu-umri wa miaka mitano. 896 00:42:07,450 --> 00:42:08,310 >> STUDENT: Plus moja. 897 00:42:08,310 --> 00:42:08,750 >> DAVID Malan: Nini hiyo? 898 00:42:08,750 --> 00:42:09,610 >> STUDENT: Plus moja. 899 00:42:09,610 --> 00:42:11,235 >> DAVID Malan: Ni nini maana pamoja na moja? 900 00:42:11,235 --> 00:42:12,754 901 00:42:12,754 --> 00:42:14,170 Nipe tofauti-umri wa miaka mitano. 902 00:42:14,170 --> 00:42:16,840 903 00:42:16,840 --> 00:42:18,330 Nini mbaya, mama? 904 00:42:18,330 --> 00:42:19,940 Nini mbaya, baba? 905 00:42:19,940 --> 00:42:22,808 Ni nini maana hii si yamepangwa? 906 00:42:22,808 --> 00:42:24,370 >> STUDENT: Ni si mahali pa haki. 907 00:42:24,370 --> 00:42:25,580 >> DAVID Malan: Nini si katika mahali sahihi? 908 00:42:25,580 --> 00:42:26,174 >> STUDENT: Nne. 909 00:42:26,174 --> 00:42:27,090 DAVID Malan: Sawa, nzuri. 910 00:42:27,090 --> 00:42:29,110 Hivyo nne si ambapo ni lazima. 911 00:42:29,110 --> 00:42:30,590 Hasa, ni haki hii? 912 00:42:30,590 --> 00:42:33,000 Nne na moja, kwanza namba mbili naona. 913 00:42:33,000 --> 00:42:34,930 Je, hii ni haki? 914 00:42:34,930 --> 00:42:36,427 Hakuna, wao uko nje ya utaratibu, sawa? 915 00:42:36,427 --> 00:42:38,135 Kwa kweli, nadhani sasa kuhusu kompyuta, pia. 916 00:42:38,135 --> 00:42:40,824 Ni inaweza tu kuangalia labda moja, labda mambo mawili kwa wakati once-- 917 00:42:40,824 --> 00:42:43,240 na kwa kweli jambo moja tu wakati huo, lakini inaweza angalau 918 00:42:43,240 --> 00:42:45,790 kuangalia jambo moja kisha Jambo la pili kulia karibu na hiyo. 919 00:42:45,790 --> 00:42:47,380 >> Hivyo ni haya ili? 920 00:42:47,380 --> 00:42:48,032 Bila shaka hapana. 921 00:42:48,032 --> 00:42:48,740 Hivyo unajua nini? 922 00:42:48,740 --> 00:42:51,020 Mbona sisi kuchukua mtoto hatua fixing tatizo hili 923 00:42:51,020 --> 00:42:53,410 badala ya kufanya hizi dhana algorithms kama Ben, ambapo 924 00:42:53,410 --> 00:42:56,440 yeye aina ya fixing na looping kupitia orodha 925 00:42:56,440 --> 00:42:59,670 badala ya kufanya nini mimi, ambapo Mimi tu aina ya fasta hivyo kama sisi kwenda? 926 00:42:59,670 --> 00:43:03,650 Hebu tu literally kuvunja dhana ya order-- ili masuala mbalimbali, 927 00:43:03,650 --> 00:43:06,990 kuiita chochote want-- katika kulinganisha hizi pairwise. 928 00:43:06,990 --> 00:43:07,590 >> Nne na moja. 929 00:43:07,590 --> 00:43:09,970 Je, hii ni mpangilio sahihi? 930 00:43:09,970 --> 00:43:11,310 Basi hebu kurekebisha hiyo. 931 00:43:11,310 --> 00:43:14,700 Mmoja na nne, na kisha tutaweza tu nakala hiyo. 932 00:43:14,700 --> 00:43:15,560 Yote ya haki, nzuri. 933 00:43:15,560 --> 00:43:17,022 Mimi fasta mmoja na nne. 934 00:43:17,022 --> 00:43:18,320 Tatu na mbili? 935 00:43:18,320 --> 00:43:18,820 Hakuna 936 00:43:18,820 --> 00:43:21,690 Hebu maneno yangu mechi vidole yangu. 937 00:43:21,690 --> 00:43:23,695 Nne na mitatu? 938 00:43:23,695 --> 00:43:27,930 >> Siyo ili, hivyo mimi nina kwenda kufanya moja, tatu, nne, mbili. 939 00:43:27,930 --> 00:43:28,680 OK, vizuri. 940 00:43:28,680 --> 00:43:32,310 Sasa nne na mbili? 941 00:43:32,310 --> 00:43:33,370 Tunahitaji kurekebisha hili, pia. 942 00:43:33,370 --> 00:43:36,700 Hivyo moja, tatu, mbili, nne. 943 00:43:36,700 --> 00:43:39,820 Hivyo ni sorted? 944 00:43:39,820 --> 00:43:43,170 Hapana, lakini ni karibu na yamepangwa? 945 00:43:43,170 --> 00:43:48,930 >> Ni, kwa sababu sisi fasta hii makosa, sisi fasta kosa hili, 946 00:43:48,930 --> 00:43:50,370 na sisi fasta kosa hilo. 947 00:43:50,370 --> 00:43:52,420 Hivyo sisi fasta makosa matatu arguably. 948 00:43:52,420 --> 00:43:58,100 Bado haina kweli kuangalia sorted, lakini ni objectively karibu na sorted 949 00:43:58,100 --> 00:44:00,080 kwa sababu sisi fasta baadhi ya makosa hayo. 950 00:44:00,080 --> 00:44:02,047 >> Sasa nini mimi kufanya ijayo? 951 00:44:02,047 --> 00:44:03,630 Mimi aina ya kufikiwa mwisho wa orodha. 952 00:44:03,630 --> 00:44:05,680 Mimi yalionekana kuwa fasta makosa yote, lakini hakuna. 953 00:44:05,680 --> 00:44:08,510 Kwa sababu katika kesi hii, idadi ya baadhi ya anaweza kuwa bubbled juu karibu 954 00:44:08,510 --> 00:44:10,410 kwa idadi nyingine kwamba bado ni nje ya utaratibu. 955 00:44:10,410 --> 00:44:12,951 Basi hebu kufanya hivyo tena, na mimi itabidi tu kufanya hivyo katika mahali wakati huu. 956 00:44:12,951 --> 00:44:14,170 Moja na tatu? 957 00:44:14,170 --> 00:44:14,720 Ni faini. 958 00:44:14,720 --> 00:44:16,070 Tatu na mbili? 959 00:44:16,070 --> 00:44:17,560 Bila shaka hakuna, hivyo hebu mabadiliko hayo. 960 00:44:17,560 --> 00:44:19,160 Hivyo mbili, tatu. 961 00:44:19,160 --> 00:44:21,340 Tatu na nne? 962 00:44:21,340 --> 00:44:24,370 Na sasa hebu tu kuwa hasa pedantic hapa. 963 00:44:24,370 --> 00:44:26,350 Je, ni yamepangwa? 964 00:44:26,350 --> 00:44:29,280 You binadamu kujua ni sorted. 965 00:44:29,280 --> 00:44:30,400 >> Nitajaribu tena. 966 00:44:30,400 --> 00:44:31,900 Hivyo Olivia ni kupendekeza mimi kujaribu tena. 967 00:44:31,900 --> 00:44:32,530 Kwa nini? 968 00:44:32,530 --> 00:44:35,810 Kwa sababu kompyuta haina anasa ya macho yetu binadamu 969 00:44:35,810 --> 00:44:38,080 ya tu glancing back-- OK, mimi nina kufanyika. 970 00:44:38,080 --> 00:44:41,610 Jinsi gani kompyuta kuamua kwamba orodha ni sasa yamepangwa? 971 00:44:41,610 --> 00:44:44,590 Mechanically. 972 00:44:44,590 --> 00:44:47,650 >> Mimi lazima kwenda kwa njia ya mara moja zaidi, na tu kama mimi 973 00:44:47,650 --> 00:44:51,190 hatuwezi kufanya / kupata makosa yoyote naweza kisha kuhitimisha kama kompyuta, yep, 974 00:44:51,190 --> 00:44:51,980 sisi ni vizuri kwenda. 975 00:44:51,980 --> 00:44:54,850 Hivyo moja na mbili, mbili na tatu, tatu na nne. 976 00:44:54,850 --> 00:44:58,030 Sasa naweza kipekee kusema hii ni yamepangwa, kwa sababu mimi alifanya hakuna mabadiliko. 977 00:44:58,030 --> 00:45:01,940 Sasa itakuwa ni mdudu na tu wajinga kama mimi, kompyuta, 978 00:45:01,940 --> 00:45:05,640 kuulizwa maswali hizo hizo tena wanatarajia majibu tofauti. 979 00:45:05,640 --> 00:45:07,110 Haikupaswa kutokea. 980 00:45:07,110 --> 00:45:08,600 >> Na hivyo sasa orodha ni Iliyopangwa. 981 00:45:08,600 --> 00:45:12,630 Kwa bahati mbaya, mbio wakati wa algorithm hii pia ni n squared. 982 00:45:12,630 --> 00:45:13,130 Kwa nini? 983 00:45:13,130 --> 00:45:19,520 Kwa sababu una idadi n, na katika kesi mbaya una hoja idadi n 984 00:45:19,520 --> 00:45:23,637 n mara kwa sababu una kuendelea nyuma ya kuangalia na uwezekano wa kurekebisha 985 00:45:23,637 --> 00:45:24,220 namba hizi. 986 00:45:24,220 --> 00:45:26,280 Na tunaweza kufanya zaidi uchambuzi rasmi, pia. 987 00:45:26,280 --> 00:45:29,530 >> Hivyo hii yote ni kusema tumekuwa kuchukuliwa tatu mbinu mbalimbali, moja 988 00:45:29,530 --> 00:45:32,210 wao mara moja Intuitive mbali bat kutoka Ben 989 00:45:32,210 --> 00:45:35,170 kwa insertion yangu alipendekeza aina ya hii moja 990 00:45:35,170 --> 00:45:38,540 ambapo aina ya kupoteza mbele ya msitu kwa ajili ya miti awali. 991 00:45:38,540 --> 00:45:41,760 Lakini basi kama wewe kuchukua hatua nyuma, voila, tumekuwa fasta dhana kuchagua. 992 00:45:41,760 --> 00:45:43,824 Hivyo hii ni, kuthubutu kusema, ngazi ya chini labda 993 00:45:43,824 --> 00:45:45,740 kuliko baadhi ya wale wengine algorithms, lakini hebu 994 00:45:45,740 --> 00:45:48,550 kuona kama hatuwezi taswira hizi kwa njia ya hii. 995 00:45:48,550 --> 00:45:51,450 >> Hivyo hii ni baadhi nzuri programu kwamba mtu 996 00:45:51,450 --> 00:45:56,110 aliandika kwa kutumia baa rangi hiyo ni kwenda kufanya yafuatayo kwa ajili yetu. 997 00:45:56,110 --> 00:45:57,736 Kila moja ya baa haya inawakilisha idadi. 998 00:45:57,736 --> 00:46:00,026 Taller bar, kubwa idadi, ndogo bar, 999 00:46:00,026 --> 00:46:00,990 idadi ndogo. 1000 00:46:00,990 --> 00:46:05,880 Hivyo walau tunataka piramidi nzuri ambapo ni kuanza ndogo na anapata kubwa, 1001 00:46:05,880 --> 00:46:08,330 na kwamba itakuwa na maana kwamba baa haya ni yamepangwa. 1002 00:46:08,330 --> 00:46:11,200 Hivyo mimi nina kwenda mbele na kuchagua, Kwa mfano, algorithm Ben 1003 00:46:11,200 --> 00:46:13,990 first-- uteuzi aina. 1004 00:46:13,990 --> 00:46:16,220 >> Na taarifa ya nini ni kufanya. 1005 00:46:16,220 --> 00:46:18,670 njia wameweza waliochaguliwa taswira algorithm hii 1006 00:46:18,670 --> 00:46:22,090 ni kwamba, kama mimi nilikuwa kutembea kwa njia ya orodha yangu, 1007 00:46:22,090 --> 00:46:24,710 mpango huu ni kutembea kupitia orodha yake ya namba, 1008 00:46:24,710 --> 00:46:28,160 kuonyesha katika nyekundu kila idadi hiyo ni kuangalia. 1009 00:46:28,160 --> 00:46:32,360 Na nini kuhusu kutokea hivi sasa? 1010 00:46:32,360 --> 00:46:35,154 >> idadi ndogo kwamba Mimi au Ben kupatikana ghafla 1011 00:46:35,154 --> 00:46:36,820 anapata wakiongozwa na mwanzo wa orodha. 1012 00:46:36,820 --> 00:46:40,037 Na ilani walivyofanya kumfukuza idadi hiyo ilikuwa pale, 1013 00:46:40,037 --> 00:46:41,120 na hiyo ni kikamilifu faini. 1014 00:46:41,120 --> 00:46:42,600 Sikuweza kupata ndani ya kwamba kiwango cha zaidi. 1015 00:46:42,600 --> 00:46:44,308 Lakini tunahitaji kuweka idadi hiyo mahali fulani, 1016 00:46:44,308 --> 00:46:47,775 hivyo sisi tu kuhamia kwa wazi doa ambayo iliundwa. 1017 00:46:47,775 --> 00:46:49,900 Hivyo nina kwenda kuongeza kasi hii up, kwa sababu vinginevyo 1018 00:46:49,900 --> 00:46:51,871 inakuwa tedious sana haraka. 1019 00:46:51,871 --> 00:46:55,800 1020 00:46:55,800 --> 00:46:58,600 Uhuishaji speed-- kuna sisi kwenda. 1021 00:46:58,600 --> 00:47:01,850 kanuni hiyo sasa huo Mimi nilikuwa kutumia, lakini 1022 00:47:01,850 --> 00:47:06,540 Unaweza kuanza kujisikia algorithm, kama wewe mapenzi, au kuona wazi zaidi kidogo. 1023 00:47:06,540 --> 00:47:13,190 Na algorithm hii ina athari ya kuchagua ijayo ndogo kipengele, 1024 00:47:13,190 --> 00:47:16,422 hivyo wewe ni kwenda kuanza kuiona njia panda juu upande wa kushoto. 1025 00:47:16,422 --> 00:47:19,130 Na juu ya kila iteration, kama mimi mapendekezo, ni gani kidogo kidogo ya kazi. 1026 00:47:19,130 --> 00:47:21,921 Haina kwenda njia yote nyuma na mwisho kushoto wa orodha, 1027 00:47:21,921 --> 00:47:23,900 kwa sababu tayari anawajua hao ni yamepangwa. 1028 00:47:23,900 --> 00:47:28,129 Hivyo ni aina ya anahisi kama ni kuongeza kasi ya, ingawa kila hatua ni 1029 00:47:28,129 --> 00:47:29,420 kuchukua kiasi hicho cha wakati. 1030 00:47:29,420 --> 00:47:31,600 Kuna wachache tu hatua iliyobaki. 1031 00:47:31,600 --> 00:47:35,240 Na sasa unaweza aina ya kujisikia algorithm kusafisha mwisho wake, 1032 00:47:35,240 --> 00:47:37,040 na kwa kweli sasa ni sorted. 1033 00:47:37,040 --> 00:47:41,620 >> Hivyo kuingizwa aina ni yote kufanyika. 1034 00:47:41,620 --> 00:47:43,600 Mimi haja ya re-randomize safu. 1035 00:47:43,600 --> 00:47:45,940 Na taarifa naweza tu kuweka randomizing yake, 1036 00:47:45,940 --> 00:47:50,630 na tutaweza kupata makadirio ya mbinu hiyo hiyo, kuingizwa aina. 1037 00:47:50,630 --> 00:47:55,050 Napenda kupunguza ni chini ya hapa. 1038 00:47:55,050 --> 00:47:56,915 Hebu kuanza kuwa juu. 1039 00:47:56,915 --> 00:47:57,414 Kukomesha. 1040 00:47:57,414 --> 00:48:00,662 1041 00:48:00,662 --> 00:48:02,410 >> Hebu turukie nne. 1042 00:48:02,410 --> 00:48:03,200 Kuna sisi kwenda. 1043 00:48:03,200 --> 00:48:04,190 Randomize safu wao. 1044 00:48:04,190 --> 00:48:05,555 Na hapa sisi go-- kuingizwa aina. 1045 00:48:05,555 --> 00:48:10,260 1046 00:48:10,260 --> 00:48:12,800 Kucheza. 1047 00:48:12,800 --> 00:48:17,280 Taarifa kwamba ni kushughulika na kila kipengele atakutana haki mbali, 1048 00:48:17,280 --> 00:48:20,282 lakini kama ni mali katika vibaya ilani mahali 1049 00:48:20,282 --> 00:48:21,740 yote ya kazi ambayo ina kutokea. 1050 00:48:21,740 --> 00:48:24,700 Tuna kuweka shifting zaidi na mambo zaidi ya kufanya chumba 1051 00:48:24,700 --> 00:48:27,340 kwa moja tunataka kuweka. 1052 00:48:27,340 --> 00:48:30,740 >> Hivyo sisi ni kulenga mwisho wa kushoto wa orodha tu. 1053 00:48:30,740 --> 00:48:34,460 Ilani sisi si hata inaonekana at-- sisi si yalionyesha katika nyekundu chochote 1054 00:48:34,460 --> 00:48:35,610 na haki. 1055 00:48:35,610 --> 00:48:38,180 Sisi ni tu kushughulika na matatizo kama sisi kwenda, 1056 00:48:38,180 --> 00:48:40,430 lakini sisi ni kujenga mengi ya kazi kwa wenyewe bado. 1057 00:48:40,430 --> 00:48:44,410 Na hivyo kama sisi kasi hii up sasa kwenda kukamilika, 1058 00:48:44,410 --> 00:48:46,210 ina kujisikia tofauti na hiyo kweli. 1059 00:48:46,210 --> 00:48:50,150 Ni kulenga tu juu ya mwisho wa kushoto lakini kufanya kidogo kazi zaidi kama needed-- 1060 00:48:50,150 --> 00:48:53,230 aina ya Ng'ombe mambo juu, kurekebisha vitu, 1061 00:48:53,230 --> 00:48:58,350 lakini kushughulika hatimaye pamoja na kila kipengele moja kwa wakati mmoja 1062 00:48:58,350 --> 00:49:07,740 mpaka sisi kupata the-- vizuri, sisi wote tunajua jinsi hii ni kwenda mwisho, 1063 00:49:07,740 --> 00:49:09,700 hivyo ni aghali kidogo labda. 1064 00:49:09,700 --> 00:49:12,830 >> Lakini orodha katika end-- spoiler-- ni kwenda kutatuliwa. 1065 00:49:12,830 --> 00:49:15,300 Hivyo hebu tuangalie moja iliyopita moja. 1066 00:49:15,300 --> 00:49:16,840 Hatuwezi tu ruka sasa. 1067 00:49:16,840 --> 00:49:18,000 Tuko karibu na hapo. 1068 00:49:18,000 --> 00:49:19,980 Miwili na kwenda, moja kwenda. 1069 00:49:19,980 --> 00:49:22,680 Na voilà. 1070 00:49:22,680 --> 00:49:23,450 Excellent. 1071 00:49:23,450 --> 00:49:27,220 >> Hivyo sasa hebu kufanya moja ya mwisho moja, re-randomizing na Bubble aina. 1072 00:49:27,220 --> 00:49:31,690 Na taarifa hapa, hasa kama mimi polepole chini, hii haina kuweka swooping kupitia. 1073 00:49:31,690 --> 00:49:36,830 Lakini taarifa ni tu hufanya pairwise comparisons-- aina ya ufumbuzi wa ndani. 1074 00:49:36,830 --> 00:49:39,050 Lakini kwa haraka kama sisi kupata mwisho wa orodha katika pink, 1075 00:49:39,050 --> 00:49:40,690 nini kinaendelea na kutokea tena? 1076 00:49:40,690 --> 00:49:44,539 1077 00:49:44,539 --> 00:49:46,830 Yeah, ni kwenda kuwa na kuanza juu, kwa sababu tu 1078 00:49:46,830 --> 00:49:49,870 fasta pairwise makosa. 1079 00:49:49,870 --> 00:49:53,120 Na kwamba wanaweza kuwa na umebaini wengine bado. 1080 00:49:53,120 --> 00:49:58,950 Na hivyo kama wewe kasi hii up, itabidi kuona kwamba, kiasi kama jina ina maana, 1081 00:49:58,950 --> 00:50:01,870 ndogo elements-- au tuseme, elements-- kubwa ni mapya 1082 00:50:01,870 --> 00:50:03,740 Bubble hadi juu, kama wewe. 1083 00:50:03,740 --> 00:50:07,380 Na mambo madogo ni kuanzia Bubble chini upande wa kushoto. 1084 00:50:07,380 --> 00:50:10,780 Na hakika, hiyo ni aina ya athari za kuona kama vizuri. 1085 00:50:10,780 --> 00:50:17,150 Na hivyo hii itakuwa kuishia kumaliza katika njia sawa sana, pia. 1086 00:50:17,150 --> 00:50:19,160 >> Hatuna kukaa juu ya hili fulani. 1087 00:50:19,160 --> 00:50:21,010 Hebu kufungua hii sasa, pia. 1088 00:50:21,010 --> 00:50:24,040 Kuna wengine wachache algorithms kuchagua duniani, baadhi yake 1089 00:50:24,040 --> 00:50:25,580 ni alitekwa hapa. 1090 00:50:25,580 --> 00:50:29,960 Na hasa kwa wanafunzi ambao si lazima Visual au hisabati, 1091 00:50:29,960 --> 00:50:31,930 kama tulivyofanya kabla, tunaweza Pia kufanya hivyo audially 1092 00:50:31,930 --> 00:50:34,210 kama tujiunge sauti na hili. 1093 00:50:34,210 --> 00:50:36,990 Na kwa ajili ya kujifurahisha, hapa ni chache algorithms mbalimbali, 1094 00:50:36,990 --> 00:50:40,950 na mmoja wao hasa uko kwenda taarifa inaitwa "kuunganisha aina." 1095 00:50:40,950 --> 00:50:43,250 >> Ni kweli kimsingi bora algorithm, 1096 00:50:43,250 --> 00:50:45,860 kiasi kwamba kuunganisha aina, moja ya ndio uko juu ya kuona, 1097 00:50:45,860 --> 00:50:49,170 si utaratibu wa n squared. 1098 00:50:49,170 --> 00:50:57,280 Ni juu ya utaratibu wa n mara logi ya n, ambayo ni kweli ndogo na hivyo 1099 00:50:57,280 --> 00:50:58,940 kasi zaidi kuliko wale wengine watatu. 1100 00:50:58,940 --> 00:51:00,670 Na kuna wanandoa wengine ndio silly kwamba tutaweza kuona. 1101 00:51:00,670 --> 00:51:01,933 >> Hivyo hapa sisi kwenda pamoja na sauti fulani. 1102 00:51:01,933 --> 00:51:06,620 1103 00:51:06,620 --> 00:51:10,490 Hii ni kuingizwa aina, hivyo tena ni tu kushughulika na mambo 1104 00:51:10,490 --> 00:51:13,420 kama wao kuja. 1105 00:51:13,420 --> 00:51:17,180 Hii ni Bubble aina, hivyo ni kuzingatia yao jozi wakati huo. 1106 00:51:17,180 --> 00:51:22,030 1107 00:51:22,030 --> 00:51:24,490 Na tena, vipengele kubwa ni bubbling hadi juu. 1108 00:51:24,490 --> 00:51:38,098 1109 00:51:38,098 --> 00:51:41,710 >> Next up uteuzi aina. 1110 00:51:41,710 --> 00:51:45,420 Hii ni algorithm Ben, ambapo tena yeye kuchagua iteratively 1111 00:51:45,420 --> 00:51:46,843 kipengele ijayo ndogo. 1112 00:51:46,843 --> 00:51:49,801 1113 00:51:49,801 --> 00:51:53,900 Na tena, sasa unaweza kweli kusikia kwamba ni kuongeza kasi ya lakini tu katika hivyo mbali 1114 00:51:53,900 --> 00:51:58,230 kama ni kufanya kidogo na kidogo kazi juu ya kila iteration. 1115 00:51:58,230 --> 00:52:04,170 Hii ni kwa kasi moja, kuunganisha aina, ambayo ni kuchagua nguzo ya namba 1116 00:52:04,170 --> 00:52:05,971 pamoja na kisha kuchanganya yao. 1117 00:52:05,971 --> 00:52:07,720 Hivyo look-- kushoto nusu tayari yamepangwa. 1118 00:52:07,720 --> 00:52:14,165 >> Sasa ni kuchagua nusu haki, na sasa ni kwenda kwa kuchanganya yao katika moja. 1119 00:52:14,165 --> 00:52:19,160 Hii ni kitu kinachoitwa "Gnome aina." 1120 00:52:19,160 --> 00:52:23,460 Na unaweza aina ya kuona kwamba ni kwenda na kurudi, 1121 00:52:23,460 --> 00:52:27,950 fixing kazi kidogo hapa na huko mbele ni kuendelea kazi mpya. 1122 00:52:27,950 --> 00:52:32,900 1123 00:52:32,900 --> 00:52:33,692 Na hiyo ni yake. 1124 00:52:33,692 --> 00:52:36,400 Kuna aina nyingine, ambayo ni kweli tu kwa madhumuni ya kielimu, 1125 00:52:36,400 --> 00:52:40,980 inayoitwa "kijinga aina," ambayo inachukua data yako, aina yake nasibu, 1126 00:52:40,980 --> 00:52:43,350 na kisha hundi kama ni yamepangwa. 1127 00:52:43,350 --> 00:52:47,880 Na kama ni hivyo, ni re-kuipanga nasibu, hundi kama ni sorted, 1128 00:52:47,880 --> 00:52:49,440 na kama si kurudia. 1129 00:52:49,440 --> 00:52:52,660 Na katika nadharia, probabilistically hii itaendelea kukamilisha, 1130 00:52:52,660 --> 00:52:54,140 lakini baada ya kidogo kabisa ya muda. 1131 00:52:54,140 --> 00:52:56,930 Siyo wengi ufanisi wa algorithms. 1132 00:52:56,930 --> 00:53:02,550 Hivyo maswali yoyote juu ya wale algorithms fulani au kitu chochote 1133 00:53:02,550 --> 00:53:04,720 kuhusiana na huko, pia? 1134 00:53:04,720 --> 00:53:09,430 >> Naam, hebu sasa tease mbali nini zote mistari haya ni kwamba nimekuwa kuchora 1135 00:53:09,430 --> 00:53:15,090 na kile Mimi nina kuchukua kompyuta anaweza kufanya chini ya Hood. 1136 00:53:15,090 --> 00:53:18,650 Napenda kusema kwamba yote ya namba hizi Mimi kushika drawing-- wanahitaji kupata 1137 00:53:18,650 --> 00:53:21,330 kuhifadhiwa mahali fulani katika kumbukumbu. 1138 00:53:21,330 --> 00:53:24,130 Tutaweza kujikwamua guy hii sasa, pia. 1139 00:53:24,130 --> 00:53:30,110 >> Hivyo kipande cha kumbukumbu katika computer-- hivyo RAM DIMM ni 1140 00:53:30,110 --> 00:53:35,480 nini sisi searched kwa jana, dual inline kumbukumbu module-- inaonekana kama hii. 1141 00:53:35,480 --> 00:53:39,370 Na kila moja ya haya chips nyeusi kidogo ni baadhi ya idadi ya ka, kawaida. 1142 00:53:39,370 --> 00:53:44,380 Na kisha pini dhahabu ni kama waya kwamba kuungana kwa kompyuta, 1143 00:53:44,380 --> 00:53:47,521 na kijani silicon bodi ni tu nini anaendelea kila kitu wote kwa pamoja. 1144 00:53:47,521 --> 00:53:48,770 Basi nini hii kweli maana? 1145 00:53:48,770 --> 00:53:53,180 Kama mimi aina ya kuchora picha hiyo, hebu tuseme kwa unyenyekevu 1146 00:53:53,180 --> 00:53:55,280 kwamba DIMM hii, dual inline kumbukumbu moduli, 1147 00:53:55,280 --> 00:54:00,530 ni gigabyte moja ya RAM, moja gigabyte ya kumbukumbu, ambayo ni wangapi ka jumla? 1148 00:54:00,530 --> 00:54:02,100 gigabyte moja ni ka ngapi? 1149 00:54:02,100 --> 00:54:04,860 1150 00:54:04,860 --> 00:54:06,030 Zaidi ya hapo. 1151 00:54:06,030 --> 00:54:09,960 1,124 ni kilo, 1000. 1152 00:54:09,960 --> 00:54:11,730 Mega ni milioni. 1153 00:54:11,730 --> 00:54:14,570 Giga ni bilioni. 1154 00:54:14,570 --> 00:54:15,070 >> Mimi uongo? 1155 00:54:15,070 --> 00:54:16,670 Je, tunaweza hata kusoma studio? 1156 00:54:16,670 --> 00:54:19,920 Hii ni kweli 128 gigabytes, hivyo ni zaidi. 1157 00:54:19,920 --> 00:54:22,130 Lakini tutaweza kujifanya huu ni gigabyte moja tu. 1158 00:54:22,130 --> 00:54:25,640 Hivyo kwamba maana kuna bilioni ka ya kumbukumbu inapatikana kwa mimi 1159 00:54:25,640 --> 00:54:29,770 au bilioni 8 bits, lakini tunakwenda kuzungumza katika suala la ka sasa, 1160 00:54:29,770 --> 00:54:30,750 Songa mbele. 1161 00:54:30,750 --> 00:54:36,330 >> Hivyo nini maana ya ni hii ni Byte moja, hii ni mwingine Byte, 1162 00:54:36,330 --> 00:54:38,680 hii ni mwingine Byte, na kama sisi kweli alitaka 1163 00:54:38,680 --> 00:54:43,280 kuwa maalum tunataka kuwa na kuteka bilioni mraba kidogo. 1164 00:54:43,280 --> 00:54:44,320 Lakini hiyo ina maana gani? 1165 00:54:44,320 --> 00:54:46,420 Naam, napenda tu kuvuta katika juu ya picha hii. 1166 00:54:46,420 --> 00:54:50,900 Kama mimi nimepata kitu ambacho inaonekana kama hii sasa, hiyo ni ka nne. 1167 00:54:50,900 --> 00:54:53,710 >> Na hivyo mimi naweza kuweka namba nne hapa. 1168 00:54:53,710 --> 00:54:54,990 Moja mbili tatu nne. 1169 00:54:54,990 --> 00:55:00,170 Au mimi naweza kuweka herufi nne au alama. 1170 00:55:00,170 --> 00:55:02,620 "Hey!" anaweza kwenda haki pale, kwa sababu kila moja ya barua, 1171 00:55:02,620 --> 00:55:04,370 sisi kujadiliwa mapema, inaweza kuwakilishwa 1172 00:55:04,370 --> 00:55:06,650 na bits nane au ASCII au Byte. 1173 00:55:06,650 --> 00:55:09,370 Hivyo kwa maneno mengine, unaweza kuweka mambo bilioni 8 ndani ya 1174 00:55:09,370 --> 00:55:11,137 ya fimbo hii moja ya kumbukumbu. 1175 00:55:11,137 --> 00:55:14,345 Sasa ni nini maana kuweka mambo nyuma kwa nyuma kwa nyuma katika kumbukumbu kama hii? 1176 00:55:14,345 --> 00:55:17,330 Hii ni nini programu kuita "safu." 1177 00:55:17,330 --> 00:55:21,250 Katika programu ya kompyuta, wewe sidhani kuhusu vifaa msingi, per se. 1178 00:55:21,250 --> 00:55:24,427 Wewe tu kufikiria mwenyewe kama kuwa upatikanaji wa bilioni ka jumla, 1179 00:55:24,427 --> 00:55:26,010 na unaweza kitu chochote unataka na hayo. 1180 00:55:26,010 --> 00:55:27,880 Lakini kwa urahisi ni kwa ujumla na manufaa 1181 00:55:27,880 --> 00:55:31,202 kuweka kumbukumbu wako wa kulia karibu na kila mmoja kama hii. 1182 00:55:31,202 --> 00:55:33,660 Hivyo kama mimi kuvuta Haya kwa sababu tuko hakika si kwenda 1183 00:55:33,660 --> 00:55:39,310 kuteka bilioni squares-- kidogo hebu tuseme kwamba hii bodi inawakilisha 1184 00:55:39,310 --> 00:55:40,610 kwamba fimbo ya kumbukumbu sasa. 1185 00:55:40,610 --> 00:55:43,800 Na mimi itabidi kuteka wengi kama yangu marker kuishia kunipa hapa. 1186 00:55:43,800 --> 00:55:46,420 1187 00:55:46,420 --> 00:55:52,300 Hivyo basi, tuna fimbo ya kumbukumbu kwenye ubao 1188 00:55:52,300 --> 00:55:56,400 kwamba got moja, mbili, tatu, nne, tano, sita, moja, mbili, tatu, nne, tano, sita, 1189 00:55:56,400 --> 00:56:01,130 seven-- hivyo 42 ka ya kumbukumbu juu ya jumla screen. 1190 00:56:01,130 --> 00:56:01,630 Asante. 1191 00:56:01,630 --> 00:56:02,838 Ndiyo, alifanya hesabu wangu wa kulia. 1192 00:56:02,838 --> 00:56:05,120 Hivyo 42 ka ya kumbukumbu hapa. 1193 00:56:05,120 --> 00:56:06,660 Basi nini hii kwa kweli maana? 1194 00:56:06,660 --> 00:56:09,830 Naam, programu za kompyuta ingekuwa kweli kwa ujumla 1195 00:56:09,830 --> 00:56:12,450 kufikiri ya kumbukumbu hii kama addressable. 1196 00:56:12,450 --> 00:56:16,630 Kwa maneno mengine, kila mmoja wa haya maeneo katika kumbukumbu, katika vifaa, 1197 00:56:16,630 --> 00:56:18,030 ina anwani kipekee. 1198 00:56:18,030 --> 00:56:22,020 >> Siyo kama tata kama One Brattle Square, Cambridge, Misa., 02138. 1199 00:56:22,020 --> 00:56:23,830 Badala yake, ni tu idadi. 1200 00:56:23,830 --> 00:56:27,930 Hii ni Byte idadi zero, hii ni moja, hii ni mbili, hii ni tatu, 1201 00:56:27,930 --> 00:56:30,327 na hii ni 41. 1202 00:56:30,327 --> 00:56:30,910 Subiri kidogo. 1203 00:56:30,910 --> 00:56:32,510 Mimi nilifikiri alisema 42 wakati iliyopita. 1204 00:56:32,510 --> 00:56:35,050 1205 00:56:35,050 --> 00:56:37,772 Mimi kuanza kuhesabu saa sifuri, hivyo hiyo ni kweli sahihi. 1206 00:56:37,772 --> 00:56:40,980 Sasa hatuna kwa kweli kuteka ni kama gridi ya taifa, na kama wewe kuteka ni kama gridi ya taifa 1207 00:56:40,980 --> 00:56:43,520 Nadhani mambo kweli kupata kidogo kupotosha. 1208 00:56:43,520 --> 00:56:46,650 Nini programu ingekuwa, katika akili yake mwenyewe, 1209 00:56:46,650 --> 00:56:50,310 ujumla kufikiri ya hii kumbukumbu kama ni kama mkanda, 1210 00:56:50,310 --> 00:56:53,340 kama kipande cha mkanda Masking kwamba tu unaendelea na juu milele 1211 00:56:53,340 --> 00:56:54,980 au mpaka kukimbia nje ya kumbukumbu. 1212 00:56:54,980 --> 00:56:59,200 Hivyo njia zaidi ya kawaida kuteka na tu kufikiri juu ya kumbukumbu 1213 00:56:59,200 --> 00:57:03,710 itakuwa kwamba hii ni Byte sifuri, moja, mbili, tatu, na kisha dot, dot, dot. 1214 00:57:03,710 --> 00:57:07,650 Na una 42 kama ka jumla, hata ingawa kimwili ni wazi kunaweza 1215 00:57:07,650 --> 00:57:09,480 kuwa ni kitu zaidi kama hii. 1216 00:57:09,480 --> 00:57:12,850 >> Hivyo kama wewe sasa kufikiria yako kumbukumbu kama hii, tu kama mkanda, 1217 00:57:12,850 --> 00:57:17,640 hii ni nini programu tena kuita safu ya kumbukumbu. 1218 00:57:17,640 --> 00:57:20,660 Na wakati unataka kweli kuhifadhi kitu katika kumbukumbu ya kompyuta, 1219 00:57:20,660 --> 00:57:23,290 wewe kwa ujumla kufanya kuhifadhi mambo nyuma-ya-nyuma kwa nyuma kwa nyuma. 1220 00:57:23,290 --> 00:57:25,010 Hivyo tumekuwa kuzungumza kuhusu namba. 1221 00:57:25,010 --> 00:57:30,880 Na wakati nilitaka kutatua matatizo kama nne, moja, tatu, mbili, 1222 00:57:30,880 --> 00:57:33,820 ingawa nilikuwa tu kuchora tu namba nne, moja, tatu, 1223 00:57:33,820 --> 00:57:39,490 mbili juu ya bodi, kompyuta ingekuwa kweli kuwa kuanzisha hii katika kumbukumbu. 1224 00:57:39,490 --> 00:57:43,347 >> Na nini itakuwa karibu na mbili katika kumbukumbu ya kompyuta? 1225 00:57:43,347 --> 00:57:44,680 Naam, hakuna jibu la kwamba. 1226 00:57:44,680 --> 00:57:45,770 Sisi si kweli kujua. 1227 00:57:45,770 --> 00:57:48,200 Na muda mrefu kama kompyuta haina haja yake, 1228 00:57:48,200 --> 00:57:51,440 haina kuwa na huduma kile ni ijayo kwa idadi ni gani huduma ya juu. 1229 00:57:51,440 --> 00:57:55,130 Na wakati nilivyosema awali kwamba kompyuta unaweza tu kuangalia katika anuani moja kwa wakati mmoja, 1230 00:57:55,130 --> 00:57:56,170 hii ni aina ya nini. 1231 00:57:56,170 --> 00:57:59,490 >> Si tofauti na rekodi mchezaji na kichwa kusoma 1232 00:57:59,490 --> 00:58:03,030 tu kuwa na uwezo wa kuangalia fulani Groove katika rekodi ya kimwili umri wa kwenda shule 1233 00:58:03,030 --> 00:58:06,500 wakati huo, vile vile Unaweza kompyuta shukrani 1234 00:58:06,500 --> 00:58:09,810 kwa CPU yake na wake Intel maelekezo kuweka, 1235 00:58:09,810 --> 00:58:12,480 miongoni mwa ambao mafundisho ni kusoma kutoka kumbukumbu 1236 00:58:12,480 --> 00:58:15,590 au kuokoa na memory-- kompyuta inaweza tu kuangalia 1237 00:58:15,590 --> 00:58:19,210 katika eneo moja kwa wakati time-- wakati mwingine macho yao, 1238 00:58:19,210 --> 00:58:21,770 lakini eneo moja kweli tu wakati huo. 1239 00:58:21,770 --> 00:58:24,770 Hivyo wakati sisi walikuwa kufanya hizi algorithms mbalimbali, 1240 00:58:24,770 --> 00:58:28,110 Mimi si tu kuandika katika vacuum-- nne, moja, tatu, mbili. 1241 00:58:28,110 --> 00:58:30,849 Wale idadi kweli ni mali mahali fulani kimwili katika kumbukumbu. 1242 00:58:30,849 --> 00:58:32,890 Hivyo kuna kidogo kidogo transistors au aina fulani 1243 00:58:32,890 --> 00:58:35,840 ya umeme chini kofia kuhifadhi maadili haya. 1244 00:58:35,840 --> 00:58:40,460 >> Na katika jumla, bits ni wangapi wanaohusika hivi sasa, tu kuwa wazi? 1245 00:58:40,460 --> 00:58:45,580 Hivyo hii ni ka nne, au sasa ni 32 bits jumla. 1246 00:58:45,580 --> 00:58:49,280 Hivyo ni kweli kuna 32 zeros na ndio kutunga mambo haya manne. 1247 00:58:49,280 --> 00:58:52,070 Kuna hata zaidi juu hapa, lakini tena sisi hawajali kuhusu hilo. 1248 00:58:52,070 --> 00:58:55,120 >> Hivyo sasa hebu kuuliza mwingine swali kwa kutumia kumbukumbu, 1249 00:58:55,120 --> 00:58:57,519 kwa sababu kwamba mwishoni wa siku ni katika ugomvi. 1250 00:58:57,519 --> 00:59:00,310 Hakuna jambo gani tupate kufanya na kompyuta, mwisho wa siku 1251 00:59:00,310 --> 00:59:02,560 vifaa ni bado huo chini ya Hood. 1252 00:59:02,560 --> 00:59:04,670 Jinsi gani mimi kuhifadhi neno katika hapa? 1253 00:59:04,670 --> 00:59:09,710 Naam, neno katika kompyuta kama "Hey!" itakuwa kuhifadhiwa tu kama hii. 1254 00:59:09,710 --> 00:59:12,300 Na kama alitaka tena neno, unaweza tu 1255 00:59:12,300 --> 00:59:19,120 overwrite kwamba na kusema kitu kama "hello" na kuhifadhi kwamba hapa. 1256 00:59:19,120 --> 00:59:23,930 >> Na hivyo hapa, pia, hii contiguousness ni kweli faida, 1257 00:59:23,930 --> 00:59:26,530 kwa sababu kompyuta Unaweza tu kusoma kutoka kulia kwenda kushoto. 1258 00:59:26,530 --> 00:59:28,680 Lakini hapa ni swali. 1259 00:59:28,680 --> 00:59:33,480 Katika mazingira ya neno hili, h-e-l-l-o, mshangao uhakika, 1260 00:59:33,480 --> 00:59:38,740 jinsi gani kompyuta kujua ambapo neno huanza na ambapo neno kuishia? 1261 00:59:38,740 --> 00:59:41,690 1262 00:59:41,690 --> 00:59:43,800 Katika mazingira ya namba, jinsi gani kompyuta 1263 00:59:43,800 --> 00:59:48,396 kujua ni muda mlolongo wa jinsi idadi ni au ambapo ni kuanza? 1264 00:59:48,396 --> 00:59:50,270 Naam, ni zamu nje na sisi si kwenda sana 1265 00:59:50,270 --> 00:59:54,970 katika ngazi hii ya detail-- kompyuta kusonga mambo kuzunguka katika kumbukumbu 1266 00:59:54,970 --> 00:59:57,800 literally kwa njia ya anwani hizi. 1267 00:59:57,800 --> 01:00:02,080 Hivyo katika kompyuta, kama wewe ni kuandika kanuni kuhifadhi vitu 1268 01:00:02,080 --> 01:00:05,800 kama maneno, nini wewe kweli kufanya ni kuandika 1269 01:00:05,800 --> 01:00:11,320 maneno kwamba kukumbuka ambapo katika kumbukumbu ya kompyuta maneno haya ni. 1270 01:00:11,320 --> 01:00:14,370 Hivyo basi mimi kufanya sana, rahisi sana mfano. 1271 01:00:14,370 --> 01:00:18,260 >> Mimi nina kwenda mbele na kufungua maandishi mpango rahisi, 1272 01:00:18,260 --> 01:00:20,330 na mimi nina kwenda kujenga faili inayoitwa hello.c. 1273 01:00:20,330 --> 01:00:22,849 Wengi wa habari hii sisi si kwenda katika katika kina kubwa, 1274 01:00:22,849 --> 01:00:25,140 lakini mimi nina kwenda kuandika programu katika lugha hiyo hiyo, 1275 01:00:25,140 --> 01:00:31,140 C. Hii ni mbali zaidi vitisho, Napenda kusema, kuliko Scratch, 1276 01:00:31,140 --> 01:00:32,490 lakini ni sawa sana katika roho. 1277 01:00:32,490 --> 01:00:34,364 Kwa kweli, haya curly braces unaweza aina ya 1278 01:00:34,364 --> 01:00:37,820 kufikiria nini mimi tu alifanya kama hii. 1279 01:00:37,820 --> 01:00:39,240 >> Hebu kufanya hili, kwa kweli. 1280 01:00:39,240 --> 01:00:45,100 Wakati bendera ya kijani clicked, kufanya yafuatayo. 1281 01:00:45,100 --> 01:00:50,210 Nataka magazeti nje "hello." 1282 01:00:50,210 --> 01:00:51,500 Hivyo hii ni sasa pseudocode. 1283 01:00:51,500 --> 01:00:53,000 Mimi nina aina ya blurring mistari. 1284 01:00:53,000 --> 01:00:56,750 Katika C, lugha hii mimi kuzungumza kuhusu, mstari huu magazeti hodi 1285 01:00:56,750 --> 01:01:01,940 kweli inakuwa "printf" na baadhi mabano na nusu koloni. 1286 01:01:01,940 --> 01:01:03,480 >> Lakini ni exact wazo. 1287 01:01:03,480 --> 01:01:06,730 Na hii user-kirafiki sana "Wakati kijani bendera clicked" inakuwa 1288 01:01:06,730 --> 01:01:10,182 mengi zaidi arcane "int kuu utupu." 1289 01:01:10,182 --> 01:01:12,890 Na hii kweli hana ramani, hivyo mimi nina kwenda tu kupuuza kwamba. 1290 01:01:12,890 --> 01:01:17,210 Lakini braces curly ni kama vipande ikiwa puzzle kama hii. 1291 01:01:17,210 --> 01:01:18,700 >> Hivyo unaweza aina ya nadhani. 1292 01:01:18,700 --> 01:01:22,357 Hata kama wewe sijawahi iliyowekwa mbele, nini mpango huu pengine kufanya? 1293 01:01:22,357 --> 01:01:25,560 1294 01:01:25,560 --> 01:01:28,000 Pengine Prints hujambo na kumweka Moderators. 1295 01:01:28,000 --> 01:01:29,150 >> Basi hebu jaribu hilo. 1296 01:01:29,150 --> 01:01:30,800 Mimi nina kwenda kuokoa yake. 1297 01:01:30,800 --> 01:01:34,000 Na hii ni, tena, sana mazingira na umri wa shule. 1298 01:01:34,000 --> 01:01:35,420 Siwezi click, siwezi Drag. 1299 01:01:35,420 --> 01:01:36,910 Mimi na aina amri. 1300 01:01:36,910 --> 01:01:41,320 Hivyo nataka kukimbia mpango wangu, hivyo Nipate kufanya hivyo, kama hello.c. 1301 01:01:41,320 --> 01:01:42,292 Hiyo ni file mimi mbio. 1302 01:01:42,292 --> 01:01:43,500 Lakini kusubiri, mimi kukosa hatua. 1303 01:01:43,500 --> 01:01:46,470 Nini tunasema ni muhimu hatua kwa lugha kama C? 1304 01:01:46,470 --> 01:01:49,470 Nimekuwa tu imeandikwa chanzo kanuni, lakini je, mimi haja? 1305 01:01:49,470 --> 01:01:50,670 Yeah, mimi haja compiler. 1306 01:01:50,670 --> 01:01:57,670 Hivyo juu ya Mac yangu hapa, nina programu inayoitwa GCC, GNU C compiler, 1307 01:01:57,670 --> 01:02:03,990 ambayo inaruhusu mimi kufanya Haya upande chanzo kanuni wangu katika, tutaweza simu yake, 1308 01:02:03,990 --> 01:02:04,930 mashine kanuni. 1309 01:02:04,930 --> 01:02:10,180 >> Na mimi kuona kwamba, tena, kama ifuatavyo, hizi 1310 01:02:10,180 --> 01:02:14,090 ni zeros na ndio mimi tu kuundwa kutoka chanzo kanuni yangu, 1311 01:02:14,090 --> 01:02:15,730 yote ya zeros na ndio. 1312 01:02:15,730 --> 01:02:17,770 Na kama nataka kukimbia yangu program-- hutokea 1313 01:02:17,770 --> 01:02:23,010 kuitwa a.out kwa kihistoria reasons-- "hello." 1314 01:02:23,010 --> 01:02:24,070 Siwezi kukimbia tena. 1315 01:02:24,070 --> 01:02:25,690 Hello, hello, hello. 1316 01:02:25,690 --> 01:02:27,430 Na inaonekana kuwa kazi. 1317 01:02:27,430 --> 01:02:31,000 >> Lakini hiyo ina maana mahali fulani katika wangu kumbukumbu ya kompyuta ni maneno 1318 01:02:31,000 --> 01:02:35,279 h-e-l-l-o, mshangao uhakika. 1319 01:02:35,279 --> 01:02:38,070 Na zinageuka, tu kama kando, nini kompyuta ingekuwa kawaida 1320 01:02:38,070 --> 01:02:40,550 kufanya hivyo kwamba anajua ambapo mambo kuanza na end-- ni 1321 01:02:40,550 --> 01:02:42,460 kwenda kuweka alama maalum hapa. 1322 01:02:42,460 --> 01:02:46,064 Na mkataba ni kuweka idadi zero mwishoni mwa neno 1323 01:02:46,064 --> 01:02:48,230 ili kujua ambapo ni kweli mwisho, ili 1324 01:02:48,230 --> 01:02:52,750 si kuweka uchapishaji nje zaidi na zaidi wahusika kuliko wewe kweli nia. 1325 01:02:52,750 --> 01:02:55,400 >> Lakini takeaway hapa, hata ingawa hii ni haki arcane, 1326 01:02:55,400 --> 01:02:58,140 ni kwamba ni hatimaye rahisi kiasi. 1327 01:02:58,140 --> 01:03:04,550 Wewe walipewa aina ya mkanda, tupu nafasi ambayo unaweza kuandika barua. 1328 01:03:04,550 --> 01:03:07,150 Wewe tu kuwa na maalum ishara, kama kiholela 1329 01:03:07,150 --> 01:03:10,316 idadi sifuri, kuweka mwishoni mwa maneno yako ili kompyuta anajua, 1330 01:03:10,316 --> 01:03:13,410 oh, I wanapaswa kuacha uchapishaji baada Mimi naona mshangao uhakika. 1331 01:03:13,410 --> 01:03:16,090 Kwa sababu jambo la pili huko ni thamani ASCII ya sifuri, 1332 01:03:16,090 --> 01:03:19,125 au tabia null kama mtu bila simu yake. 1333 01:03:19,125 --> 01:03:21,500 Lakini kuna aina ya tatizo hapa, na hebu revert nyuma 1334 01:03:21,500 --> 01:03:23,320 kwa idadi kwa muda. 1335 01:03:23,320 --> 01:03:28,720 Tuseme kwamba mimi kufanya, kwa kweli, na safu ya idadi, 1336 01:03:28,720 --> 01:03:30,730 na tuseme kwamba Mpango mimi nina kuandika ni 1337 01:03:30,730 --> 01:03:34,680 kama kitabu daraja kwa mwalimu na darasa walimu. 1338 01:03:34,680 --> 01:03:38,720 Na mpango huu inaruhusu kwake aina katika alama ya wanafunzi wao 1339 01:03:38,720 --> 01:03:39,960 juu ya Quizzes. 1340 01:03:39,960 --> 01:03:43,750 Na tuseme kwamba mwanafunzi anapata 100 juu ya jaribio lao la kwanza, labda 1341 01:03:43,750 --> 01:03:49,920 kama 80 kwenye moja ijayo, basi 75, kisha 90 juu ya jaribio la nne. 1342 01:03:49,920 --> 01:03:54,150 >> Hivyo katika hatua hii ya hadithi, safu ni ya kawaida nne. 1343 01:03:54,150 --> 01:03:58,470 Kuna kabisa zaidi ya kumbukumbu katika kompyuta, lakini safu, hivyo kusema, 1344 01:03:58,470 --> 01:04:00,350 ni ya kawaida nne. 1345 01:04:00,350 --> 01:04:06,060 Tuseme sasa kwamba mwalimu anataka hawawajui Jaribio tano darasani. 1346 01:04:06,060 --> 01:04:08,510 Naam, moja ya mambo yeye au yeye ni kwenda kufanya 1347 01:04:08,510 --> 01:04:10,650 sasa ni kuhifadhi thamani ya ziada hapa. 1348 01:04:10,650 --> 01:04:15,490 Lakini kama safu mwalimu ana kuundwa katika mpango huu ni wa kawaida kwa ajili ya, 1349 01:04:15,490 --> 01:04:22,440 moja ya tatizo na safu ni kwamba huwezi kuendelea kuongeza kwa kumbukumbu. 1350 01:04:22,440 --> 01:04:26,470 Kwa sababu nini kama sehemu nyingine ya mpango ina neno "hey" haki pale? 1351 01:04:26,470 --> 01:04:29,650 >> Kwa maneno mengine, kumbukumbu yangu inaweza kuwa kutumika kwa ajili ya kitu chochote katika mpango. 1352 01:04:29,650 --> 01:04:33,250 Na kama mapema mimi typed katika, hey, Nataka alama pembejeo nne jaribio, 1353 01:04:33,250 --> 01:04:34,784 wapate kwenda hapa na hapa. 1354 01:04:34,784 --> 01:04:37,700 Na kama kwa ghafla mabadiliko ya akili yako baadaye na kusema nataka Jaribio tano 1355 01:04:37,700 --> 01:04:40,872 alama, huwezi tu kuiweka popote unataka, 1356 01:04:40,872 --> 01:04:42,580 kwa sababu nini kama hii kumbukumbu unatumiwa 1357 01:04:42,580 --> 01:04:45,990 kwa ajili ya kitu else-- baadhi ya programu nyingine au baadhi ya kipengele mengine ya mpango 1358 01:04:45,990 --> 01:04:46,910 kwamba wewe ni mbio? 1359 01:04:46,910 --> 01:04:50,650 Hivyo kuwa na kufikiri mapema jinsi gani unataka kuhifadhi data yako, 1360 01:04:50,650 --> 01:04:54,480 kwa sababu sasa umefanya walijenga mwenyewe katika kona digital. 1361 01:04:54,480 --> 01:04:57,280 >> Hivyo mwalimu anaweza badala kusema wakati kuandika mpango 1362 01:04:57,280 --> 01:04:59,360 kuhifadhi yake darasa, unajua nini? 1363 01:04:59,360 --> 01:05:04,180 Mimi naenda kuomba, wakati wa kuandika mpango wangu, 1364 01:05:04,180 --> 01:05:12,070 kuwa nataka sifuri, moja, mbili, tatu, nne, tano, sita, nane darasa jumla. 1365 01:05:12,070 --> 01:05:15,320 Hivyo moja, mbili, tatu, nne, tano, sita, saba, nane. 1366 01:05:15,320 --> 01:05:18,612 Mwalimu anaweza tu juu-kutenga kumbukumbu wakati wa kuandika mpango wake 1367 01:05:18,612 --> 01:05:19,570 na kusema, unajua nini? 1368 01:05:19,570 --> 01:05:22,236 Mimi kamwe kwenda hawawajui zaidi ya nane Quizzes katika muhula. 1369 01:05:22,236 --> 01:05:23,130 Hiyo ni tu mambo. 1370 01:05:23,130 --> 01:05:24,470 Mimi hutaweza kutenga hiyo. 1371 01:05:24,470 --> 01:05:28,270 Hivyo kwamba njia hii yeye au yeye ana kubadilika kwa alama duka mwanafunzi, 1372 01:05:28,270 --> 01:05:33,010 kama 75, 90, na labda moja ya ziada ambapo mwanafunzi got mikopo ya ziada, 105. 1373 01:05:33,010 --> 01:05:36,130 >> Lakini kama mwalimu kamwe anatumia nafasi hizi tatu, 1374 01:05:36,130 --> 01:05:38,860 kuna takeaway Intuitive hapa. 1375 01:05:38,860 --> 01:05:41,410 Yeye au yeye ni tu kupoteza nafasi. 1376 01:05:41,410 --> 01:05:44,790 Hivyo kwa maneno mengine, kuna hii kawaida tradeoff katika programu 1377 01:05:44,790 --> 01:05:48,241 ambapo unaweza ama kutenga kumbukumbu hasa kama vile unataka, 1378 01:05:48,241 --> 01:05:51,490 suala la mafanikio ya ambayo ni kwamba wewe ni super efficient-- wewe si kuwa fujo 1379 01:05:51,490 --> 01:05:54,640 katika all-- lakini upande wa chini ya ambayo ni nini kama wewe kubadili akili yako wakati 1380 01:05:54,640 --> 01:05:58,780 kutumia mpango kwamba unataka kuhifadhi data zaidi kuliko wewe awali lengo. 1381 01:05:58,780 --> 01:06:03,030 >> Hivyo labda ufumbuzi ni, basi, kuandika mipango yako kwa namna 1382 01:06:03,030 --> 01:06:05,605 kwamba wanatumia zaidi ya kumbukumbu kuliko wao kweli wanahitaji. 1383 01:06:05,605 --> 01:06:07,730 Kwa njia hii wewe si kwenda kukimbia katika tatizo kwamba, 1384 01:06:07,730 --> 01:06:09,730 lakini wewe kuwa fujo. 1385 01:06:09,730 --> 01:06:12,960 Na zaidi ya kumbukumbu ya mpango wako anatumia, kama sisi kujadiliwa jana, chini ya 1386 01:06:12,960 --> 01:06:15,410 kumbukumbu hiyo inapatikana kwa programu nyingine, 1387 01:06:15,410 --> 01:06:18,790 mapema kompyuta yako inaweza kupunguza chini kwa sababu ya kumbukumbu virtual. 1388 01:06:18,790 --> 01:06:22,670 Na hivyo ufumbuzi bora inaweza kuwa nini? 1389 01:06:22,670 --> 01:06:24,610 >> Chini ya kugawa inaonekana mbaya. 1390 01:06:24,610 --> 01:06:27,030 Zaidi ya-kugawa inaonekana mbaya. 1391 01:06:27,030 --> 01:06:31,120 Hivyo kile anaweza kuwa suluhisho bora? 1392 01:06:31,120 --> 01:06:32,390 Reallocating. 1393 01:06:32,390 --> 01:06:33,590 Kuwa nguvu zaidi. 1394 01:06:33,590 --> 01:06:37,520 Je, si nguvu mwenyewe kwa kuchagua priori, mwanzoni, unataka nini. 1395 01:06:37,520 --> 01:06:41,370 Na hakika si juu-kutenga, usije kuwa fujo. 1396 01:06:41,370 --> 01:06:45,770 >> Na hivyo kufikia lengo hilo, sisi unahitaji kutupa muundo huu data, 1397 01:06:45,770 --> 01:06:48,100 hivyo kusema, mbali. 1398 01:06:48,100 --> 01:06:51,080 Na hivyo kile programu itakuwa kawaida kutumia 1399 01:06:51,080 --> 01:06:55,940 ni kitu kinachoitwa si safu lakini orodha wanaohusishwa. 1400 01:06:55,940 --> 01:07:00,860 Kwa maneno mengine, yeye au yeye mapenzi kuanza kufikiri ya kumbukumbu yao 1401 01:07:00,860 --> 01:07:05,280 kama kuwa aina ya sura kwamba wao Unaweza kuteka kwa njia hii. 1402 01:07:05,280 --> 01:07:08,520 Kama nataka kuhifadhi namba moja katika program-- hivyo ni Septemba, 1403 01:07:08,520 --> 01:07:12,600 Nimekupa wanafunzi wangu jaribio; nataka kuhifadhi wanafunzi 'jaribio la kwanza, 1404 01:07:12,600 --> 01:07:16,220 na wao got 100 juu ya mimi it-- naenda kuuliza kompyuta yangu, 1405 01:07:16,220 --> 01:07:19,540 kwa njia ya mpango nimekuwa Imeandikwa, kwa chunk moja ya kumbukumbu. 1406 01:07:19,540 --> 01:07:22,570 Na mimi nina kwenda kuhifadhi idadi 100 ndani yake, na hiyo ni yake. 1407 01:07:22,570 --> 01:07:24,820 >> wiki chache baadaye basi wakati mimi kupata Jaribio yangu ya pili, 1408 01:07:24,820 --> 01:07:27,890 na ni wakati wa aina katika kwamba 90%, nakwenda 1409 01:07:27,890 --> 01:07:32,129 kuuliza kompyuta, hey, kompyuta, nitampata mwingine chunk ya kumbukumbu? 1410 01:07:32,129 --> 01:07:34,170 Ni kwenda nipe huu tupu chunk ya kumbukumbu. 1411 01:07:34,170 --> 01:07:39,370 Mimi nina kwenda kuweka katika idadi 90, lakini katika mpango wangu kwa namna fulani au other-- 1412 01:07:39,370 --> 01:07:42,100 na hatutakuwa na wasiwasi juu ya syntax kwa Haya nahitaji 1413 01:07:42,100 --> 01:07:44,430 kwa namna fulani mlolongo mambo haya kwa pamoja. 1414 01:07:44,430 --> 01:07:47,430 Na mimi itabidi mlolongo yao pamoja na kile kinachoonekana kama mshale hapa. 1415 01:07:47,430 --> 01:07:50,050 >> Jaribio la tatu kuja juu, Mimi nina kwenda kusema, hey, kompyuta, 1416 01:07:50,050 --> 01:07:51,680 nipe mwingine chunk ya kumbukumbu. 1417 01:07:51,680 --> 01:07:54,660 Na mimi nina kwenda kuweka chini chochote ilikuwa, kama 75, 1418 01:07:54,660 --> 01:07:56,920 na mimi kuwa na mlolongo huu pamoja sasa kwa namna fulani. 1419 01:07:56,920 --> 01:08:00,290 Jaribio la nne huja pamoja, na labda hiyo ni kuelekea mwisho wa muhula. 1420 01:08:00,290 --> 01:08:03,140 Na kwa kuwa hatua mpango wangu inaweza kuwa kutumia kumbukumbu 1421 01:08:03,140 --> 01:08:05,540 kila mahali, kote kimwili. 1422 01:08:05,540 --> 01:08:08,170 Na hivyo tu kwa mateke, mimi nina kwenda kuteka hii nje 1423 01:08:08,170 --> 01:08:11,260 quiz-- mimi kusahau ni kitu gani, mimi kufikiri labda 80 au something-- 1424 01:08:11,260 --> 01:08:12,500 njia zaidi ya hapa. 1425 01:08:12,500 --> 01:08:15,920 >> Lakini hiyo ni nzuri, kwa sababu pictorially Mimi nina kwenda kuteka mstari huu. 1426 01:08:15,920 --> 01:08:19,063 Kwa maneno mengine, katika hali halisi, katika vifaa vya kompyuta yako, 1427 01:08:19,063 --> 01:08:20,979 alama ya kwanza wapate kuishia hapa kwa sababu ni 1428 01:08:20,979 --> 01:08:22,529 haki katika mwanzo wa muhula. 1429 01:08:22,529 --> 01:08:25,810 moja ijayo inaweza kuishia hapa kwa sababu muda kidogo umepita 1430 01:08:25,810 --> 01:08:27,210 na mpango anaendelea mbio. 1431 01:08:27,210 --> 01:08:30,060 alama ya pili, ambayo ilikuwa 75, inaweza kuwa zaidi ya hapa. 1432 01:08:30,060 --> 01:08:33,420 Na alama ya mwisho inaweza kuwa 80, ambayo ni zaidi ya hapa. 1433 01:08:33,420 --> 01:08:38,729 >> Hivyo katika hali halisi, kimwili, hii inaweza kuwa nini kumbukumbu ya kompyuta yako inaonekana kama. 1434 01:08:38,729 --> 01:08:41,569 Lakini hii si muhimu akili dhana kwa ajili ya programu ya kompyuta. 1435 01:08:41,569 --> 01:08:44,649 Kwa nini wewe huduma ambapo heck data yako ni kuishia? 1436 01:08:44,649 --> 01:08:46,200 Wewe tu unataka kuhifadhi data. 1437 01:08:46,200 --> 01:08:49,390 >> Hii ni aina ya kama mjadala wetu awali ya kuchora mchemraba. 1438 01:08:49,390 --> 01:08:52,200 Kwa nini huduma ya kile pembeni ni wa mchemraba 1439 01:08:52,200 --> 01:08:53,740 na jinsi una kugeuka kuteka ni? 1440 01:08:53,740 --> 01:08:54,950 Unataka tu mchemraba. 1441 01:08:54,950 --> 01:08:57,359 Vile vile hapa, nataka tu kitabu daraja. 1442 01:08:57,359 --> 01:08:59,559 Wewe tu nataka kufikiri ya hili kama orodha ya namba. 1443 01:08:59,559 --> 01:09:01,350 Nani anayejali jinsi gani ni kutekelezwa katika vifaa? 1444 01:09:01,350 --> 01:09:05,180 >> Hivyo uchukuaji sasa ni picha hii hapa. 1445 01:09:05,180 --> 01:09:07,580 Hii ni wanaohusishwa orodha, kama programu kuita yake, 1446 01:09:07,580 --> 01:09:10,640 kadiri una orodha, ni wazi wa idadi. 1447 01:09:10,640 --> 01:09:14,990 Lakini ni wanaohusishwa pictorially kwa njia ya mishale haya, 1448 01:09:14,990 --> 01:09:18,510 na mishale yote haya are-- chini kofia, kama wewe ni curious, 1449 01:09:18,510 --> 01:09:23,210 kukumbuka kuwa vifaa yetu ya kimwili ina anwani sifuri, moja, mbili, tatu, nne. 1450 01:09:23,210 --> 01:09:28,465 mishale haya yote ni ni kama ramani au maelekezo, ambapo kama 90 is-- sasa 1451 01:09:28,465 --> 01:09:29,090 I got kuhesabu. 1452 01:09:29,090 --> 01:09:31,750 >> Sifuri, moja, mbili, tatu, nne, tano, sita, saba. 1453 01:09:31,750 --> 01:09:35,640 Inaonekana kama 90 ni katika kumbukumbu anuani namba saba. 1454 01:09:35,640 --> 01:09:38,460 mishale haya yote ni ni kama chakavu kidogo cha karatasi 1455 01:09:38,460 --> 01:09:42,439 hiyo kutoa maelekezo kwa mpango kwamba anasema kufuata ramani hii 1456 01:09:42,439 --> 01:09:43,880 kupata eneo saba. 1457 01:09:43,880 --> 01:09:46,680 Na kuna utapata mwanafunzi Jaribio la pili score. 1458 01:09:46,680 --> 01:09:52,100 Wakati huo huo, 75-- kama mimi kuendelea hii, hii ni saba, nane, tisa, 10, 11, 12, 1459 01:09:52,100 --> 01:09:54,240 13, 14, 15. 1460 01:09:54,240 --> 01:09:59,080 >> Hii mshale mmoja tu inawakilisha ramani ya eneo ya kumbukumbu 15. 1461 01:09:59,080 --> 01:10:02,550 Lakini tena, programu ujumla gani hawajali ngazi hii ya kina. 1462 01:10:02,550 --> 01:10:05,530 Na katika wengi kila programu Lugha leo, programu 1463 01:10:05,530 --> 01:10:10,490 huwezi hata kujua ambapo katika kumbukumbu namba hizi kweli ni. 1464 01:10:10,490 --> 01:10:14,830 All yeye au yeye ana huduma ya juu ni kwamba wao ni namna fulani wanaohusishwa pamoja 1465 01:10:14,830 --> 01:10:18,390 katika muundo data kama hii. 1466 01:10:18,390 --> 01:10:21,580 >> Lakini zinageuka si kupata pia kiufundi. 1467 01:10:21,580 --> 01:10:27,430 Lakini kwa sababu tu tunaweza labda kumudu kuwa na mjadala huu hapa, 1468 01:10:27,430 --> 01:10:33,630 tuseme kwamba sisi kupitia upya suala hili hapa ya safu. 1469 01:10:33,630 --> 01:10:35,780 Hebu tuone kama sisi majuto kwenda hapa. 1470 01:10:35,780 --> 01:10:42,950 Hii ni 100, 90, 75, na 80. 1471 01:10:42,950 --> 01:10:44,980 >> Napenda kwa ufupi kufanya dai hili. 1472 01:10:44,980 --> 01:10:48,980 Hii ni safu, na tena, salient tabia ya safu 1473 01:10:48,980 --> 01:10:52,400 ni kwamba wote wa data zako ni nyuma nyuma kwa nyuma katika memory-- literally 1474 01:10:52,400 --> 01:10:56,830 byte moja au labda nne ka, baadhi idadi maalum ya ka mbali. 1475 01:10:56,830 --> 01:11:00,710 Katika orodha wanaohusishwa, ambayo sisi tupate kuteka kama hii, chini ya Hood ambaye 1476 01:11:00,710 --> 01:11:02,000 anajua ambapo mambo ambayo ni? 1477 01:11:02,000 --> 01:11:03,630 Haina hata haja ya kumiminika kama hii. 1478 01:11:03,630 --> 01:11:06,050 Baadhi ya data inaweza kuwa nyuma ya kushoto hadi pale. 1479 01:11:06,050 --> 01:11:07,530 Huwezi hata kujua. 1480 01:11:07,530 --> 01:11:15,430 >> Na hivyo na safu, una kipengele inayojulikana kama upatikanaji random. 1481 01:11:15,430 --> 01:11:20,570 Na nini random kupata njia ni kompyuta inaweza kuruka instantly 1482 01:11:20,570 --> 01:11:22,730 kwa eneo lolote katika safu. 1483 01:11:22,730 --> 01:11:23,580 Kwa nini? 1484 01:11:23,580 --> 01:11:26,000 Kwa sababu kompyuta anajua kwamba eneo la kwanza ni 1485 01:11:26,000 --> 01:11:29,540 sifuri, moja, mbili, na tatu. 1486 01:11:29,540 --> 01:11:33,890 >> Na hivyo kama unataka kwenda kutoka kipengele huu kwa kipengele ijayo, 1487 01:11:33,890 --> 01:11:36,099 wewe literally, katika akili ya kompyuta, tu kuongeza moja. 1488 01:11:36,099 --> 01:11:39,140 Kama unataka kwenda kipengele cha tatu, tu kuongeza one-- kipengele ijayo, tu 1489 01:11:39,140 --> 01:11:40,290 kuongeza moja. 1490 01:11:40,290 --> 01:11:42,980 Hata hivyo, katika toleo hili ya hadithi, tuseme 1491 01:11:42,980 --> 01:11:46,080 kompyuta sasa ni kuangalia katika au kushughulika na idadi 100. 1492 01:11:46,080 --> 01:11:49,770 Jinsi gani unaweza kupata ijayo daraja katika kitabu daraja? 1493 01:11:49,770 --> 01:11:52,560 >> Una kuchukua saba hatua, ambayo ni holela. 1494 01:11:52,560 --> 01:11:58,120 Ili kupata moja ijayo, una kuchukua hatua nyingine nane kupata 15. 1495 01:11:58,120 --> 01:12:02,250 Kwa maneno mengine, siyo pengo mara kwa mara kati ya idadi, 1496 01:12:02,250 --> 01:12:04,857 na hivyo ni tu inachukua kompyuta muda zaidi ni uhakika. 1497 01:12:04,857 --> 01:12:06,940 kompyuta ina kutafuta kupitia kumbukumbu ili 1498 01:12:06,940 --> 01:12:08,990 kupata nini ni kuangalia kwa. 1499 01:12:08,990 --> 01:12:14,260 >> Hivyo ambapo safu inaelekea kuwa haraka data structure-- kwa sababu wewe 1500 01:12:14,260 --> 01:12:17,610 Unaweza literally tu kufanya hesabu rahisi na kupata wapi unataka na kuongeza moja, 1501 01:12:17,610 --> 01:12:21,300 kwa instance-- orodha wanaohusishwa, wewe sadaka kipengele kwamba. 1502 01:12:21,300 --> 01:12:24,020 Huwezi tu kwenda kutoka kwanza kwa ya pili ya tatu kwa nne. 1503 01:12:24,020 --> 01:12:25,240 Una kufuata ramani. 1504 01:12:25,240 --> 01:12:28,160 Una kuchukua hatua zaidi kupata maadili hayo, ambayo 1505 01:12:28,160 --> 01:12:30,230 bila ya kuonekana kuwa na kuongeza gharama. 1506 01:12:30,230 --> 01:12:35,910 Hivyo sisi ni kulipa bei, lakini kile alikuwa kipengele kwamba Dan alikuwa akitafuta hapa? 1507 01:12:35,910 --> 01:12:38,110 Je orodha wanaohusishwa inaonekana kuruhusu sisi kufanya, 1508 01:12:38,110 --> 01:12:40,240 ambayo ilikuwa chanzo cha hii hadithi fulani? 1509 01:12:40,240 --> 01:12:43,250 1510 01:12:43,250 --> 01:12:43,830 >> Hasa. 1511 01:12:43,830 --> 01:12:46,220 ukubwa nguvu yake. 1512 01:12:46,220 --> 01:12:48,040 Tunaweza kuongeza kwenye orodha hii. 1513 01:12:48,040 --> 01:12:51,430 Tunaweza hata kuogopa orodha, hivyo kwamba tuko tu kutumia kumbukumbu kama kiasi 1514 01:12:51,430 --> 01:12:55,560 kama sisi kweli wanataka na hivyo tuko kamwe juu-kugawa. 1515 01:12:55,560 --> 01:12:58,470 >> Sasa tu kuwa kweli NIT-picky, kuna gharama za siri. 1516 01:12:58,470 --> 01:13:01,980 Hivyo unapaswa tu basi mimi kuwashawishi kwamba hii ni kulazimisha tradeoff. 1517 01:13:01,980 --> 01:13:04,190 Kuna mwingine gharama za siri hapa. 1518 01:13:04,190 --> 01:13:06,550 faida, kuwa wazi, ni kwamba sisi kupata mabadiliko. 1519 01:13:06,550 --> 01:13:10,359 Kama mimi nataka kipengele mwingine, naweza tu kuteka yake na kuweka namba katika huko. 1520 01:13:10,359 --> 01:13:12,150 Na kisha naweza kuhusisha na picha hapa, 1521 01:13:12,150 --> 01:13:14,970 ambapo zaidi ya hapa, tena, kama mimi wameweza walijenga mwenyewe kwenye kona, 1522 01:13:14,970 --> 01:13:19,410 kama kitu kingine ni tayari kutumia kumbukumbu hapa, mimi nina nje ya bahati. 1523 01:13:19,410 --> 01:13:21,700 Nimekuwa walijenga mwenyewe katika kona. 1524 01:13:21,700 --> 01:13:24,390 >> Lakini nini siri gharama katika picha hii? 1525 01:13:24,390 --> 01:13:27,690 Siyo tu kiasi muda kwamba inachukua 1526 01:13:27,690 --> 01:13:29,870 kwenda kutoka hapa hapa, ambayo ni hatua saba, kisha 1527 01:13:29,870 --> 01:13:32,820 hatua nane, ambayo ni zaidi ya moja. 1528 01:13:32,820 --> 01:13:34,830 Nini gharama nyingine ya siri? 1529 01:13:34,830 --> 01:13:35,440 Sio tu wakati. 1530 01:13:35,440 --> 01:13:44,790 1531 01:13:44,790 --> 01:13:49,940 Maelezo ya ziada ni muhimu ili kufikia picha hii. 1532 01:13:49,940 --> 01:13:53,210 >> Yeah, kwamba ramani, wale vyuma chakavu kidogo ya karatasi, kama mimi kuweka wakielezea kama. 1533 01:13:53,210 --> 01:13:55,650 Hizi arrows-- wale si bure. 1534 01:13:55,650 --> 01:13:57,660 computer-- unajua nini kompyuta ina. 1535 01:13:57,660 --> 01:13:58,790 Ina zeros na ndio. 1536 01:13:58,790 --> 01:14:03,170 Kama unataka kuwakilisha mshale au ramani au idadi, unahitaji baadhi ya kumbukumbu. 1537 01:14:03,170 --> 01:14:05,950 Hivyo bei nyingine kulipia orodha wanaohusishwa, 1538 01:14:05,950 --> 01:14:09,070 kawaida sayansi ya kompyuta rasilimali, pia ni nafasi. 1539 01:14:09,070 --> 01:14:11,710 >> Na hakika hivyo, hivyo kawaida, miongoni mwa ujanja 1540 01:14:11,710 --> 01:14:15,580 katika kubuni programu uhandisi mifumo ni muda na space-- 1541 01:14:15,580 --> 01:14:18,596 ni mbili ya viungo yako, wawili ya viungo yako na gharama kubwa zaidi. 1542 01:14:18,596 --> 01:14:21,220 Hii ni gharama yangu muda zaidi kwa sababu mimi na kufuata ramani hii, 1543 01:14:21,220 --> 01:14:25,730 lakini pia ni gharama yangu nafasi zaidi kwa sababu mimi na kuweka ramani huu. 1544 01:14:25,730 --> 01:14:28,730 Hivyo matumaini, kama tumekuwa aina ya kujadiliwa zaidi jana na leo, 1545 01:14:28,730 --> 01:14:31,720 ni kwamba faida itakuwa outweigh gharama. 1546 01:14:31,720 --> 01:14:33,870 >> Lakini hakuna ufumbuzi wa dhahiri hapa. 1547 01:14:33,870 --> 01:14:35,870 Labda ni better-- la haraka na chafu, 1548 01:14:35,870 --> 01:14:38,660 kama Kareem mapendekezo earlier-- kutupa kumbukumbu katika tatizo. 1549 01:14:38,660 --> 01:14:42,520 Tu kununua zaidi ya kumbukumbu, kufikiri chini ngumu kuhusu utatuzi wa matatizo, 1550 01:14:42,520 --> 01:14:44,595 na kutatua hayo katika njia rahisi zaidi. 1551 01:14:44,595 --> 01:14:46,720 Na hakika kabla ya wakati kuongelea ujanja, 1552 01:14:46,720 --> 01:14:49,190 haikuwa nafasi katika Kompyuta na wakati. 1553 01:14:49,190 --> 01:14:51,810 Ilikuwa ni developer wakati, ambayo bado rasilimali nyingine. 1554 01:14:51,810 --> 01:14:54,829 >> Hivyo tena, ni tendo hili ambalo kusawazisha kujaribu kuamua ambayo ya mambo hayo 1555 01:14:54,829 --> 01:14:55,870 ni wewe tayari kutumia? 1556 01:14:55,870 --> 01:14:57,380 Ambayo ni mdogo na gharama kubwa? 1557 01:14:57,380 --> 01:15:01,040 Ambayo huleta matokeo bora? 1558 01:15:01,040 --> 01:15:01,540 Yeah? 1559 01:15:01,540 --> 01:15:11,310 1560 01:15:11,310 --> 01:15:12,580 >> Hakika. 1561 01:15:12,580 --> 01:15:15,970 Katika kesi hiyo, kama wewe ni anayewakilisha idadi katika maps-- 1562 01:15:15,970 --> 01:15:18,820 hizi zinaitwa katika lugha nyingi "Kuyatumia" au "anwani" - 1563 01:15:18,820 --> 01:15:20,390 ni mara mbili nafasi. 1564 01:15:20,390 --> 01:15:24,390 Hiyo haihitaji kuwa mbaya kama mara mbili kama sasa hivi sisi ni hifadhi tu idadi. 1565 01:15:24,390 --> 01:15:27,410 Tuseme kwamba tulikuwa kuhifadhi kumbukumbu na subira katika hospital-- 1566 01:15:27,410 --> 01:15:30,870 hivyo majina Pierson, namba za simu, idadi ya usalama ya kijamii, daktari 1567 01:15:30,870 --> 01:15:31,540 historia. 1568 01:15:31,540 --> 01:15:34,160 sanduku hii inaweza kuwa mengi, kubwa sana, katika kesi ambayo 1569 01:15:34,160 --> 01:15:38,000 kidogo kidogo pointer, pepe ya ijayo element-- ni si kubwa mpango huo. 1570 01:15:38,000 --> 01:15:40,620 Ni kama pindo gharama haijalishi. 1571 01:15:40,620 --> 01:15:43,210 Lakini katika kesi hii, yeah, ni mara dufu. 1572 01:15:43,210 --> 01:15:45,290 swali zuri. 1573 01:15:45,290 --> 01:15:47,900 >> Hebu majadiliano juu ya muda a kidogo uthabiti zaidi. 1574 01:15:47,900 --> 01:15:50,380 Nini wakati mbio ya kutafuta orodha hii? 1575 01:15:50,380 --> 01:15:53,640 Tuseme nilitaka kutafuta kupitia kila darasa la wanafunzi, 1576 01:15:53,640 --> 01:15:55,980 na kuna n darasa katika muundo huu data. 1577 01:15:55,980 --> 01:15:58,830 Hapa pia, tunaweza kukopa msamiati wa awali. 1578 01:15:58,830 --> 01:16:00,890 Hii ni data linear muundo. 1579 01:16:00,890 --> 01:16:04,570 >> Big O ya n ni nini wanatakiwa kupata hadi mwisho wa muundo huu data, 1580 01:16:04,570 --> 01:16:08,410 whereas-- na hatujaona huu kabla, safu anatoa 1581 01:16:08,410 --> 01:16:13,555 kile kinachoitwa wakati mara kwa mara, ambayo ina maana hatua moja au hatua mbili au 10 steps-- 1582 01:16:13,555 --> 01:16:14,180 haijalishi. 1583 01:16:14,180 --> 01:16:15,440 Ni idadi fasta. 1584 01:16:15,440 --> 01:16:17,440 Ina chochote cha kufanya na ukubwa wa safu. 1585 01:16:17,440 --> 01:16:20,130 Na sababu ya kuwa, tena, ni upatikanaji random. 1586 01:16:20,130 --> 01:16:23,180 kompyuta Unaweza tu mara moja kuruka kwa eneo jingine, 1587 01:16:23,180 --> 01:16:27,770 kwa sababu wao uko wote ni sawa umbali kutoka kila kitu kingine. 1588 01:16:27,770 --> 01:16:29,112 Hakuna kufikiri wanaohusika. 1589 01:16:29,112 --> 01:16:31,900 1590 01:16:31,900 --> 01:16:32,400 Sawa. 1591 01:16:32,400 --> 01:16:39,230 Hivyo kama naweza, napenda kujaribu kuchora picha mbili za mwisho. 1592 01:16:39,230 --> 01:16:42,830 moja ya kawaida sana inayojulikana kama meza hash. 1593 01:16:42,830 --> 01:16:51,120 Hivyo kuwahamasisha mjadala huu, napenda kufikiri kuhusu jinsi ya kufanya hivyo. 1594 01:16:51,120 --> 01:16:52,610 >> Hivyo ni jinsi kuhusu hili? 1595 01:16:52,610 --> 01:16:55,160 Tuseme kwamba tatizo tunataka kutatua sasa 1596 01:16:55,160 --> 01:16:58,360 inatekeleza katika dictionary-- hivyo rundo zima la maneno ya Kiingereza 1597 01:16:58,360 --> 01:16:59,330 au chochote. 1598 01:16:59,330 --> 01:17:02,724 Na lengo ni kuwa na uwezo wa kujibu maswali ya aina hii si kauli? 1599 01:17:02,724 --> 01:17:04,640 Kwa hiyo unataka kutekeleza Spell kusahihisha, tu 1600 01:17:04,640 --> 01:17:07,220 kama kamusi kimwili kwamba unaweza kuangalia mambo juu katika. 1601 01:17:07,220 --> 01:17:10,490 Tuseme ningekuwa na kufanya huu kwa safu. 1602 01:17:10,490 --> 01:17:12,590 Mimi naweza kufanya hili. 1603 01:17:12,590 --> 01:17:20,756 >> Na tuseme maneno ni apple na ndizi na tikiti maji. 1604 01:17:20,756 --> 01:17:23,330 1605 01:17:23,330 --> 01:17:26,465 Na siwezi kufikiria matunda zinazoanza na d, hivyo tuko tu 1606 01:17:26,465 --> 01:17:27,590 kwenda na matunda tatu. 1607 01:17:27,590 --> 01:17:31,510 Hivyo hii ni safu, na tuko kuhifadhi wote wa maneno haya 1608 01:17:31,510 --> 01:17:34,200 katika kamusi hii kama safu. 1609 01:17:34,200 --> 01:17:39,350 swali, basi, ni jinsi mwingine inaweza kuhifadhi habari hii? 1610 01:17:39,350 --> 01:17:43,160 >> Naam, mimi nina aina ya cheating hapa, kwa sababu kila moja ya barua hizo katika neno 1611 01:17:43,160 --> 01:17:44,490 ni kweli Byte mtu binafsi. 1612 01:17:44,490 --> 01:17:46,740 Hivyo kama mimi kwa kweli alitaka kuwa nit-picky, mimi lazima kweli 1613 01:17:46,740 --> 01:17:49,600 kuwa kugawa hii up katika mengi chunks ndogo ya kumbukumbu, 1614 01:17:49,600 --> 01:17:51,289 na tunaweza kufanya hasa kwamba. 1615 01:17:51,289 --> 01:17:53,580 Lakini tunakwenda kukimbia katika tatizo sawa mbele. 1616 01:17:53,580 --> 01:17:56,674 Nini kama, kama Merriam Webster au Oxford anafanya kila year-- wao kuongeza maneno 1617 01:17:56,674 --> 01:17:59,340 kwa dictionary-- hatufanyi lazima unataka rangi wenyewe 1618 01:17:59,340 --> 01:18:00,780 ndani ya kona na safu? 1619 01:18:00,780 --> 01:18:05,710 >> Hivyo badala yake, labda mbinu nadhifu ni kuweka apple katika node yake mwenyewe au sanduku, 1620 01:18:05,710 --> 01:18:11,190 kama tunataka kusema, ndizi, na basi hapa tuna tikiti maji. 1621 01:18:11,190 --> 01:18:14,990 1622 01:18:14,990 --> 01:18:16,790 Na sisi kamba mambo haya kwa pamoja. 1623 01:18:16,790 --> 01:18:19,980 Hivyo hii ni safu, na hii ni orodha wanaohusishwa. 1624 01:18:19,980 --> 01:18:23,300 Kama huwezi kabisa kuona, ni tu anasema "safu," na hii anasema "orodha." 1625 01:18:23,300 --> 01:18:25,780 >> Hivyo tuna huo masuala halisi kama kabla, 1626 01:18:25,780 --> 01:18:28,600 ambapo sisi sasa kuwa mabadiliko katika orodha yetu wanaohusishwa. 1627 01:18:28,600 --> 01:18:31,090 Lakini tuna haki polepole kamusi. 1628 01:18:31,090 --> 01:18:32,870 Tuseme nataka kuangalia juu ya neno. 1629 01:18:32,870 --> 01:18:35,430 Ni inaweza kuchukua me O kubwa ya n hatua, kwa sababu neno nguvu 1630 01:18:35,430 --> 01:18:37,840 kuwa njia zote mwishoni mwa orodha, kama tikiti maji. 1631 01:18:37,840 --> 01:18:40,600 Na zinageuka kuwa katika programu, aina 1632 01:18:40,600 --> 01:18:42,700 ya grail takatifu ya data miundo, ni kitu 1633 01:18:42,700 --> 01:18:46,620 kwamba anatoa mara kwa mara muda kama safu 1634 01:18:46,620 --> 01:18:50,870 lakini hiyo bado anatoa mabadiliko. 1635 01:18:50,870 --> 01:18:52,940 >> Hivyo tunaweza kuwa bora wa walimwengu wote? 1636 01:18:52,940 --> 01:18:55,570 Na hakika, kuna kitu aitwaye hash meza 1637 01:18:55,570 --> 01:18:59,320 kwamba utapata kufanya hasa kwamba, angalau takriban. 1638 01:18:59,320 --> 01:19:03,140 meza hash ni fancier muundo wa data kwamba sisi 1639 01:19:03,140 --> 01:19:06,340 unaweza kufikiria kama mchanganyiko wa array-- 1640 01:19:06,340 --> 01:19:12,390 na mimi nina kwenda kuteka ni kama hii na orodha wanaohusishwa 1641 01:19:12,390 --> 01:19:17,310 kwamba mimi itabidi kuteka kama hii zaidi ya hapa. 1642 01:19:17,310 --> 01:19:19,760 >> Na jinsi suala hili kazi ni kama ifuatavyo. 1643 01:19:19,760 --> 01:19:23,310 1644 01:19:23,310 --> 01:19:29,540 Kama hii now-- hash table-- ni data ya tatu muundo wangu, 1645 01:19:29,540 --> 01:19:32,590 na nataka kuhifadhi Maneno katika hili, mimi si 1646 01:19:32,590 --> 01:19:35,440 unataka kuhifadhi tu wote wa Maneno nyuma kwa nyuma kwa nyuma kwa nyuma. 1647 01:19:35,440 --> 01:19:37,430 Nataka kujiinua baadhi kipande cha habari 1648 01:19:37,430 --> 01:19:40,330 kuhusu maneno kwamba basi me kupata ambapo ni kwa kasi zaidi. 1649 01:19:40,330 --> 01:19:43,666 >> Hivyo kutokana na maneno apple na ndizi na tikiti maji, 1650 01:19:43,666 --> 01:19:45,040 Mimi alichagua maneno hayo. 1651 01:19:45,040 --> 01:19:45,340 Kwa nini? 1652 01:19:45,340 --> 01:19:47,631 Nini aina ya kimsingi tofauti kuhusu tatu? 1653 01:19:47,631 --> 01:19:49,950 1654 01:19:49,950 --> 01:19:51,484 Nini wazi? 1655 01:19:51,484 --> 01:19:52,900 Wao kuanza na barua tofauti. 1656 01:19:52,900 --> 01:19:53,900 >> Hivyo unajua nini? 1657 01:19:53,900 --> 01:19:57,120 Badala ya kuweka maneno yangu yote katika ndoo moja, hivyo kusema, 1658 01:19:57,120 --> 01:20:00,390 kama katika orodha moja kubwa, kwa nini sio Mimi angalau kujaribu optimization 1659 01:20:00,390 --> 01:20:04,180 na kufanya orodha yangu 1/26 kwa muda mrefu. 1660 01:20:04,180 --> 01:20:07,440 optimization kulazimisha inaweza kuwa ni kwa nini hawana 1661 01:20:07,440 --> 01:20:10,650 I-- wakati kuingiza neno katika muundo huu data, 1662 01:20:10,650 --> 01:20:14,300 katika kumbukumbu ya kompyuta, kwa nini si mimi kuweka '' maneno yote hapa, 1663 01:20:14,300 --> 01:20:17,270 wote 'b' maneno hapa, na 'c' maneno yote hapa? 1664 01:20:17,270 --> 01:20:24,610 Hivyo hii kuishia kuweka apple hapa, ndizi hapa, tikiti maji hapa, 1665 01:20:24,610 --> 01:20:25,730 na kadhalika. 1666 01:20:25,730 --> 01:20:31,700 >> Na kama nina ziada neno like-- nini kingine? 1667 01:20:31,700 --> 01:20:36,640 Apple, ndizi, pear. 1668 01:20:36,640 --> 01:20:39,370 Mtu yeyote kufikiri ya matunda kwamba huanza na, b, au c? 1669 01:20:39,370 --> 01:20:40,570 Blueberry-- kamilifu. 1670 01:20:40,570 --> 01:20:43,990 Hiyo ni kwenda kuishia hapa. 1671 01:20:43,990 --> 01:20:47,530 Na hivyo sisi wanaonekana kuwa na kidogo ufumbuzi bora, 1672 01:20:47,530 --> 01:20:50,820 kwa sababu sasa kama nataka kutafuta apple, mimi 1673 01:20:50,820 --> 01:20:53,200 first-- mimi si tu kupiga mbizi ndani ya muundo yangu data. 1674 01:20:53,200 --> 01:20:54,850 Sina mbizi katika kumbukumbu ya kompyuta yangu. 1675 01:20:54,850 --> 01:20:56,530 Mimi kwanza tuangalie barua ya kwanza. 1676 01:20:56,530 --> 01:20:58,610 >> Na hii ni nini kompyuta mwanasayansi kusema. 1677 01:20:58,610 --> 01:21:00,760 You hash katika muundo yako data. 1678 01:21:00,760 --> 01:21:04,100 Wewe kuchukua mchango wako, ambayo katika kesi hii ni neno kama apple. 1679 01:21:04,100 --> 01:21:07,150 You kuchambua, kuangalia barua ya kwanza katika kesi hiyo, 1680 01:21:07,150 --> 01:21:08,340 hivyo hashing yake. 1681 01:21:08,340 --> 01:21:10,950 Hashing ni neno la jumla ambapo wewe kuchukua kitu kama pembejeo 1682 01:21:10,950 --> 01:21:12,116 na wewe kuzalisha baadhi pato. 1683 01:21:12,116 --> 01:21:15,090 Na pato katika kwamba kesi ni eneo 1684 01:21:15,090 --> 01:21:18,150 unataka kutafuta, kwanza eneo, eneo la pili, tatu. 1685 01:21:18,150 --> 01:21:22,160 Hivyo pembejeo ni apple, pato ni ya kwanza. 1686 01:21:22,160 --> 01:21:25,054 pembejeo ni ndizi, pato lazima pili. 1687 01:21:25,054 --> 01:21:27,220 pembejeo ni tikiti maji, pato lazima tatu. 1688 01:21:27,220 --> 01:21:30,320 pembejeo ni Blueberry, pato lazima tena kuwa ya pili. 1689 01:21:30,320 --> 01:21:34,010 Na kwamba ni nini husaidia kuchukua shortcuts kupitia kumbukumbu yako 1690 01:21:34,010 --> 01:21:39,050 ili kupata maneno au data kwa ufanisi zaidi. 1691 01:21:39,050 --> 01:21:43,330 >> Sasa hii kupunguzwa chini wakati wetu uwezekano kwa kadri mmoja kati ya 26, 1692 01:21:43,330 --> 01:21:45,850 kwa sababu kama wewe kudhani kuwa wewe kuwa kama wengi "" Maneno kama "z" 1693 01:21:45,850 --> 01:21:48,080 Maneno kama "q" maneno, ambayo si kweli realistic-- 1694 01:21:48,080 --> 01:21:50,830 wewe ni kwenda na skew hela baadhi ya herufi ya alphabet-- 1695 01:21:50,830 --> 01:21:53,204 lakini hii itakuwa Unaozidi mbinu hiyo haina kuruhusu 1696 01:21:53,204 --> 01:21:55,930 wewe kupata maneno haraka zaidi. 1697 01:21:55,930 --> 01:21:59,660 Na katika hali halisi, kisasa mpango, Googles ya dunia, 1698 01:21:59,660 --> 01:22:02,180 Facebooks ya world-- wangeweza kutumia meza hash 1699 01:22:02,180 --> 01:22:03,740 kwa mengi ya malengo tofauti. 1700 01:22:03,740 --> 01:22:06,590 Lakini wao isingekuwa hivyo naive kama tu kuangalia barua ya kwanza 1701 01:22:06,590 --> 01:22:09,700 katika apple au ndizi au pear au tikiti maji, 1702 01:22:09,700 --> 01:22:13,420 kwa sababu kama unaweza kuona haya orodha bado anaweza kupata muda mrefu. 1703 01:22:13,420 --> 01:22:17,130 >> Na hivyo hii bado wanaweza kuwa na aina ya linear-- hivyo aina ya polepole, 1704 01:22:17,130 --> 01:22:19,980 kama na O kubwa ya n kwamba sisi kujadiliwa mapema. 1705 01:22:19,980 --> 01:22:25,290 Kwa hiyo kile halisi nzuri hash meza mapenzi do-- itakuwa na safu kubwa sana. 1706 01:22:25,290 --> 01:22:28,574 Na itakuwa kutumia mengi zaidi kisasa hashing kazi, 1707 01:22:28,574 --> 01:22:30,240 hivyo kwamba hana si tu kuangalia "." 1708 01:22:30,240 --> 01:22:35,480 Labda ni inaangalia "-p-p-l-e" na namna fulani waongofu barua hizo tano 1709 01:22:35,480 --> 01:22:38,400 katika eneo ambapo apple kuhifadhiwa. 1710 01:22:38,400 --> 01:22:42,660 Sisi ni tu naively kutumia barua '' peke yake, kwa sababu ni nzuri na rahisi. 1711 01:22:42,660 --> 01:22:44,600 >> Lakini hash meza, katika mwisho, unaweza kufikiria 1712 01:22:44,600 --> 01:22:47,270 ya kama mchanganyiko wa safu, ambayo kila mmoja 1713 01:22:47,270 --> 01:22:51,700 ina orodha wanaohusishwa kwamba walau lazima kama mfupi iwezekanavyo. 1714 01:22:51,700 --> 01:22:54,364 Na hii si ufumbuzi wa dhahiri. 1715 01:22:54,364 --> 01:22:57,280 Kwa kweli, sehemu kubwa ya tuning faini kwamba unaendelea chini ya Hood wakati 1716 01:22:57,280 --> 01:22:59,654 utekelezaji wa aina hii ya miundo ya kisasa data 1717 01:22:59,654 --> 01:23:01,640 ni nini ni haki urefu wa safu? 1718 01:23:01,640 --> 01:23:03,250 ni haki heshi nini? 1719 01:23:03,250 --> 01:23:04,830 Jinsi gani unaweza kuhifadhi vitu katika kumbukumbu? 1720 01:23:04,830 --> 01:23:07,249 >> Lakini kutambua jinsi ya haraka aina hii ya majadiliano 1721 01:23:07,249 --> 01:23:10,540 ilienea, ama hivyo mbali ya kuwa ni aina ya juu ya kichwa ya mtu katika hatua hii, ambayo 1722 01:23:10,540 --> 01:23:11,360 ni faini. 1723 01:23:11,360 --> 01:23:18,820 Lakini sisi ilianza, kukumbuka, na kweli kitu ngazi ya chini na elektroniki. 1724 01:23:18,820 --> 01:23:20,819 Na hivyo hii tena ni hii mandhari ya uchukuaji, 1725 01:23:20,819 --> 01:23:23,610 ambapo mara moja kuanza kuchukua kwa nafasi, OK, mimi nimepata it-- kuna 1726 01:23:23,610 --> 01:23:26,680 kumbukumbu ya kimwili, OK, got it, kila eneo kimwili ina mitaani, 1727 01:23:26,680 --> 01:23:29,910 OK, I got it, siwezi kuwakilisha wale anwani kama arrows-- 1728 01:23:29,910 --> 01:23:34,650 unaweza haraka sana kuanza na Mazungumzo ya kisasa zaidi kwamba 1729 01:23:34,650 --> 01:23:38,360 katika mwisho wanaonekana kuwa kuruhusu sisi kutatua matatizo kama kutafuta 1730 01:23:38,360 --> 01:23:41,620 na kuchagua kwa ufanisi zaidi. 1731 01:23:41,620 --> 01:23:44,190 Na wengine uhakika, too-- kwa sababu nadhani hii 1732 01:23:44,190 --> 01:23:48,700 ni kikubwa mno tumeenda katika baadhi ya mada hizi CS proper-- tumekuwa 1733 01:23:48,700 --> 01:23:51,880 kufanyika katika siku moja na nusu saa hii uhakika nini unaweza kawaida ya kufanya zaidi ya 1734 01:23:51,880 --> 01:23:55,520 kipindi cha wiki nane katika muhula. 1735 01:23:55,520 --> 01:23:59,670 >> Maswali yoyote juu ya haya? 1736 01:23:59,670 --> 01:24:01,100 Hakuna? 1737 01:24:01,100 --> 01:24:01,940 Sawa. 1738 01:24:01,940 --> 01:24:05,610 Naam, kwa nini sio sisi pause huko, kuanza chakula cha mchana dakika chache mapema, 1739 01:24:05,610 --> 01:24:07,052 kuanza tena katika tu kuhusu saa? 1740 01:24:07,052 --> 01:24:08,760 Na mimi itabidi linger kwa bit na maswali. 1741 01:24:08,760 --> 01:24:11,343 Kisha mimi nina kwenda na kwenda kuchukua michache wito kama hiyo ni sawa. 1742 01:24:11,343 --> 01:24:15,000 Mimi itabidi kurejea kwenye baadhi ya muziki katika huo huo, lakini chakula cha mchana lazima kuzunguka kona. 1743 01:24:15,000 --> 01:24:17,862