1 00:00:00,000 --> 00:00:06,370 2 00:00:06,370 --> 00:00:08,150 >> JASON HIRSCHHORN: Karibu kwa wiki tatu, kila mtu. 3 00:00:08,150 --> 00:00:11,650 Tuna busy lakini kusisimua sehemu mbele yetu. 4 00:00:11,650 --> 00:00:17,010 Hivyo kwanza, kwa sababu tumefanya baadhi mafanikio na bila shaka lakini sisi bado 5 00:00:17,010 --> 00:00:20,570 kuwa mengi ya kujifunza kushoto kufanya, mimi nina kwenda kuonyesha guys baadhi ya rasilimali 6 00:00:20,570 --> 00:00:24,160 kwamba lazima kuthibitisha kuwa incredibly manufaa kama wewe si tu mbinu yako 7 00:00:24,160 --> 00:00:28,130 tatizo seti, lakini pia kufungua yote ya vifaa sisi kukupa guys katika 8 00:00:28,130 --> 00:00:30,800 mihadhara na kaptula na sehemu. 9 00:00:30,800 --> 00:00:34,790 >> Kisha tunakwenda kutumia kwanza 20 kwa muda wa dakika 25 ya sehemu ya kwenda juu 10 00:00:34,790 --> 00:00:38,630 GDB, ambayo unaweza au anaweza kuwa na kutumika katika hatua hii, lakini ni 11 00:00:38,630 --> 00:00:42,570 incredibly kusaidia chombo kwamba mapenzi kukusaidia Debug programu yako. 12 00:00:42,570 --> 00:00:46,060 mengi ya unaweza kutumika printf katika katikati ya mpango wako kufikiri 13 00:00:46,060 --> 00:00:47,430 nini variable ililingana. 14 00:00:47,430 --> 00:00:52,060 GDB ni bora hata kuliko printf na haina screw up code yako kwa sababu wewe 15 00:00:52,060 --> 00:00:53,320 kuendesha kwenye faili la kutekelezwa. 16 00:00:53,320 --> 00:00:56,500 Hivyo tutaweza kwenda zaidi ya 10 na manufaa zaidi amri unahitaji kwa ajili ya GDB, na sisi ni 17 00:00:56,500 --> 00:01:00,540 kwenda juu ya zoezi la pamoja ili katika kuweka tatizo tatu na zaidi, unaweza 18 00:01:00,540 --> 00:01:03,320 unaweza kutumia GDB kusaidia utatuzi programu yako. 19 00:01:03,320 --> 00:01:06,420 Na hatimaye, sisi ni kwenda juu ya baadhi ya kuchagua na kutafuta algorithms 20 00:01:06,420 --> 00:01:10,590 kwamba aliona katika hotuba, na sisi ni kwenda kwa kweli code, si tu 21 00:01:10,590 --> 00:01:17,360 pseudocode, lakini code binary search, Bubble aina, na uteuzi aina. 22 00:01:17,360 --> 00:01:20,090 >> Hivyo kwanza, nataka kwenda juu ya rasilimali. 23 00:01:20,090 --> 00:01:23,530 Hii ni orodha ya kina, na ni ndogo font kwa sababu nilikuwa na mengi ya 24 00:01:23,530 --> 00:01:24,390 fit hapa. 25 00:01:24,390 --> 00:01:26,950 Lakini haya si tu kukusaidia, tena, kwa seti tatizo na 26 00:01:26,950 --> 00:01:30,760 digesting habari kujifunza, lakini dhahiri, kuja jaribio wakati, hizi 27 00:01:30,760 --> 00:01:32,130 kuwa incredibly kusaidia. 28 00:01:32,130 --> 00:01:34,700 Hivyo kwanza, hotuba anabainisha. 29 00:01:34,700 --> 00:01:39,480 Kama wewe kwenda cs50.net/lectures na kitabu kwa wiki maalum na siku, 30 00:01:39,480 --> 00:01:43,120 utaona kwamba kuna maelezo kwa kila hotuba, ambayo si tu 31 00:01:43,120 --> 00:01:47,250 nakala, lakini toleo lililohaririwa la nini mara ya kufunikwa katika hotuba na kanuni 32 00:01:47,250 --> 00:01:49,610 snippets na tidbits wengine kusaidia. 33 00:01:49,610 --> 00:01:52,220 Mimi sana kupendekeza kwenda juu ya wale. 34 00:01:52,220 --> 00:01:55,340 Na kisha kama vizuri, kuna chanzo code inapatikana kutoka kila hotuba. 35 00:01:55,340 --> 00:02:00,050 Na tena, slides hizi pia kuwa inapatikana online saa cs50.net/sections 36 00:02:00,050 --> 00:02:01,480 jioni hii. 37 00:02:01,480 --> 00:02:06,860 >> Hivyo pili ni kaptula kila wiki kwamba cover mada, kwa kawaida 5 hadi 15 38 00:02:06,860 --> 00:02:08,090 dakika katika urefu. 39 00:02:08,090 --> 00:02:12,310 Na wale hopefully nitakupa primer kubwa juu ya mada mbalimbali. 40 00:02:12,310 --> 00:02:12,870 Tatu - 41 00:02:12,870 --> 00:02:16,370 na hii ni brand mwezi huu mwaka - ni study.cs50.net. 42 00:02:16,370 --> 00:02:20,110 Kama si checked nje, mimi sana kupendekeza kwamba kufanya hivyo. 43 00:02:20,110 --> 00:02:21,100 Unaweza kupata ili kubaini mada. 44 00:02:21,100 --> 00:02:23,040 Tuna kadhaa ya mada huko. 45 00:02:23,040 --> 00:02:24,770 Hivyo kwa mfano, unaweza kuchukua Kazi. 46 00:02:24,770 --> 00:02:27,270 Ni inatoa baadhi ya slides na maelezo ya kazi. 47 00:02:27,270 --> 00:02:31,190 Wale ni kweli slides kwamba TFS wanahimizwa kutumia wakati wetu 48 00:02:31,190 --> 00:02:32,710 maonyesho katika sehemu. 49 00:02:32,710 --> 00:02:35,040 Kuna pia tips na tricks kwa ajili ya kushughulika na kazi, na kuna 50 00:02:35,040 --> 00:02:37,290 matatizo mazoezi ili kusaidia kazi na kazi. 51 00:02:37,290 --> 00:02:41,500 Sisi pia kukupa viungo short juu ya kazi na mara kwamba kazi 52 00:02:41,500 --> 00:02:42,750 wamekuja katika hotuba. 53 00:02:42,750 --> 00:02:46,550 Hivyo study.cs50.net, bidhaa mpya hii mwaka, rasilimali ya ajabu. 54 00:02:46,550 --> 00:02:52,180 >> Next, mimi na mtu, ambayo ni mwongozo amri kwamba unaweza kuendesha katika 55 00:02:52,180 --> 00:02:52,770 mstari amri. 56 00:02:52,770 --> 00:02:57,880 Hivyo kama una maswali yoyote kuhusu amri, kwa mfano, rand, ambayo sisi 57 00:02:57,880 --> 00:03:00,900 yaliyojitokeza wiki iliyopita wakati wa sehemu ya na una uwezekano yaliyojitokeza katika 58 00:03:00,900 --> 00:03:05,380 tatizo lako kuweka wakati anapita kuzalisha kificho, lakini kama aina mtu 59 00:03:05,380 --> 00:03:09,980 rand, utapata ukurasa kwamba anaelezea wote kuhusu rand. 60 00:03:09,980 --> 00:03:14,040 Ni anakupa nini inachukua, vigezo inachukua, pamoja na kurudi 61 00:03:14,040 --> 00:03:16,530 aina na maelezo mafupi ya kazi hiyo. 62 00:03:16,530 --> 00:03:17,500 >> Ili kuangalia nje rand. 63 00:03:17,500 --> 00:03:22,270 Ni inaweza kuwa ni kidogo wordy na utata, hivyo wakati mwingine mimi kujua kwamba 64 00:03:22,270 --> 00:03:26,150 tu googling nini nataka kujua ni njia bora ya kupata jibu. 65 00:03:26,150 --> 00:03:27,940 Hivyo mazoezi na Google. 66 00:03:27,940 --> 00:03:28,600 Kupata mema Google. 67 00:03:28,600 --> 00:03:30,600 Itakuwa rafiki yako bora. 68 00:03:30,600 --> 00:03:34,300 >> Kama vile Google, kama huwezi kupata juu ya Google, cs50.net/discuss, ni 69 00:03:34,300 --> 00:03:35,550 majadiliano jukwaa. 70 00:03:35,550 --> 00:03:39,390 Nafasi ni kama una swali, moja yako 700 + wenzao pia ina kuwa 71 00:03:39,390 --> 00:03:42,110 swali na inaweza wameomba tayari katika kujadili 72 00:03:42,110 --> 00:03:43,540 vikao na kuwa ni akajibu. 73 00:03:43,540 --> 00:03:48,130 Hivyo kama una swali la kawaida au una swali kwamba unafikiri 74 00:03:48,130 --> 00:03:52,300 labda watu wengine wanaweza kuwa na kukimbia ndani, kuangalia nje cs50.net/discuss. 75 00:03:52,300 --> 00:03:55,450 >> Hatimaye, mawili ya mwisho, kama unataka kuzungumza na halisi ya binadamu, ofisi 76 00:03:55,450 --> 00:03:57,770 masaa Jumatatu hadi Ijumaa. 77 00:03:57,770 --> 00:04:00,850 Kuna pia masaa online ofisi kwa ajili ya ugani wanafunzi. 78 00:04:00,850 --> 00:04:04,370 Na mwisho lakini kwa hakika si uchache, mimi, Moderators uhakika. 79 00:04:04,370 --> 00:04:05,960 Nyinyi wote mna wasiliana wangu habari. 80 00:04:05,960 --> 00:04:11,940 Kama unahitaji kitu chochote, tafadhali kamwe Usisite kuwasiliana na mimi. 81 00:04:11,940 --> 00:04:14,020 Daima kujisikia huru kufanya hivyo. 82 00:04:14,020 --> 00:04:17,490 Chache sana wewe aliongeza kuwa mimi juu ya Gchat, ili imekuwa tamaa, 83 00:04:17,490 --> 00:04:20,410 lakini hopefully kwamba utakuwa kubadili kati ya hii na sehemu inayofuata. 84 00:04:20,410 --> 00:04:22,105 Maswali yoyote hadi sasa juu ya rasilimali? 85 00:04:22,105 --> 00:04:25,670 86 00:04:25,670 --> 00:04:27,450 Kubwa. 87 00:04:27,450 --> 00:04:34,280 >> Hatimaye, mwingine kuziba kwa maoni, sayat.me/cs50. 88 00:04:34,280 --> 00:04:37,050 Unaweza kunipa maoni bila majina juu ya jinsi ya mimi kufanya. 89 00:04:37,050 --> 00:04:38,320 Hiyo ilikuwa ni kweli kusaidia wiki iliyopita. 90 00:04:38,320 --> 00:04:41,890 I got baadhi ya maoni kutoka kwenu guys haki baada ya sehemu, pamoja na kutoka 91 00:04:41,890 --> 00:04:44,750 wanafunzi wengine ambao watched wakati wa wiki, na 92 00:04:44,750 --> 00:04:46,830 mara incredibly kusaidia. 93 00:04:46,830 --> 00:04:50,250 Mimi kwenda kujaribu na kupunguza matumizi yangu ya neno "tamu", lakini mimi kuonyesha yangu 94 00:04:50,250 --> 00:04:52,410 shauku na msisimko kwa njia nyingine. 95 00:04:52,410 --> 00:04:56,550 Lakini kulikuwa na wengine ziada marejesho makubwa, 96 00:04:56,550 --> 00:04:57,600 wote pluses na delta. 97 00:04:57,600 --> 00:05:00,480 Hivyo tafadhali, mimi kukupa guys maoni seti tatizo lako. 98 00:05:00,480 --> 00:05:01,790 Jisikie huru nipe maoni juu ya mafundisho yangu. 99 00:05:01,790 --> 00:05:04,010 Mimi niko hapa kwa nyie. 100 00:05:04,010 --> 00:05:05,270 >> Kubwa. 101 00:05:05,270 --> 00:05:07,020 Hayo ni yote nina kwa sehemu ya kwanza. 102 00:05:07,020 --> 00:05:08,565 Je, mtu yeyote yoyote maswali mbali? 103 00:05:08,565 --> 00:05:12,370 104 00:05:12,370 --> 00:05:14,640 Na mimi kuwa na kumbuka kwa kituo cha udhibiti. 105 00:05:14,640 --> 00:05:21,200 Ugani wanafunzi kuwa messaged mimi kusema kwamba siyo kupata audio yoyote, 106 00:05:21,200 --> 00:05:23,870 lakini kwamba ni nje ya uwezo wangu kurekebisha. 107 00:05:23,870 --> 00:05:25,280 Hivyo hopefully, kwamba anapata kutatuliwa hivi karibuni. 108 00:05:25,280 --> 00:05:28,850 Kama wewe ni kuangalia online, hi, lakini huwezi kusikia mimi. 109 00:05:28,850 --> 00:05:33,860 >> Hivyo kwanza, sisi ni kwenda kwenda kwa njia ya GDB. 110 00:05:33,860 --> 00:05:37,100 GDB, kama mimi aligusia saa awali, ni debugging chombo 111 00:05:37,100 --> 00:05:39,040 bora zaidi kuliko printf. 112 00:05:39,040 --> 00:05:44,700 Hivyo kuanza kwa GDB, you guys, kama unataka kufungua appliance yako 113 00:05:44,700 --> 00:05:49,070 na kuchukua faili kwamba mimi Emailed na wewe mapema - faili hili pia kuwa 114 00:05:49,070 --> 00:05:51,940 inapatikana online katika bit - 115 00:05:51,940 --> 00:05:55,700 na kukimbia GDB. / jina la faili. 116 00:05:55,700 --> 00:05:58,580 Kwanza, bila shaka, una kukusanya faili kwa sababu GDB kazi tu juu ya 117 00:05:58,580 --> 00:05:59,890 kutekelezwa files. 118 00:05:59,890 --> 00:06:02,300 >> Lakini kama wewe milele unataka kuanza GDB, jambo la kwanza kufanya, 119 00:06:02,300 --> 00:06:04,550 kukimbia GDB. / Caesar. 120 00:06:04,550 --> 00:06:08,340 Hivyo kwamba ni jina la mpango tuko kwenda nayo hivi sasa. 121 00:06:08,340 --> 00:06:12,810 Hivyo nina kwenda kuandika kufanya Kaisari, ambayo atanipa faili la kutekelezwa 122 00:06:12,810 --> 00:06:14,100 hapa yalionyesha katika kijani. 123 00:06:14,100 --> 00:06:19,250 Na kisha mimi nina kwenda kukimbia GDB. / Cesar. 124 00:06:19,250 --> 00:06:19,810 >> Na kuna kwenda. 125 00:06:19,810 --> 00:06:24,540 Unaweza kuona tuna baadhi ya maandishi akiniambia kuhusu toleo la GDB, kunipa 126 00:06:24,540 --> 00:06:27,570 baadhi ya taarifa udhamini, na kisha sisi na Pato la Taifa haraka, ambayo inaonekana aina 127 00:06:27,570 --> 00:06:29,350 ya kama amri yetu line haraka, lakini unaweza kuona ni wazi 128 00:06:29,350 --> 00:06:32,510 paren, GDB, karibu paren. 129 00:06:32,510 --> 00:06:36,520 Kabla ya sisi kuendelea na utatuzi faili hili kwamba mimi alimtuma kwenu wote, hebu tuangalie 130 00:06:36,520 --> 00:06:40,220 baadhi ya amri muhimu hivyo tuna akili ya nini sisi ni kwenda cover. 131 00:06:40,220 --> 00:06:45,060 >> Amri haya yameorodheshwa hapa katika utaratibu ambao mimi kwa ujumla matumizi yao. 132 00:06:45,060 --> 00:06:50,230 Hivyo mimi kuanza mpango wangu kwa kuendesha GBD. / Jina la mpango, 133 00:06:50,230 --> 00:06:51,360 katika kesi hii, Caesar. 134 00:06:51,360 --> 00:06:57,430 Na kisha Jambo la kwanza mimi kufanya 99.9% ya muda ni aina ya mapumziko maana. 135 00:06:57,430 --> 00:06:59,070 Kwamba anaweka hatua ya mapumziko katika kuu. 136 00:06:59,070 --> 00:07:03,260 Kimsingi, nini unafanya huko ni mpango wa ni kwenda kuacha katika 137 00:07:03,260 --> 00:07:06,100 kuu hivyo unaweza kuanza kuchunguza ni line na line, badala ya mbio wote 138 00:07:06,100 --> 00:07:07,040 njia. 139 00:07:07,040 --> 00:07:09,730 Unaweza kuvunja katika maeneo mbalimbali katika code yako, lakini kuu ni kwa ujumla 140 00:07:09,730 --> 00:07:11,870 sehemu nzuri ya kuanza. 141 00:07:11,870 --> 00:07:14,840 >> amri ya pili mimi kukimbia ni kukimbia. 142 00:07:14,840 --> 00:07:17,400 Kwamba kuanza mpango wa mbio, na kama unahitaji kuingia amri line 143 00:07:17,400 --> 00:07:19,090 hoja, wewe kukimbia amri hiyo. 144 00:07:19,090 --> 00:07:20,500 Kukimbia kwa hoja. 145 00:07:20,500 --> 00:07:25,000 Hivyo tangu sisi ni kwenda juu ya toleo la ya C, ambayo ni mpango guys 146 00:07:25,000 --> 00:07:26,160 aliandika kwa ajili ya pset mbili - 147 00:07:26,160 --> 00:07:29,880 hii moja, bila shaka, ina baadhi ya mende katika kwamba hopefully tutaweza kupata - 148 00:07:29,880 --> 00:07:32,810 tunakwenda kukimbia kukimbia na baadhi amri line hoja kwa sababu Kaisari, 149 00:07:32,810 --> 00:07:34,860 kama nyie kujua kwa tatizo kuweka spec, inachukua baadhi ya 150 00:07:34,860 --> 00:07:36,380 hoja mstari amri. 151 00:07:36,380 --> 00:07:40,000 >> michache ijayo amri, karibu moja ni kweli kuitwa ijayo. 152 00:07:40,000 --> 00:07:42,470 Moja kwamba inachukua wewe mstari kwa mstari kupitia programu yako. 153 00:07:42,470 --> 00:07:45,800 Hivyo kupiga n kisha kuingia inachukua wewe kwa mstari wa pili, utekelezaji 154 00:07:45,800 --> 00:07:46,880 line uliopita. 155 00:07:46,880 --> 00:07:49,440 Hatua si tu inachukua wewe mstari wa pili, lakini 156 00:07:49,440 --> 00:07:51,070 inachukua wewe kazi ndani. 157 00:07:51,070 --> 00:07:54,310 Hivyo kama umeandika kazi katika code yako au kama unataka kuchunguza 158 00:07:54,310 --> 00:07:57,820 kwa i, kwa mfano, unaweza hit s, na badala ya kwenda kwa line ya pili ya 159 00:07:57,820 --> 00:08:02,390 file kwamba wewe ni kwenda kwa haki sasa, wewe utakuwa kweli hatua katika 160 00:08:02,390 --> 00:08:04,670 kazi hii na kuona kanuni zake. 161 00:08:04,670 --> 00:08:12,300 >> Orodha ya inaonyesha, katika user sana ya kirafiki format, 10 au zaidi mistari karibu 162 00:08:12,300 --> 00:08:14,940 ambapo sasa ni katika kanuni yako hivyo unaweza kweli kuona faili 163 00:08:14,940 --> 00:08:17,810 badala ya kuwa wabadilishane nyuma na nje kati ya maoni tofauti. 164 00:08:17,810 --> 00:08:21,890 Magazeti ni kama printf, kama jina lake ina maana. 165 00:08:21,890 --> 00:08:24,020 Kwamba inaonyesha nini variable sawa. 166 00:08:24,020 --> 00:08:25,870 >> Info wenyeji ni kweli kusaidia. 167 00:08:25,870 --> 00:08:27,740 Hii ni toleo maalum ya magazeti. 168 00:08:27,740 --> 00:08:31,770 Info wenyeji inaonyesha wote wa ndani vigezo, prints wote kwa ajili yenu 169 00:08:31,770 --> 00:08:33,380 ambayo kwa sasa inapatikana. 170 00:08:33,380 --> 00:08:36,360 Basi, mimi kwa ujumla, badala ya kuwa na magazeti nje vigezo nne kwamba mimi nina 171 00:08:36,360 --> 00:08:39,929 curious kuhusu kama mimi nina kwa ajili ya kitanzi, kwa mfano, mimi kuandika tu info wenyeji, 172 00:08:39,929 --> 00:08:43,470 na kutakuwa na kuonyesha mimi nini yangu ya kukabiliana na i sawa, pamoja na safu kwamba mimi nina 173 00:08:43,470 --> 00:08:45,130 kazi ya sawa. 174 00:08:45,130 --> 00:08:47,530 >> Hatimaye, kuendelea. 175 00:08:47,530 --> 00:08:49,300 Kuandika mapumziko ataacha wakati wa mapumziko uhakika. 176 00:08:49,300 --> 00:08:51,380 Unaweza kutembea kwa njia line na line na ijayo na hatua. 177 00:08:51,380 --> 00:08:55,640 Kuendelea anaendesha mpango wa yako ijayo kuvunja kiwango au hadi kukamilika kama 178 00:08:55,640 --> 00:08:57,180 kuna pointi hakuna zaidi ya mapumziko. 179 00:08:57,180 --> 00:09:00,060 Disable kuondosha kuvunja pointi kama wewe aliamua mapumziko katika kuu ilikuwa 180 00:09:00,060 --> 00:09:01,890 muafaka, unataka kuweka mahali pengine. 181 00:09:01,890 --> 00:09:05,090 Na hatimaye q, kujiondoa, anapata nje ya GDB. 182 00:09:05,090 --> 00:09:10,784 >> Hivyo mpango huu. / Kaisari, sisi ni kwenda kuangalia njia ya haki sasa na sisi 183 00:09:10,784 --> 00:09:13,490 ni kwenda kutumia GDB kupata mende katika mpango huu. 184 00:09:13,490 --> 00:09:18,110 Mimi mbio mpango huu mapema na Angalia 50, na I got frown moja. 185 00:09:18,110 --> 00:09:22,310 Kila kitu ni kuwepo, ni compiled, ni kupita mengi ya vipimo, lakini kwa 186 00:09:22,310 --> 00:09:27,950 sababu fulani, hakuwa na kupita tano mtihani, na kugeuka BARFOO, kofia wote, ndani ya 187 00:09:27,950 --> 00:09:33,350 E-D-U-I-R-R, mechi zote, kutumia tatu kama muhimu. 188 00:09:33,350 --> 00:09:34,090 I got pretty karibu. 189 00:09:34,090 --> 00:09:35,410 I got mbali na barua moja. 190 00:09:35,410 --> 00:09:37,340 Hivyo kuna baadhi makosa madogo katika hapa. 191 00:09:37,340 --> 00:09:38,070 Nimekuwa inaonekana kwa njia ya kanuni yangu. 192 00:09:38,070 --> 00:09:38,850 Sikuweza kufikiri nje. 193 00:09:38,850 --> 00:09:41,740 Hopefully, you guys anaweza kunisaidia kufikiri nini hii mdudu ni. 194 00:09:41,740 --> 00:09:44,610 >> Hivyo kwamba ni makosa tuko ajili ya kutafuta. 195 00:09:44,610 --> 00:09:46,090 Hebu hoja ndani ya GDB. 196 00:09:46,090 --> 00:09:51,100 Tena, nimekuwa kukimbia GDB. / Kaisari, hivyo sasa tuko katika GDB. 197 00:09:51,100 --> 00:09:54,290 Na kile ambacho ni kwanza kitu mimi wanapaswa kufanya nini? 198 00:09:54,290 --> 00:09:56,680 Nimekuwa tu aliingia GDB. 199 00:09:56,680 --> 00:10:00,316 Mtu nipe nzuri amri ya kuingia. 200 00:10:00,316 --> 00:10:01,140 >> STUDENT: Vunja kuu. 201 00:10:01,140 --> 00:10:01,800 >> JASON HIRSCHHORN: Vunja kuu. 202 00:10:01,800 --> 00:10:02,900 Ajabu. 203 00:10:02,900 --> 00:10:03,560 Hebu aina hiyo in 204 00:10:03,560 --> 00:10:06,390 You guys unaweza kuangalia hapa au kufuata pamoja kwenye kompyuta yako. 205 00:10:06,390 --> 00:10:09,410 Kuvunja kuu, na utaona hatua ya mapumziko ilianzishwa katika - 206 00:10:09,410 --> 00:10:12,340 inanipa baadhi ya kumbukumbu anwani weird, na pia inatoa me line idadi. 207 00:10:12,340 --> 00:10:15,310 Kama ningekuwa na kuangalia nyuma katika faili hili, Napenda kutambua kwamba kuu 208 00:10:15,310 --> 00:10:17,700 kilichotokea juu ya line 21. 209 00:10:17,700 --> 00:10:18,950 Nifanye kukimbia baada ya hapo? 210 00:10:18,950 --> 00:10:22,970 211 00:10:22,970 --> 00:10:25,060 Ni mpango wangu mbio? 212 00:10:25,060 --> 00:10:25,650 Hapana 213 00:10:25,650 --> 00:10:27,175 Hivyo kile lazima mimi kukimbia baada ya hapo? 214 00:10:27,175 --> 00:10:27,520 >> Mwanafunzi: kukimbia. 215 00:10:27,520 --> 00:10:28,050 >> JASON HIRSCHHORN: kukimbia. 216 00:10:28,050 --> 00:10:30,760 Je, mimi kukimbia tu kukimbia, au lazima Mimi kuongeza baadhi ya mambo mengine katika? 217 00:10:30,760 --> 00:10:31,960 >> Mwanafunzi: Kukimbia na hoja. 218 00:10:31,960 --> 00:10:33,320 >> JASON HIRSCHHORN: Kukimbia na amri hoja. 219 00:10:33,320 --> 00:10:36,420 Na kwa kuwa mimi nina debugging maalum sana kesi, mimi wanapaswa kuingia kwamba 220 00:10:36,420 --> 00:10:37,120 amri line hoja. 221 00:10:37,120 --> 00:10:42,290 Kwa hiyo nitakuwa wanajitokeza tatu, ambayo ni mara ya pili, pato I got kutoka Check 50. 222 00:10:42,290 --> 00:10:44,240 Kuanzia mpango. 223 00:10:44,240 --> 00:10:45,420 Sisi kwenda kwa njia ya wanandoa wa mistari. 224 00:10:45,420 --> 00:10:47,700 Itabidi sasa kuona kwamba sisi ni juu ya line 21. 225 00:10:47,700 --> 00:10:49,200 Je, mimi kujua kwamba sisi ni juu ya line 21? 226 00:10:49,200 --> 00:10:52,170 Kwa sababu kama ukiangalia kwa upande wa kushoto ya wastaafu dirisha langu, 227 00:10:52,170 --> 00:10:53,120 inasema line 21. 228 00:10:53,120 --> 00:10:57,010 Na kwamba anatoa mimi, kwa kweli, kificho kwamba ni katika mstari wa 21. 229 00:10:57,010 --> 00:10:58,440 Basi, mimi misspoke mapema. 230 00:10:58,440 --> 00:10:59,770 Kuu ni si kweli katika mstari wa 21. 231 00:10:59,770 --> 00:11:02,000 Kuu ni wanandoa wa mistari juu ya 21. 232 00:11:02,000 --> 00:11:04,300 Lakini katika mstari wa 21, kwamba ambapo sisi ni kuvunja. 233 00:11:04,300 --> 00:11:06,280 Mstari wa code ina lakini haitekelezwi. 234 00:11:06,280 --> 00:11:06,890 Hiyo ni muhimu. 235 00:11:06,890 --> 00:11:09,120 line unaweza kuona hana ameuawa bado. 236 00:11:09,120 --> 00:11:12,650 Hiyo ni mstari wa pili code wewe ni kuhusu nitafanya. 237 00:11:12,650 --> 00:11:15,860 >> Hivyo mstari wa pili, kama wewe guys ni pengine ukoo na, hii ni 238 00:11:15,860 --> 00:11:20,070 hali kuangalia kuona kama mimi na aliingia hoja ya mstari amri. 239 00:11:20,070 --> 00:11:22,140 Na kwa i, ni nini pili sehemu ya kwamba kufanya? 240 00:11:22,140 --> 00:11:23,457 Ni nini i? 241 00:11:23,457 --> 00:11:24,950 >> STUDENT: Mabadiliko ya kwa integer. 242 00:11:24,950 --> 00:11:25,450 >> JASON HIRSCHHORN: Sorry? 243 00:11:25,450 --> 00:11:27,400 >> STUDENT: Ni kubadilisha hoja ya integer. 244 00:11:27,400 --> 00:11:30,890 >> JASON HIRSCHHORN: Hivyo i mabadiliko ARG v1 kutoka kamba integer. 245 00:11:30,890 --> 00:11:32,140 Na kisha nini ni kuangalia? 246 00:11:32,140 --> 00:11:35,414 247 00:11:35,414 --> 00:11:37,112 >> Mwanafunzi: Kama kuna pili hoja ya mstari amri, kando 248 00:11:37,112 --> 00:11:38,100 kutoka mbio mpango. 249 00:11:38,100 --> 00:11:39,460 >> JASON HIRSCHHORN: Na nini nusu ya pili ya hii 250 00:11:39,460 --> 00:11:41,220 Kujieleza Boolean kuangalia? 251 00:11:41,220 --> 00:11:42,540 Hii ni sehemu zaidi ya hapa, kwa i? 252 00:11:42,540 --> 00:11:44,080 >> STUDENT: Kama ni hasi. 253 00:11:44,080 --> 00:11:45,380 >> JASON HIRSCHHORN: Kuhakikisha nini? 254 00:11:45,380 --> 00:11:47,120 >> Mwanafunzi: Kuhakikisha ni ni, kwa kweli, chanya. 255 00:11:47,120 --> 00:11:47,650 >> JASON HIRSCHHORN: Hasa. 256 00:11:47,650 --> 00:11:50,600 Hii ni kuangalia kuona kama ni hasi, na kama ni hasi, mimi 257 00:11:50,600 --> 00:11:53,220 na hisia ijayo line nguvu kuwa mimi kunguruma katika user. 258 00:11:53,220 --> 00:11:55,930 Basi hebu hit mwisho kutekeleza mstari huu. 259 00:11:55,930 --> 00:11:59,925 Hatuoni kwamba line kwamba guys labda inatarajiwa kuona kunguruma katika 260 00:11:59,925 --> 00:12:03,030 user na kisha kurudi, kwa sababu line huu hakuwa na nitafanya. 261 00:12:03,030 --> 00:12:03,840 Mimi aliingia 3. 262 00:12:03,840 --> 00:12:06,860 Hivyo mimi, kwa kweli, kuingia amri mbili line hoja, na 3 ni 263 00:12:06,860 --> 00:12:07,610 kubwa kuliko sufuri. 264 00:12:07,610 --> 00:12:09,950 Hivyo tuliona kwamba line, sisi kunyongwa, lakini hatukuwa hatua 265 00:12:09,950 --> 00:12:11,300 ndani ikiwa hali hiyo. 266 00:12:11,300 --> 00:12:17,060 >> Basi sasa, pili, naona mimi nina kuweka int muhimu sawa na i ARG v1. 267 00:12:17,060 --> 00:12:18,840 Hivyo kwamba ni mimi kujenga muhimu kutofautiana. 268 00:12:18,840 --> 00:12:22,450 Basi, ikiwa mimi magazeti nje muhimu sasa hivi, kwa sababu kwamba utapata kuona 269 00:12:22,450 --> 00:12:26,040 thamani ndani ya kutofautiana, muhimu ni sawa na 47. 270 00:12:26,040 --> 00:12:28,810 Hiyo ni weird, lakini bila shaka, hiyo ni kwa sababu mimi si 271 00:12:28,810 --> 00:12:30,490 kunyongwa kwamba line bado. 272 00:12:30,490 --> 00:12:35,880 Hivyo sasa kama mimi hit n, nitafanya kwamba line, na kufanya magazeti muhimu, muhimu itakuwa sawa 3, 273 00:12:35,880 --> 00:12:37,740 ambayo ni nini tunatarajia sawa. 274 00:12:37,740 --> 00:12:41,170 >> Hivyo tena, katika GDB, line wewe kuona kuwa si kunyongwa bado. 275 00:12:41,170 --> 00:12:44,850 Una hit n au s au idadi ya amri nyingine kwa kweli 276 00:12:44,850 --> 00:12:46,610 kutekeleza mstari huo. 277 00:12:46,610 --> 00:12:47,380 Magazeti muhimu. 278 00:12:47,380 --> 00:12:48,280 Muhimu ya saa 3. 279 00:12:48,280 --> 00:12:49,750 Hadi sasa, hivyo nzuri. 280 00:12:49,750 --> 00:12:51,000 Kamba ni Nakala wazi. 281 00:12:51,000 --> 00:12:52,270 Hebu kutekeleza mstari huo. 282 00:12:52,270 --> 00:12:53,970 Mimi nina kupata kamba kutoka kwa mtumiaji. 283 00:12:53,970 --> 00:12:58,690 >> Hebu angalia katika Check yangu 50, mimi kuingia BARFOO mechi zote, hivyo 284 00:12:58,690 --> 00:13:01,330 kwamba ni nini mimi itabidi kuingia. 285 00:13:01,330 --> 00:13:07,300 Kama mimi sasa magazeti Nakala wazi. 286 00:13:07,300 --> 00:13:08,610 Utaona ni sawa na kamba. 287 00:13:08,610 --> 00:13:11,100 Inanipa nyingine weird hexadesimoli idadi, lakini ni gani katika 288 00:13:11,100 --> 00:13:13,620 ukweli kusema kwamba kamba wangu ni BARFOO. 289 00:13:13,620 --> 00:13:19,308 Kama nilitaka kuona nini muhimu ililingana katika hatua hii, ni jinsi gani mimi kuangalia muhimu? 290 00:13:19,308 --> 00:13:20,710 >> STUDENT: Print muhimu. 291 00:13:20,710 --> 00:13:22,010 >> JASON HIRSCHHORN: Print muhimu, hasa. 292 00:13:22,010 --> 00:13:23,260 Na kwa kweli, kuna njia ya mkato. 293 00:13:23,260 --> 00:13:25,910 Kama kupata uchovu wa kuandika magazeti, unaweza aina tu p. 294 00:13:25,910 --> 00:13:28,340 Hivyo p muhimu gani huo kitu halisi. 295 00:13:28,340 --> 00:13:29,730 Na tena, Mimi naona ni sawa na 3. 296 00:13:29,730 --> 00:13:34,760 >> Kama nilitaka kujua nini wote muhimu na BARFOO ililingana wakati huo huo 297 00:13:34,760 --> 00:13:37,215 lakini mimi nilikuwa nimechoka ya kuandika kila moja nje mmoja mmoja, mimi 298 00:13:37,215 --> 00:13:38,590 inaweza aina info na wananchi. 299 00:13:38,590 --> 00:13:41,170 Kwamba anatoa mimi usawa muhimu 3. 300 00:13:41,170 --> 00:13:42,500 Nakala wazi ni sawa na BARFOO. 301 00:13:42,500 --> 00:13:45,265 Ni pia inatoa yangu haya mambo mawili weird saa ya juu, variable hii i na 302 00:13:45,265 --> 00:13:46,590 hii n kutofautiana. 303 00:13:46,590 --> 00:13:48,460 >> Hizo ni kweli zilizopo katika mpango wangu kuu. 304 00:13:48,460 --> 00:13:51,280 Sisi si yaliyojitokeza yao bado, lakini kama hakikisho, wale 305 00:13:51,280 --> 00:13:52,880 zipo katika wangu kwa kitanzi. 306 00:13:52,880 --> 00:13:55,360 Hivyo sasa hivi, wao ni sawa na baadhi weird idadi kwa sababu wao si 307 00:13:55,360 --> 00:13:58,300 kuanzishwa bado, lakini hawana bado zipo katika kumbukumbu, hivyo wao ni tu kuweka 308 00:13:58,300 --> 00:14:00,220 kwa baadhi ya thamani taka. 309 00:14:00,220 --> 00:14:02,890 Lakini tunaona muhimu katika wazi Nakala haki pale. 310 00:14:02,890 --> 00:14:06,390 >> Hivyo nina kwenda kutekeleza mstari huu, line 34, kwa kitanzi. 311 00:14:06,390 --> 00:14:08,220 Tunakwenda kuruka ndani ya kwa kitanzi kwa kupiga n. 312 00:14:08,220 --> 00:14:10,050 Na sisi ni ndani kwa ajili ya kitanzi. 313 00:14:10,050 --> 00:14:11,360 Sisi ni katika kuangalia yetu ya kwanza. 314 00:14:11,360 --> 00:14:14,300 Na tena, haya lazima aina ya kuangalia ukoo na wewe kwa sababu hii ilikuwa 315 00:14:14,300 --> 00:14:18,080 Mpango Kaisari ambayo ilikuwa imeandikwa, lakini tena, ina aina fulani ya mdudu. 316 00:14:18,080 --> 00:14:21,940 >> Na sasa kama mimi kufanya info wenyeji, kwa sababu mimi nina ndani kwamba kwa kitanzi, utaona 317 00:14:21,940 --> 00:14:23,900 kwamba i sawa na sifuri, kama sisi kutarajia. 318 00:14:23,900 --> 00:14:26,820 Hiyo ni nini sisi kuweka kwa na kuanzishwa Ni kwa kwa ajili ya kitanzi. 319 00:14:26,820 --> 00:14:27,560 n sawa na 6. 320 00:14:27,560 --> 00:14:30,700 Hiyo pia mantiki kwa sababu sisi kuweka kwa strlen wa maandishi wazi. 321 00:14:30,700 --> 00:14:34,270 Hivyo napenda kufanya wenyeji info au magazeti kwa kutofautiana mara kwa mara ili kuhakikisha kwamba 322 00:14:34,270 --> 00:14:36,370 kila kitu ni mara zote kile Mimi kutarajia sawa. 323 00:14:36,370 --> 00:14:39,800 Katika kesi hiyo, kila kitu ni kile kutarajia sawa. 324 00:14:39,800 --> 00:14:41,850 >> Basi hebu kuanza kusonga kupitia hii kwa kitanzi. 325 00:14:41,850 --> 00:14:45,715 line mimi nina juu ya ni line 36, ikiwa wazi Nakala i ni mkubwa kuliko na wazi 326 00:14:45,715 --> 00:14:48,540 Nakala i ni chini ya au sawa na z. 327 00:14:48,540 --> 00:14:51,880 Mimi najua tatizo langu ni si kwa yangu ya kwanza barua, ni pamoja na barua ya pili. 328 00:14:51,880 --> 00:14:56,290 Kama sisi kuangalia nyuma katika Check 50, B inakwenda E faini. 329 00:14:56,290 --> 00:14:59,010 Mimi kuchukua A na kuondoka kama A, si kubadilisha kwa D. Hivyo 330 00:14:59,010 --> 00:15:00,200 kitu kibaya na barua ya pili. 331 00:15:00,200 --> 00:15:01,640 Hivyo nina kwenda kwa hoja huko katika pili. 332 00:15:01,640 --> 00:15:06,030 >> Lakini kama mimi unataka kuangalia nini wazi Nakala mimi ililingana katika hii hasa 333 00:15:06,030 --> 00:15:07,760 kesi, nadhani ni lazima kuwa na nini? 334 00:15:07,760 --> 00:15:10,980 Nini Nakala wazi mimi sawa katika hii raundi ya kwanza kupitia kwa kitanzi? 335 00:15:10,980 --> 00:15:14,046 336 00:15:14,046 --> 00:15:15,110 >> STUDENT: Zero? 337 00:15:15,110 --> 00:15:16,510 >> JASON HIRSCHHORN: Nakala wazi ya mimi? 338 00:15:16,510 --> 00:15:21,180 Hivyo ni lazima mji mkuu wa B. mimi, bila shaka, sawa na sifuri, lakini Nakala wazi 339 00:15:21,180 --> 00:15:25,600 bracket zero kufungwa bracket sawa na B kwa sababu masharti, kama tuliona wiki iliyopita, 340 00:15:25,600 --> 00:15:28,650 ni safu, hivyo sisi ni kupata tabia ya kwanza kwa jambo hilo. 341 00:15:28,650 --> 00:15:34,960 Hivyo tena, kama mimi kuchapishwa Nakala wazi ya Mimi, mimi, kwa kweli, kupata tabia 342 00:15:34,960 --> 00:15:36,560 B. Na kwamba nadhifu, sawa? 343 00:15:36,560 --> 00:15:40,380 Mimi si kweli kuwa Nakala wazi I. Hiyo si moja ya vigezo mimi kuweka 344 00:15:40,380 --> 00:15:42,950 au kuanzishwa, lakini unaweza magazeti nje jeshi lote la mambo 345 00:15:42,950 --> 00:15:45,640 kama Ningependa. 346 00:15:45,640 --> 00:15:47,340 >> Lakini hebu hoja kwa njia ya. 347 00:15:47,340 --> 00:15:50,050 Kama Nakala wazi mimi ni mkubwa kuliko A na Nakala wazi mimi ni chini ya au sawa na 348 00:15:50,050 --> 00:15:53,290 Z, wazi kwamba ni kweli kwa sababu tuna B. mji mkuu wa mimi nina kwenda kukimbia 349 00:15:53,290 --> 00:15:54,230 baadhi amri juu yake. 350 00:15:54,230 --> 00:15:58,530 Tuliona kwamba math wiki iliyopita, hivyo tutaweza kuchukua nafasi ya kwamba kwa kazi 351 00:15:58,530 --> 00:16:00,900 sahihi kulingana na Angalia 50. 352 00:16:00,900 --> 00:16:03,720 >> Haya braces curly, moja kwanza ilionyesha kwamba nilikuwa exiting kama 353 00:16:03,720 --> 00:16:07,030 hali, moja ya pili ilionyesha kwamba mimi nina exiting kwa kitanzi. 354 00:16:07,030 --> 00:16:10,400 Na hivyo sasa wakati mimi kugonga Next, tutaweza kuona tuko nyuma katika kwa kitanzi tena. 355 00:16:10,400 --> 00:16:11,970 Tunakwenda kupitia kwa kitanzi tena. 356 00:16:11,970 --> 00:16:18,110 Hebu kweli hatua katika pili iteration ya kwa kitanzi na aina 357 00:16:18,110 --> 00:16:20,520 info na wananchi. 358 00:16:20,520 --> 00:16:22,190 >> Hivyo sisi ni katika iteration pili wetu kwa kitanzi. 359 00:16:22,190 --> 00:16:24,530 Mimi ni sawa na 1, ambayo sisi kutarajia. 360 00:16:24,530 --> 00:16:26,650 N sawa na 6, ambayo sisi kutarajia. 361 00:16:26,650 --> 00:16:28,810 Muhimu ni sawa na 3, ambayo sisi kutarajia. 362 00:16:28,810 --> 00:16:32,625 Na Nakala wazi, utaona, sawa na EARFOO sasa, si BARFOO tena kwa sababu 363 00:16:32,625 --> 00:16:37,930 katika iteration yetu ya awali, B mara iliyopita katika mji mkuu wa E. Hivyo sisi ni juu ya 364 00:16:37,930 --> 00:16:40,040 kwa kukutana na tatizo, hivyo hii ni wapi tunakwenda kwa 365 00:16:40,040 --> 00:16:41,130 kupiga mbizi katika debugging. 366 00:16:41,130 --> 00:16:43,365 Lakini je, mtu yeyote una maswali yoyote juu ya nini tumefanya hadi sasa? 367 00:16:43,365 --> 00:16:46,770 368 00:16:46,770 --> 00:16:47,910 Ajabu. 369 00:16:47,910 --> 00:16:52,710 >> Hivyo sisi ni juu ya kutekeleza hii kama hali, Nakala wazi bracket mimi kufungwa 370 00:16:52,710 --> 00:16:57,500 bracket zaidi ya A na Nakala wazi mimi chini ya au sawa na Z. Lakini kabla ya 371 00:16:57,500 --> 00:17:00,450 Mimi kwenda katika kwamba, kwa sababu hii ni ambapo Mimi najua kosa langu ni, nataka uhakika 372 00:17:00,450 --> 00:17:06,859 nje Nakala wazi ya I. Hivyo hebu kuweka magazeti nje. 373 00:17:06,859 --> 00:17:12,020 Ni gani sawa tabia ya A, ili inaonekana hivyo mbali, wote ni vizuri na nzuri. 374 00:17:12,020 --> 00:17:14,740 >> Hivyo natarajia mstari huu kwa mantiki yangu, line hii inapaswa kuwa ya kweli. 375 00:17:14,740 --> 00:17:16,099 Ni barua ya mji mkuu. 376 00:17:16,099 --> 00:17:20,599 Lakini kama mimi hit n, sisi kutambua kwamba hii line, kwa kweli, hakuwa nitafanya. 377 00:17:20,599 --> 00:17:22,609 Mimi akaruka chini ya mwingine kama. 378 00:17:22,609 --> 00:17:25,460 Kwa nini kwamba kutokea? 379 00:17:25,460 --> 00:17:27,480 >> Mwanafunzi: Kwa sababu una hali yako Nakala wazi ni zaidi 380 00:17:27,480 --> 00:17:29,130 kuliko A, si sawa au zaidi kuliko. 381 00:17:29,130 --> 00:17:32,260 >> JASON HIRSCHHORN: Kwa hiyo mimi alikuwa na maandishi yangu wazi Mimi ni mkubwa kuliko, si zaidi 382 00:17:32,260 --> 00:17:32,850 kuliko au sawa na. 383 00:17:32,850 --> 00:17:38,130 Hivyo ni wazi, mji mkuu wa A hakuwa kusababisha hii kama hali, na sisi alifanya 384 00:17:38,130 --> 00:17:40,520 si hatua ndani yake, na sisi alifanya si kufanya mabadiliko muhimu. 385 00:17:40,520 --> 00:17:41,360 Hivyo hiyo ni, kwa kweli. 386 00:17:41,360 --> 00:17:42,920 I figured nje ya mdudu yangu. 387 00:17:42,920 --> 00:17:46,775 Mimi naweza kurudi nyuma katika chanzo faili yangu, mabadiliko hayo, na taarifa hiyo na 388 00:17:46,775 --> 00:17:47,855 kukimbia Angalia 50 tena. 389 00:17:47,855 --> 00:17:52,590 >> Lakini tutaweza kuona, kwa ajili ya ufundishaji ya ajili, kama mimi kuendelea. 390 00:17:52,590 --> 00:17:59,580 mwingine kama hana kutekeleza aidha, lakini nini badala sawa na ni amri 391 00:17:59,580 --> 00:18:00,500 kwamba haina mabadiliko. 392 00:18:00,500 --> 00:18:04,840 Hivyo si iliyopita wakati wote, na kama mimi magazeti Nakala wazi hapa, tutaweza kuona kwenda 393 00:18:04,840 --> 00:18:08,250 njia ya kuwa kwa kitanzi hakufanya hivyo, kwa kweli, kubadili tabia ya kuwa pili wakati wote. 394 00:18:08,250 --> 00:18:09,600 Bado mji mkuu wa A. 395 00:18:09,600 --> 00:18:12,690 >> Hivyo tena, sisi debugged makosa yetu. 396 00:18:12,690 --> 00:18:17,380 Tumegundua kwamba kulikuwa na baadhi mantiki kukosa. 397 00:18:17,380 --> 00:18:20,590 Na sisi debugged ni kabla ya muda kabla ya kweli utekelezaji kwamba line, 398 00:18:20,590 --> 00:18:24,320 lakini ingekuwa niliona alikuwa sisi tu hit Next na kuruka kwa kuwa mwingine kama, 399 00:18:24,320 --> 00:18:26,710 hiyo ina maana kwamba kama hali si kweli. 400 00:18:26,710 --> 00:18:29,550 Hatukuwa, kwa kweli, kupata matokeo ya sisi ilivyotarajiwa. 401 00:18:29,550 --> 00:18:33,240 Hivyo basi sisi wangeweza ilisababisha, alikuwa sisi haikuwa hivyo wajanja, kuangalia 402 00:18:33,240 --> 00:18:38,510 kwamba kama hali na kuangalia kama, kwa kweli, hali yetu lazima kutathmini kwa 403 00:18:38,510 --> 00:18:41,150 kweli katika hali ya sasa. 404 00:18:41,150 --> 00:18:42,880 >> Hayo ni yote kwa debugging mpango huu. 405 00:18:42,880 --> 00:18:45,340 Je, mtu yeyote una maswali yoyote? 406 00:18:45,340 --> 00:18:50,486 Ni amri gani mimi kugonga kwa kuacha GDB? 407 00:18:50,486 --> 00:18:53,900 Swali: Na basi mimi itabidi ilisababisha, kuacha anyway? 408 00:18:53,900 --> 00:18:54,390 Ndiyo au hapana. 409 00:18:54,390 --> 00:18:58,440 Mimi itabidi hit ndiyo, na mimi itabidi kuacha GDB. 410 00:18:58,440 --> 00:19:00,860 >> Ili kwamba ilikuwa primer haraka GDB. 411 00:19:00,860 --> 00:19:03,430 Kwa kweli, katika mazingira ya kweli, Nilifanya hivyo katika saa za ofisi. 412 00:19:03,430 --> 00:19:06,710 Mimi GDBed mpango huu saa ileile masaa ya ofisi na mwanafunzi. 413 00:19:06,710 --> 00:19:12,410 Na kama sisi kurudi nyuma kwa amri tuliona kabla ya, sisi kutumika kuvunja kuu, kwanza 414 00:19:12,410 --> 00:19:13,190 kitu sisi alivyofanya. 415 00:19:13,190 --> 00:19:16,060 Tulikuwa kukimbia na hoja mstari amri, Jambo la pili sisi alivyofanya. 416 00:19:16,060 --> 00:19:18,520 Tulikuwa ijayo mengi kwa hoja kwetu kwa njia ya mistari. 417 00:19:18,520 --> 00:19:20,310 Na tena, short version ya pili ni n. 418 00:19:20,310 --> 00:19:22,920 Hiyo ni katika mabano katika kijivu juu ya slide. 419 00:19:22,920 --> 00:19:28,590 >> Sisi hakuwa na kutumia hatua, lakini hatukuwa lazima haja ya kwa kesi hii. 420 00:19:28,590 --> 00:19:32,150 Lakini tunaweza kutumia katika kidogo baadaye juu ya leo kama sisi ni debugging, kwa 421 00:19:32,150 --> 00:19:36,500 mfano, binary ya utafutaji wakati binary kutafuta ni kuitwa katika tofauti 422 00:19:36,500 --> 00:19:38,200 kazi lakini kuna baadhi makosa nayo. 423 00:19:38,200 --> 00:19:40,440 Tunakwenda kutaka hatua katika wito wa search binary na 424 00:19:40,440 --> 00:19:41,840 kweli Debug yake. 425 00:19:41,840 --> 00:19:45,130 Orodha ya hatukuwa kutumia aidha kwa sababu tulikuwa na hisia nzuri ya kanuni zetu, lakini kama mimi 426 00:19:45,130 --> 00:19:48,420 hakuwa wanataka kupata hisia ya kile code mimi ilikuwa karibu, mimi nilikuwa tu kutumia orodha. 427 00:19:48,420 --> 00:19:50,310 >> Magazeti sisi kutumika, info wenyeji sisi kutumika. 428 00:19:50,310 --> 00:19:53,260 Kuendelea sisi hakuwa na haja ya kutumia katika hii kesi, wala hakuwa sisi haja ya kutumia 429 00:19:53,260 --> 00:19:55,060 afya, lakini sisi alifanya matumizi kujiondoa. 430 00:19:55,060 --> 00:19:57,850 Tena, amri hizi 10, mazoezi yao. 431 00:19:57,850 --> 00:20:00,770 Kama wewe kuelewa amri hizi 10, unapaswa kuweka kwa debugging yoyote 432 00:20:00,770 --> 00:20:02,525 kutoa kwa GDB. 433 00:20:02,525 --> 00:20:05,230 434 00:20:05,230 --> 00:20:08,420 >> Hivyo sisi ni juu ya kwenda, tena, crux ya sehemu leo, kwenda juu 435 00:20:08,420 --> 00:20:09,720 haya kuchagua na kutafuta algorithms. 436 00:20:09,720 --> 00:20:14,075 Kabla ya sisi kufanya hivyo, tena, maswali yoyote, maoni, wasiwasi kwa GDB? 437 00:20:14,075 --> 00:20:16,750 438 00:20:16,750 --> 00:20:20,960 Hivyo ni kila mtu kwenda kutumia GDB badala ya printf? 439 00:20:20,960 --> 00:20:24,550 Basi kila mtu, kwa ajili ya milele ya, kila mtu ni wakitikisa vichwa vyao kichwa haki yao ya 440 00:20:24,550 --> 00:20:27,400 sasa, hivyo mimi kuona wewe katika masaa ya ofisi na TFS wote kuona na 441 00:20:27,400 --> 00:20:29,460 wao itabidi kusema, nionyeshe jinsi ya kutumia GDB, na wewe utakuwa na uwezo 442 00:20:29,460 --> 00:20:31,240 kuwaonyesha, sawa? 443 00:20:31,240 --> 00:20:31,760 Aina ya? 444 00:20:31,760 --> 00:20:32,640 Labda hopefully. 445 00:20:32,640 --> 00:20:33,670 Baridi. 446 00:20:33,670 --> 00:20:35,790 >> Hivyo sisi ni kwenda kuhamia katika kuchagua na kutafuta. 447 00:20:35,790 --> 00:20:40,710 Utaona Nina orodha tayari yamepangwa kwa ajili yetu, lakini kwamba si kwenda 448 00:20:40,710 --> 00:20:42,220 kuwa kesi daima. 449 00:20:42,220 --> 00:20:49,170 Hivyo katika kuweka tatizo vipimo kwa ajili ya kuweka tatizo tatu, una kaptula 450 00:20:49,170 --> 00:20:51,410 kwamba unaweza kuangalia, na ni kweli anauliza wewe kuangalia kaptula hizo. 451 00:20:51,410 --> 00:20:55,090 Pia katika hotuba wiki iliyopita, tulikwenda juu ya mengi ya algorithms haya, hivyo mimi nina 452 00:20:55,090 --> 00:20:59,150 si kwenda kutumia wakati katika darasa kwenda juu ya algorithms haya tena au kuchora 453 00:20:59,150 --> 00:21:01,130 picha kwa namna gani hawa algorithms kazi. 454 00:21:01,130 --> 00:21:04,030 Tena, kwamba taarifa unaweza kuangalia upya hotuba, au kwamba taarifa 455 00:21:04,030 --> 00:21:08,570 ni alitekwa outstandingly juu ya kaptula kwa ajili ya utafutaji haya, yote ya 456 00:21:08,570 --> 00:21:10,920 ambazo zinapatikana katika cs50.net. 457 00:21:10,920 --> 00:21:14,200 >> Hivyo badala yake, nini tunakwenda kwa kufanya ni kuandika programu hizi. 458 00:21:14,200 --> 00:21:18,190 Sisi kuwa na akili, mfano wa akili, ya jinsi ya kazi, na hivyo nini tunakwenda 459 00:21:18,190 --> 00:21:20,210 kufanya ni kanuni yao kwa kweli. 460 00:21:20,210 --> 00:21:23,430 Tunakwenda kugeuka kuwa mfano wa kuigwa wa akili, picha kwamba, kama wewe, katika 461 00:21:23,430 --> 00:21:24,960 halisi code. 462 00:21:24,960 --> 00:21:28,460 Na kama ungekuwa kuchanganyikiwa kidogo au hazy juu ya mfano wa akili, mimi kabisa 463 00:21:28,460 --> 00:21:28,770 kuelewa. 464 00:21:28,770 --> 00:21:30,540 >> Sisi siyo kweli kwenda kuruka na kanuni mara moja. 465 00:21:30,540 --> 00:21:36,030 Hivyo wakati hii haraka katika slide hii anauliza ninyi na kanuni search binary, na 466 00:21:36,030 --> 00:21:39,470 kweli, toleo la usioisha ya search binary, Jambo la kwanza mimi 467 00:21:39,470 --> 00:21:42,370 kweli wanataka kufanya ni kuandika baadhi ya pseudocode. 468 00:21:42,370 --> 00:21:47,020 Hivyo kuwa na mtindo huu wa akili ya jinsi ya binary kazi search. 469 00:21:47,020 --> 00:21:50,060 Kuchukua karatasi kama una moja kwa urahisi, au kufungua 470 00:21:50,060 --> 00:21:52,520 Nakala mhariri, na Ningependa kila mtu kuandika. 471 00:21:52,520 --> 00:21:57,470 Kuchukua dakika nne kuandika pseudocode kwa ajili ya kutafuta binary. 472 00:21:57,470 --> 00:21:58,990 >> Tena, kufikiri juu ya kwamba mfano akili. 473 00:21:58,990 --> 00:22:01,980 Mimi itabidi kuja karibu kama una maswali na tunaweza kuchora picha nje. 474 00:22:01,980 --> 00:22:06,220 Lakini kwanza, kabla ya kuanza programu, Ningependa kuandika 475 00:22:06,220 --> 00:22:09,920 pseudocode kwa ajili ya kutafuta binary hivyo wakati sisi kupiga mbizi katika, tuna baadhi ya mwelekeo kama 476 00:22:09,920 --> 00:22:12,110 ambapo sisi lazima kichwa. 477 00:22:12,110 --> 00:22:15,330 >> STUDENT: Je, sisi kudhani safu ya maadili sisi kupata tayari yamepangwa? 478 00:22:15,330 --> 00:22:17,960 >> JASON HIRSCHHORN: Hivyo kwa ajili ya kutafuta binary kazi - swali bora - wewe 479 00:22:17,960 --> 00:22:20,970 kuchukua katika sorted safu ya maadili. 480 00:22:20,970 --> 00:22:22,290 Hivyo kudhani itakuwa kazi. 481 00:22:22,290 --> 00:22:23,480 Tutaweza kwenda nyuma slide hii. 482 00:22:23,480 --> 00:22:27,220 Utaona katika zambarau kazi tamko ni bool binary_search int 483 00:22:27,220 --> 00:22:29,230 thamani, maadili int, int n. 484 00:22:29,230 --> 00:22:32,910 Hii inapaswa kuangalia familiar kama wameweza tayari ufanyike au kujipatia yako 485 00:22:32,910 --> 00:22:34,580 mikono chafu na kuweka tatizo. 486 00:22:34,580 --> 00:22:35,910 >> Lakini hiyo ni kazi tamko yako. 487 00:22:35,910 --> 00:22:39,080 Tena, lazima haja ya kuwa na wasiwasi kuhusu kiasi kwamba katika wakati huu. 488 00:22:39,080 --> 00:22:43,660 Kile kwa kweli nataka wewe kufanya ni kuchukua dakika nne kwa pseudocode binary 489 00:22:43,660 --> 00:22:46,380 kutafuta, na kisha tutaweza kwenda juu ya kwamba kama kikundi. 490 00:22:46,380 --> 00:22:47,500 Nami kuja karibu. 491 00:22:47,500 --> 00:22:49,590 Kama una maswali, kujisikia bure kunyanyua mkono wako. 492 00:22:49,590 --> 00:25:07,110 493 00:25:07,110 --> 00:25:09,680 >> Kwa nini wewe kuchukua dakika mbili zaidi kumaliza up pseudocode? 494 00:25:09,680 --> 00:25:13,690 495 00:25:13,690 --> 00:25:15,820 Najua hii inaweza kuonekana ujinga kwamba sisi ni matumizi ya muda sana juu ya 496 00:25:15,820 --> 00:25:20,350 kitu ambacho si hata kweli katika C, lakini hasa kwa ajili ya haya zaidi 497 00:25:20,350 --> 00:25:24,030 algorithms changamoto na tatizo seti kwamba sisi kuwa na kufikiri, 498 00:25:24,030 --> 00:25:27,210 kuanzia mwaka pseudocode si hofu kuhusu syntax, tu hofu juu ya 499 00:25:27,210 --> 00:25:29,150 mantiki, ni incredibly kusaidia. 500 00:25:29,150 --> 00:25:32,720 Na kwa njia hiyo, wewe si kutatua mbili matatizo incredibly vigumu kwa mara moja. 501 00:25:32,720 --> 00:25:35,390 Wewe ni kulenga tu juu ya mantiki, na basi hoja katika syntax. 502 00:25:35,390 --> 00:25:59,960 503 00:25:59,960 --> 00:26:01,385 >> OK. 504 00:26:01,385 --> 00:26:03,680 Hebu kuanza kwenda kwa pseudocode. 505 00:26:03,680 --> 00:26:05,380 Nimeandika hapa, binary search pseudocode. 506 00:26:05,380 --> 00:26:07,360 Tutaweza kuandika hii juu ya bodi pamoja. 507 00:26:07,360 --> 00:26:10,040 Au mimi itabidi kuandika na wewe utakuwa kutoa mimi papo mimi haja. 508 00:26:10,040 --> 00:26:15,010 Basi unaweza mtu yeyote nipe kwanza mstari wa pseudocode ninyi 509 00:26:15,010 --> 00:26:18,350 aliandika kwa ajili ya kutafuta binary? 510 00:26:18,350 --> 00:26:20,258 Ndiyo, Annie? 511 00:26:20,258 --> 00:26:22,698 >> STUDENT: Wakati urefu wa orodha ni kubwa kuliko sufuri. 512 00:26:22,698 --> 00:26:26,114 513 00:26:26,114 --> 00:26:34,880 >> JASON HIRSCHHORN: Wakati urefu ya orodha kubwa kuliko sufuri. 514 00:26:34,880 --> 00:26:38,810 Na tena, tunaona baadhi C-kuangalia mambo syntactical hapa. 515 00:26:38,810 --> 00:26:41,550 Lakini zaidi ya hii ni katika lugha ya Kiingereza. 516 00:26:41,550 --> 00:26:43,980 Je, mtu yeyote kuwa na line yoyote kuweka kabla ya hii katika wao pseudo-code? 517 00:26:43,980 --> 00:26:47,280 518 00:26:47,280 --> 00:26:50,210 >> Mwanafunzi: Kupata safu ya yamepangwa idadi. 519 00:26:50,210 --> 00:26:53,600 >> JASON HIRSCHHORN: You aliandika "kupata safu ya idadi sorted. "Per 520 00:26:53,600 --> 00:26:56,140 kazi tamko, tutaweza kuwa na kupita safu ya idadi yamepangwa. 521 00:26:56,140 --> 00:26:57,280 >> Mwanafunzi: [inaudible]. 522 00:26:57,280 --> 00:26:59,030 >> JASON HIRSCHHORN: Hivyo sisi kuwa na hiyo. 523 00:26:59,030 --> 00:27:01,820 Lakini ndiyo, kama sisi hawakuwa na kwamba, sisi bila haja ya kutatua safu yetu ya 524 00:27:01,820 --> 00:27:04,850 idadi, kwa sababu search binary kazi tu juu ya arrays yamepangwa. 525 00:27:04,850 --> 00:27:11,300 Hivyo wakati urefu wa orodha ni sawa na sifuri, mimi nina kwenda kuweka katika baadhi braces curly 526 00:27:11,300 --> 00:27:15,420 kufanya ni kuangalia kidogo zaidi kama C. Lakini wakati, inaonekana ramani kwenye 527 00:27:15,420 --> 00:27:19,550 kitanzi wakati, hivyo ndani ya wakati huu kitanzi nini tunahitaji 528 00:27:19,550 --> 00:27:22,000 kufanya kwa ajili ya kutafuta binary? 529 00:27:22,000 --> 00:27:25,530 >> Mtu mwingine ambaye si mimi kutokana na kujibu bado lakini ambaye aliandika hii? 530 00:27:25,530 --> 00:27:31,750 531 00:27:31,750 --> 00:27:33,320 >> STUDENT: Go to katikati ya orodha. 532 00:27:33,320 --> 00:27:33,980 >> JASON HIRSCHHORN: Tom. 533 00:27:33,980 --> 00:27:35,230 Kwenda katikati ya orodha. 534 00:27:35,230 --> 00:27:43,290 535 00:27:43,290 --> 00:27:45,530 Na swali ifuatavyo-up, nini tunafanya mara moja tuko katika 536 00:27:45,530 --> 00:27:46,870 katikati ya orodha? 537 00:27:46,870 --> 00:27:49,310 >> STUDENT: Je, kuangalia kama hiyo ni idadi wewe ni kuangalia kwa. 538 00:27:49,310 --> 00:27:50,120 >> JASON HIRSCHHORN: Excellent. 539 00:27:50,120 --> 00:28:05,500 Kwenda katikati ya orodha na kuangalia kama thamani yetu ni pale - 540 00:28:05,500 --> 00:28:06,515 ajabu. 541 00:28:06,515 --> 00:28:10,460 Je, mtu yeyote kuwa na kitu kingine chochote kwamba ilikuwa tofauti kuliko hii? 542 00:28:10,460 --> 00:28:11,210 Hiyo ni kweli kabisa. 543 00:28:11,210 --> 00:28:13,800 >> Jambo la kwanza sisi kufanya katika kutafuta binary ni kwenda katikati ya orodha na 544 00:28:13,800 --> 00:28:15,870 kuangalia kuona kama thamani yetu ni huko. 545 00:28:15,870 --> 00:28:19,682 Hivyo mimi kudhani kama thamani yetu ni huko, tunafanya nini? 546 00:28:19,682 --> 00:28:21,610 >> Mwanafunzi: Sisi kurudi zero [inaudible]. 547 00:28:21,610 --> 00:28:23,400 >> JASON HIRSCHHORN: Yeah, kama yetu thamani ni huko, sisi kupatikana. 548 00:28:23,400 --> 00:28:27,950 Ili tuweze kuwaambia baadhi ya njia, hata hivyo hii kazi inaelezwa, sisi tunasema user 549 00:28:27,950 --> 00:28:28,520 sisi kupatikana. 550 00:28:28,520 --> 00:28:30,950 Kama siyo huko, ingawa, kwamba ambapo hii anapata gumu. 551 00:28:30,950 --> 00:28:35,120 Hivyo kama si huko, mtu mwingine ambaye alikuwa akifanya kazi ya kutafuta binary au 552 00:28:35,120 --> 00:28:36,830 ina wazo sasa, tunafanya nini? 553 00:28:36,830 --> 00:28:37,830 >> STUDENT: Swali. 554 00:28:37,830 --> 00:28:38,100 >> JASON HIRSCHHORN: Ndiyo? 555 00:28:38,100 --> 00:28:39,920 >> STUDENT: Je, safu tayari yamepangwa? 556 00:28:39,920 --> 00:28:42,200 >> JASON HIRSCHHORN: Ndiyo, sisi ni kuchukua safu tayari yamepangwa. 557 00:28:42,200 --> 00:28:46,480 >> STUDENT: Hivyo basi una kuangalia kama thamani kwamba unaweza kuona ni zaidi ya 558 00:28:46,480 --> 00:28:51,745 thamani kwamba unataka, unaweza hoja katikati ya nusu nyingine. 559 00:28:51,745 --> 00:28:54,110 >> JASON HIRSCHHORN: Hivyo kama katikati ya orodha ni zaidi kuliko yale sisi ni 560 00:28:54,110 --> 00:28:57,440 kutafuta, basi hatuna nini? 561 00:28:57,440 --> 00:28:58,320 Sisi hoja wapi? 562 00:28:58,320 --> 00:29:01,400 >> STUDENT: Unataka hoja ya nusu ya orodha na 563 00:29:01,400 --> 00:29:02,780 idadi ya chini zaidi ya hiyo. 564 00:29:02,780 --> 00:29:04,460 >> JASON HIRSCHHORN: Hivyo tutaweza wito kwamba upande wa kushoto. 565 00:29:04,460 --> 00:29:15,435 Hivyo kama katikati ni mkubwa, tunaweza kutafuta kushoto nusu ya orodha. 566 00:29:15,435 --> 00:29:20,620 567 00:29:20,620 --> 00:29:22,980 Na kisha kwa search, nini wala maana na search? 568 00:29:22,980 --> 00:29:24,010 >> Mwanafunzi: [inaudible]. 569 00:29:24,010 --> 00:29:24,410 >> JASON HIRSCHHORN: Sisi kwenda katikati. 570 00:29:24,410 --> 00:29:25,740 Sisi kwa kweli kurudia jambo hili. 571 00:29:25,740 --> 00:29:29,210 Sisi kurudi nyuma kupitia wakati wetu kitanzi. 572 00:29:29,210 --> 00:29:31,480 Mimi nitakupa moja mwisho - 573 00:29:31,480 --> 00:29:39,047 mwingine, kama, katikati ni kidogo kuliko kile hatuna, tunafanya nini hapa? 574 00:29:39,047 --> 00:29:40,360 >> STUDENT: Go to haki. 575 00:29:40,360 --> 00:29:41,610 >> JASON HIRSCHHORN: Search haki. 576 00:29:41,610 --> 00:29:47,440 577 00:29:47,440 --> 00:29:51,710 Hii inaonekana ni nzuri, lakini haina mtu yeyote kuwa na chochote kwamba sisi inaweza kuwa kukosa au 578 00:29:51,710 --> 00:29:53,200 kitu kingine chochote kwamba kuweka katika yako pseudo-code? 579 00:29:53,200 --> 00:29:57,080 580 00:29:57,080 --> 00:29:58,410 Hivyo hii ni nini sisi hadi sasa. 581 00:29:58,410 --> 00:30:00,960 Wakati urefu wa orodha ni kubwa kuliko sifuri, sisi ni kwenda 582 00:30:00,960 --> 00:30:03,220 katikati ya orodha na kuangalia kama thamani yetu ni huko. 583 00:30:03,220 --> 00:30:06,970 >> Kama katikati ni mkubwa, tunakwenda kutafuta kushoto, mwingine kama katikati ni 584 00:30:06,970 --> 00:30:09,230 chini, tunakwenda kutafuta haki. 585 00:30:09,230 --> 00:30:14,430 Hivyo tumekuwa wote walikuwa baadhi uzoefu na suala sisi kutumia katika sayansi ya kompyuta 586 00:30:14,430 --> 00:30:15,550 na zana tuna. 587 00:30:15,550 --> 00:30:18,300 Lakini utasikia tayari taarifa tulikuwa akizungumza katika Kiingereza, lakini sisi kupatikana 588 00:30:18,300 --> 00:30:24,790 mambo mengi ambayo walionekana ramani kwenye zana tuna katika chombo yetu coding kit. 589 00:30:24,790 --> 00:30:27,210 Hivyo haki mbali bat, sisi siyo kwenda kwa kweli ya kificho bado. 590 00:30:27,210 --> 00:30:33,300 >> Tunaona nini hapa katika lugha ya Kiingereza kuwa ramani juu ya mambo tunaweza kuandika katika C? 591 00:30:33,300 --> 00:30:34,560 >> STUDENT: Wakati. 592 00:30:34,560 --> 00:30:35,320 >> JASON HIRSCHHORN: Wakati. 593 00:30:35,320 --> 00:30:40,610 Hivyo wakati haki hii hapa ramani juu ya nini? 594 00:30:40,610 --> 00:30:42,630 >> Mwanafunzi: kitanzi wakati. 595 00:30:42,630 --> 00:30:43,200 >> JASON HIRSCHHORN: kitanzi wakati? 596 00:30:43,200 --> 00:30:44,540 Au pengine, kwa ujumla zaidi, kitanzi. 597 00:30:44,540 --> 00:30:46,260 Tunataka kufanya kitu tena na tena. 598 00:30:46,260 --> 00:30:49,050 Hivyo sisi ni kwenda na kanuni kitanzi. 599 00:30:49,050 --> 00:30:51,640 Na sisi tayari kujua, kwa sababu tumefanya hii michache mara na sisi 600 00:30:51,640 --> 00:30:54,180 na mengi ya mifano huko nje, jinsi kweli kuandika 601 00:30:54,180 --> 00:30:55,310 ripoti hii kwa kitanzi. 602 00:30:55,310 --> 00:30:56,160 Hivyo kwamba wanapaswa kuwa na pretty rahisi. 603 00:30:56,160 --> 00:30:58,070 Tunapaswa kuwa na uwezo wa kupata kwamba kuanza pretty haraka. 604 00:30:58,070 --> 00:31:01,830 >> Ni kitu gani tunaona katika hapa? 605 00:31:01,830 --> 00:31:06,820 Gani nyingine miundo syntaxes, mambo kwamba sisi ni ukoo na katika C, kufanya sisi 606 00:31:06,820 --> 00:31:09,790 tayari kuwa na hisia za Kulingana na mbali ya maneno sisi kutumika? 607 00:31:09,790 --> 00:31:10,830 Ndiyo, Anna? 608 00:31:10,830 --> 00:31:11,360 [Inaudible] 609 00:31:11,360 --> 00:31:12,990 tu kidding. 610 00:31:12,990 --> 00:31:13,540 Anna, kwenda mbele. 611 00:31:13,540 --> 00:31:14,530 >> STUDENT: Kama na mwingine. 612 00:31:14,530 --> 00:31:16,260 >> JASON HIRSCHHORN: Kama na mwingine - papa hapa. 613 00:31:16,260 --> 00:31:18,840 Basi je, wale kuangalia kama? 614 00:31:18,840 --> 00:31:20,420 >> Mwanafunzi: An kama taarifa mwingine. 615 00:31:20,420 --> 00:31:21,560 >> JASON HIRSCHHORN: Yeah, masharti, right? 616 00:31:21,560 --> 00:31:24,650 Hivyo tutaweza pengine haja ya kuandika baadhi ya masharti. 617 00:31:24,650 --> 00:31:31,185 Na tena, ingawa labda utata katika kwanza, sisi ujumla kuwa na hisia sasa 618 00:31:31,185 --> 00:31:34,010 ya jinsi ya kuandika hali na syntax kwa masharti. 619 00:31:34,010 --> 00:31:36,850 Na kama sisi kufanya hivyo, sisi tu kuangalia up syntax kwa masharti, kata na kuweka 620 00:31:36,850 --> 00:31:39,950 kwamba, kwa sababu tunajua haja hali hapa. 621 00:31:39,950 --> 00:31:44,910 Yoyote na mambo mengine tunaona kwamba ramani kwenye mambo tupate haja ya kufanya katika C? 622 00:31:44,910 --> 00:31:48,312 623 00:31:48,312 --> 00:31:48,960 Yeah, Aleha? 624 00:31:48,960 --> 00:31:50,370 >> STUDENT: Hii inaweza kuwa wazi, kwa kuangalia tu kama 625 00:31:50,370 --> 00:31:51,990 thamani sawa na kitu. 626 00:31:51,990 --> 00:31:54,578 >> JASON HIRSCHHORN: Hivyo ni jinsi gani sisi kuangalia na - ili kwenda katikati ya orodha 627 00:31:54,578 --> 00:31:55,610 na kuangalia kama thamani yetu ni huko? 628 00:31:55,610 --> 00:31:56,570 Je, sisi kufanya hivyo katika C? 629 00:31:56,570 --> 00:31:58,450 Nini syntax kwa kuwa? 630 00:31:58,450 --> 00:31:59,235 >> Mwanafunzi: Usawa, sawa. 631 00:31:59,235 --> 00:32:00,650 >> JASON HIRSCHHORN: Usawa, sawa. 632 00:32:00,650 --> 00:32:03,540 Hivyo hii kuangalia pengine ni kwenda kuwa sawa, sawa. 633 00:32:03,540 --> 00:32:04,510 Hivyo tutaweza kujua sisi haja ya kuwa mahali fulani. 634 00:32:04,510 --> 00:32:07,510 Na kwa kweli, tu katika kuandika hayo, tunaona yale mambo mengine. 635 00:32:07,510 --> 00:32:11,400 Tunakwenda kufanya baadhi ya operators kulinganisha huko - 636 00:32:11,400 --> 00:32:12,010 ajabu. 637 00:32:12,010 --> 00:32:14,980 Hivyo ni kweli inaonekana kama, kwa kubwa, sisi si imeandikwa a 638 00:32:14,980 --> 00:32:16,390 neno la C code bado. 639 00:32:16,390 --> 00:32:20,610 Lakini tulipata mfano akili chini kupitia mihadhara na kaptula hizo. 640 00:32:20,610 --> 00:32:22,350 >> Tuliandika pseudo-code kama kikundi. 641 00:32:22,350 --> 00:32:27,110 Na tayari, tuna 80% kama si 90% ya nini tunahitaji kufanya. 642 00:32:27,110 --> 00:32:28,550 Sasa, sisi tu haja ya na kanuni yake, ambayo tena, ni 643 00:32:28,550 --> 00:32:30,110 zisizo yasiyo na maana tatizo la kutatua. 644 00:32:30,110 --> 00:32:31,890 Lakini angalau sisi ni kukwama kwa mantiki. 645 00:32:31,890 --> 00:32:38,040 Angalau sasa wakati sisi kwenda masaa ya ofisi, Naweza kusema, Mimi najua kile haja 646 00:32:38,040 --> 00:32:40,160 kufanya, lakini unaweza kuwakumbusha yangu ya syntax? 647 00:32:40,160 --> 00:32:42,940 Au hata kama masaa ya ofisi ni inaishi, wewe unaweza Google kwa syntax, badala 648 00:32:42,940 --> 00:32:45,040 kuliko kuwa kukwama juu ya mantiki. 649 00:32:45,040 --> 00:32:48,570 >> Na tena, badala ya kujaribu kutatua mantiki na matatizo syntax wote 650 00:32:48,570 --> 00:32:51,900 mara moja, mara nyingi ni bora zaidi kwa kuvunja hizo mbili matatizo ngumu mbali katika 651 00:32:51,900 --> 00:32:58,280 mbili zaidi ndio manageable na kufanya pseudo-code kwanza na kisha code katika C. 652 00:32:58,280 --> 00:33:00,620 Basi hebu angalia nini mimi kwa Pseudo-code kabla ya muda. 653 00:33:00,620 --> 00:33:04,060 >> Wakati urefu wa orodha ni kubwa kuliko sifuri, kuangalia katikati 654 00:33:04,060 --> 00:33:05,090 ya orodha. 655 00:33:05,090 --> 00:33:09,610 Kama idadi kupatikana akarudi kweli, mwingine kama idadi ya juu, tafuta kushoto. 656 00:33:09,610 --> 00:33:13,200 Mwingine kama idadi ndogo, tafuta haki, kurudi uongo. 657 00:33:13,200 --> 00:33:18,710 Hivyo kwamba inaonekana karibu kufanana kama si karibu kufanana na kile sisi aliandika. 658 00:33:18,710 --> 00:33:23,030 Kwa kweli, Tom, nini alisema kwanza, kuvunja katikati ya orodha na kama 659 00:33:23,030 --> 00:33:24,880 Idadi ya kupatikana ndani ya kauli mbili ni nini hasa mimi. 660 00:33:24,880 --> 00:33:25,507 >> Mimi pamoja nao huko. 661 00:33:25,507 --> 00:33:27,100 Mimi lazima tumesikia mara ya kwanza. 662 00:33:27,100 --> 00:33:30,640 Hivyo kwamba ni Pseudo-code tuna. 663 00:33:30,640 --> 00:33:35,060 Kama unataka sasa, sorry, kwenda nyuma na tatizo yetu ya awali. 664 00:33:35,060 --> 00:33:37,780 Hebu code binary.c. 665 00:33:37,780 --> 00:33:40,870 Hivyo kutekeleza toleo usioisha ya search binary kutumia zifuatazo 666 00:33:40,870 --> 00:33:42,420 kazi tamko hilo. 667 00:33:42,420 --> 00:33:44,550 >> Na huna haja ya nakala chini bado tu. 668 00:33:44,550 --> 00:33:49,470 Mimi nina kweli kwenda kufungua up haki hapa binary.c. 669 00:33:49,470 --> 00:33:52,880 Kwa hiyo, kuna kazi tamko katikati ya screen. 670 00:33:52,880 --> 00:33:57,570 Na utaona mimi alichukua pseudo-code kutoka pande yangu, lakini karibu sawa 671 00:33:57,570 --> 00:33:59,740 kwa nini sisi aliandika, na kuweka kwamba katika kwa ajili yenu. 672 00:33:59,740 --> 00:34:06,010 Hivyo sasa, hebu kuchukua muda wa dakika tano na kanuni ya kazi hii. 673 00:34:06,010 --> 00:34:08,199 >> Na tena, kama una maswali yoyote, kunyanyua mikono yako, basi mimi kujua, mimi itabidi 674 00:34:08,199 --> 00:34:08,710 kuja karibu. 675 00:34:08,710 --> 00:34:09,800 >> Mwanafunzi: [inaudible]. 676 00:34:09,800 --> 00:34:12,380 >> JASON HIRSCHHORN: Kwa hiyo mimi alichukua binary search ufafanuzi katika 677 00:34:12,380 --> 00:34:14,429 juu, juu ya mstari 12. 678 00:34:14,429 --> 00:34:16,429 Hiyo ni nini I got kwa slide yangu. 679 00:34:16,429 --> 00:34:20,940 Na kisha haya yote Pseudo-code I just nakala na pasted kutoka slide, 680 00:34:20,940 --> 00:34:22,190 pseudo-code slide. 681 00:34:22,190 --> 00:35:22,830 682 00:35:22,830 --> 00:35:26,786 Mimi bado si kusikia [inaudible]. 683 00:35:26,786 --> 00:37:13,010 684 00:37:13,010 --> 00:37:15,820 >> Hivyo kama una kumaliza yako utekelezaji, nataka kuangalia ni. 685 00:37:15,820 --> 00:37:19,410 Mimi yaliyopelekwa ninyi helpers.h file mapema katika darasa hili. 686 00:37:19,410 --> 00:37:22,360 Na itakuwa inapatikana online kama vile kwa shusha kwa watu kuangalia 687 00:37:22,360 --> 00:37:24,750 wakati huu sehemu kuchelewa. 688 00:37:24,750 --> 00:37:29,350 Na mimi tu kutumika usambazaji generic kanuni kutoka pset3. 689 00:37:29,350 --> 00:37:34,590 Hivyo mimi alichukua find.C, matumizi helpers.h faili yangu badala ya helpers.h file 690 00:37:34,590 --> 00:37:36,280 hiyo kutolewa katika usambazaji code. 691 00:37:36,280 --> 00:37:39,310 >> Na mimi alikuwa na kufanya mabadiliko ya mtu mwingine katika find.C badala ya wito tu tu 692 00:37:39,310 --> 00:37:42,770 search, piga binary_search. 693 00:37:42,770 --> 00:37:49,080 Hivyo kama unataka mtihani code yako, kujua kwamba ni jinsi ya kufanya hivyo. 694 00:37:49,080 --> 00:37:52,530 Kwa kweli, wakati tutarusha kanuni hii sasa hivi, mimi tu alifanya nakala ya 695 00:37:52,530 --> 00:37:59,820 pset3 directory yangu, tena, walibadilishana nje files wasaidizi na kisha alifanya kwamba 696 00:37:59,820 --> 00:38:04,695 mabadiliko katika find.C kuwaita binary_search badala ya kutafuta. 697 00:38:04,695 --> 00:40:08,620 698 00:40:08,620 --> 00:40:09,120 >> JASON HIRSCHHORN: Ndiyo. 699 00:40:09,120 --> 00:40:11,258 Una swali? 700 00:40:11,258 --> 00:40:12,150 >> Mwanafunzi: Nevermind. 701 00:40:12,150 --> 00:40:12,600 >> JASON HIRSCHHORN: Hakuna wasiwasi. 702 00:40:12,600 --> 00:40:13,370 Naam, hebu kuanza. 703 00:40:13,370 --> 00:40:15,090 Sisi Kanuni hii kama kikundi. 704 00:40:15,090 --> 00:40:16,050 Mtu mwingine note. 705 00:40:16,050 --> 00:40:20,600 Tena, hii ni, inaweza kwa urahisi walibadilishana kwa ajili ya kuweka tatizo tatu. 706 00:40:20,600 --> 00:40:25,530 Nina helpers.h faili yangu ambayo, badala kuliko helpers.h sisi ni kupewa, 707 00:40:25,530 --> 00:40:28,560 asema binary search, Bubble aina, na uteuzi aina. 708 00:40:28,560 --> 00:40:37,400 Na katika find.c utasikia taarifa juu ya line, nini ni kwamba, line 68, sisi wito binary 709 00:40:37,400 --> 00:40:39,160 kutafuta badala ya search. 710 00:40:39,160 --> 00:40:42,930 Hivyo tena, kanuni ambayo inapatikana online au kificho kwamba wewe ni 711 00:40:42,930 --> 00:40:46,590 kujenga sasa hivi inaweza kwa urahisi walibadilishana kwa ajili ya p kuweka 3 ya kuangalia hilo. 712 00:40:46,590 --> 00:40:50,620 >> Lakini kwanza, hebu Code Search binary. 713 00:40:50,620 --> 00:40:53,690 Kazi yetu tamko, sisi kurudi bool. 714 00:40:53,690 --> 00:40:55,810 Sisi kuchukua integer aitwaye thamani. 715 00:40:55,810 --> 00:40:59,285 Sisi kuchukua safu ya integers aitwaye maadili, na sisi kuchukua n kuwa na 716 00:40:59,285 --> 00:41:00,850 ukubwa wa safu. 717 00:41:00,850 --> 00:41:05,640 On line 10, hapa, nina mkali ni pamoja na stdbool.h. 718 00:41:05,640 --> 00:41:07,360 Je, mtu yeyote kujua kwa nini kwamba huko? 719 00:41:07,360 --> 00:41:12,180 720 00:41:12,180 --> 00:41:16,600 Hivyo je, hiyo mstari wa kanuni nini? 721 00:41:16,600 --> 00:41:19,880 >> Mwanafunzi: Ni utapata kutumia aina bool kurudi. 722 00:41:19,880 --> 00:41:20,350 >> JASON HIRSCHHORN: Hasa. 723 00:41:20,350 --> 00:41:22,300 >> STUDENT: Au ni maktaba ambayo inaruhusu kutumia aina bool kurudi. 724 00:41:22,300 --> 00:41:27,590 >> JASON HIRSCHHORN: Hivyo mkali ni pamoja na stdbool.h line anitiaye baadhi 725 00:41:27,590 --> 00:41:31,340 ufafanuzi na maazimio kwa ajili ya mambo kwamba mimi kuruhusiwa kutumia katika 726 00:41:31,340 --> 00:41:32,400 maktaba hii. 727 00:41:32,400 --> 00:41:36,570 Hivyo miongoni mwa wale ni kusema kwamba kuna aina hii inaitwa bool, na inaweza kuwa 728 00:41:36,570 --> 00:41:37,750 kweli au uongo. 729 00:41:37,750 --> 00:41:39,010 Hivyo kwamba ni nini kwamba line gani. 730 00:41:39,010 --> 00:41:41,680 Na kama mimi hawakuwa na kwamba line, napenda kupata shida kwa kuandika hii 731 00:41:41,680 --> 00:41:43,520 neno sahihi hapa, bool, papo hapo. 732 00:41:43,520 --> 00:41:44,140 Hasa haki. 733 00:41:44,140 --> 00:41:46,430 Basi, mimi haja ya kuwa katika kanuni hii. 734 00:41:46,430 --> 00:41:47,690 OK. 735 00:41:47,690 --> 00:41:51,860 Hivyo hii, tena, ni iterative version, si moja ya kujirudia. 736 00:41:51,860 --> 00:41:53,820 Hivyo basi sisi kuanza. 737 00:41:53,820 --> 00:41:56,200 >> Hebu kuanza na hii ya kwanza mstari wa Pseudo code. 738 00:41:56,200 --> 00:41:58,770 Na hopefully, sisi - au si hopefully. 739 00:41:58,770 --> 00:42:00,530 Sisi ni kwenda kuzunguka chumba. 740 00:42:00,530 --> 00:42:05,110 Tutaweza kwenda mstari kwa mstari, na mimi itasaidia takwimu nje line kwamba tunahitaji 741 00:42:05,110 --> 00:42:06,310 kuandika kwanza. 742 00:42:06,310 --> 00:42:10,550 Hivyo wakati urefu wa orodha ni kubwa kuliko sufuri. 743 00:42:10,550 --> 00:42:12,680 Hebu kuanza mbele. 744 00:42:12,680 --> 00:42:15,190 Nini line lazima mimi kuandika hapa, katika kanuni? 745 00:42:15,190 --> 00:42:19,470 >> STUDENT: Wakati mabano n, ni mkubwa kuliko 0. 746 00:42:19,470 --> 00:42:21,900 >> JASON HIRSCHHORN: Wakati n ni kubwa kuliko 0. 747 00:42:21,900 --> 00:42:26,550 Hivyo n ni ukubwa wa orodha, na sisi ni kuangalia kama - 748 00:42:26,550 --> 00:42:26,800 >> [INTERPOSING SAUTI] 749 00:42:26,800 --> 00:42:27,660 >> JASON HIRSCHHORN: - sorry? 750 00:42:27,660 --> 00:42:29,360 >> STUDENT: Je, tunajua kwamba n ni ukubwa wa orodha? 751 00:42:29,360 --> 00:42:29,690 >> JASON HIRSCHHORN: Sorry. 752 00:42:29,690 --> 00:42:34,690 Kwa pset vipimo, tafuta na aina Kazi unahitaji kuandika, 753 00:42:34,690 --> 00:42:36,230 n ni ukubwa wa orodha. 754 00:42:36,230 --> 00:42:37,710 I forgot kueleza kwamba hapa. 755 00:42:37,710 --> 00:42:41,310 Lakini ndiyo. n ni ukubwa wa orodha, katika kesi hii. 756 00:42:41,310 --> 00:42:44,740 Hivyo wakati n, ni mkubwa kuliko 0. 757 00:42:44,740 --> 00:42:45,580 OK. 758 00:42:45,580 --> 00:42:50,090 Ili kuthibitisha kidogo matatizo ingawa, kama mambo kwenda juu. 759 00:42:50,090 --> 00:42:54,510 Kwa sababu tutaendelea kujua ukubwa wa orodha katika hii 760 00:42:54,510 --> 00:43:06,640 kazi, lakini kusema sisi kuanza na safu ya 5 integers. 761 00:43:06,640 --> 00:43:08,950 Na sisi kwenda kwa njia na tumekuwa sasa dhiki ni chini ya 762 00:43:08,950 --> 00:43:10,310 safu ya 2 integers. 763 00:43:10,310 --> 00:43:12,160 Ambayo 2 integers ni kwamba? 764 00:43:12,160 --> 00:43:15,895 ukubwa ni 2 sasa kwamba tunataka kuangalia, lakini ambayo 2 ni kwamba? 765 00:43:15,895 --> 00:43:17,720 Je, hiyo mantiki, swali hilo? 766 00:43:17,720 --> 00:43:18,020 >> OK. 767 00:43:18,020 --> 00:43:19,120 Mimi itabidi kuuliza tena. 768 00:43:19,120 --> 00:43:26,640 Hivyo sisi kuanza mbali na safu hii ya 5 integers, na n sawa na 5, sawa? 769 00:43:26,640 --> 00:43:28,050 Tutaweza kukimbia kupitia hapa. 770 00:43:28,050 --> 00:43:31,560 tutaweza pengine mabadiliko ya kawaida, haki, kama mambo kwenda juu. 771 00:43:31,560 --> 00:43:32,700 Ambayo ni kile sisi kusema tunataka kufanya. 772 00:43:32,700 --> 00:43:34,150 Hatutaki kutafuta kitu full tena. 773 00:43:34,150 --> 00:43:35,480 Hivyo kusema sisi mabadiliko hayo kwa 2. 774 00:43:35,480 --> 00:43:36,970 Sisi kuchukua nusu orodha hiyo isiyo ya kawaida. 775 00:43:36,970 --> 00:43:38,800 Hivyo tu kuchukua 2. 776 00:43:38,800 --> 00:43:40,590 Hivyo sasa n sawa na 2. 777 00:43:40,590 --> 00:43:42,780 Mimi kuomba msamaha kwa maskini kavu kufuta kalamu. 778 00:43:42,780 --> 00:43:43,080 Haki? 779 00:43:43,080 --> 00:43:45,670 Na sisi ni kutafuta njia ya orodha tena pamoja na orodha ya ukubwa 2. 780 00:43:45,670 --> 00:43:48,580 Naam, safu yetu ni bado ya kawaida 5. 781 00:43:48,580 --> 00:43:51,920 Tunasema tu wanataka kutafuta matangazo ya 2 ndani yake. 782 00:43:51,920 --> 00:43:53,590 Hivyo ambayo 2 matangazo ni hayo? 783 00:43:53,590 --> 00:43:57,640 784 00:43:57,640 --> 00:43:58,815 >> Je, hiyo mantiki? 785 00:43:58,815 --> 00:44:00,290 Je, wao ni wa kushoto 2 matangazo? 786 00:44:00,290 --> 00:44:01,940 Je, wao ni haki 2 matangazo? 787 00:44:01,940 --> 00:44:03,540 Je, wao ni katikati 2 matangazo? 788 00:44:03,540 --> 00:44:06,350 Tumevunja tatizo chini, lakini sisi kweli hawajui ambayo ni sehemu ya 789 00:44:06,350 --> 00:44:11,600 tatizo bado tuko kuangalia, tu kwa kuwa hizi vigezo 2. 790 00:44:11,600 --> 00:44:16,450 Kwa hiyo, tunahitaji kidogo kisha zaidi, wakati n, ni mkubwa kuliko 0. 791 00:44:16,450 --> 00:44:21,410 Tunahitaji kujua ambapo kwamba n ni katika safu yetu halisi. 792 00:44:21,410 --> 00:44:26,660 >> Hivyo haina mtu yeyote kuwa na mabadiliko ya mstari huu? 793 00:44:26,660 --> 00:44:27,970 Zaidi ya mstari huu ni sahihi kabisa. 794 00:44:27,970 --> 00:44:29,170 Je, kuna Aidha mwingine? 795 00:44:29,170 --> 00:44:32,510 Je, sisi kubadilishana kitu nje kwa n kwa kufanya line hii kidogo bora? 796 00:44:32,510 --> 00:44:32,865 Mm-hm? 797 00:44:32,865 --> 00:44:38,040 >> STUDENT: Je, unaweza initialize variable kama urefu wa n kwamba utakuwa kisha kutumika 798 00:44:38,040 --> 00:44:39,600 baadaye katika kazi? 799 00:44:39,600 --> 00:44:42,060 >> JASON HIRSCHHORN: Kwa hiyo initialize urefu kutofautiana kwa n, 800 00:44:42,060 --> 00:44:42,900 na sisi kutumia baadaye? 801 00:44:42,900 --> 00:44:47,070 Lakini basi sisi tu update urefu na sisi bado kukimbia katika tatizo hili ambapo sisi 802 00:44:47,070 --> 00:44:51,180 kupunguza urefu wa tatizo letu, lakini sisi kamwe kujua wapi, kwa kweli, 803 00:44:51,180 --> 00:44:52,510 kwamba urefu ramani kwenye. 804 00:44:52,510 --> 00:44:54,790 >> STUDENT: Je, si kwamba kwenda kutokea baadaye wakati wewe kusema, tafuta kushoto, 805 00:44:54,790 --> 00:44:55,746 kutafuta haki? 806 00:44:55,746 --> 00:44:57,640 Wewe ni kwenda kwa tofauti eneo la yako - 807 00:44:57,640 --> 00:44:59,110 >> JASON HIRSCHHORN: Sisi ni kwenda katika eneo hilo, lakini jinsi gani tunajua 808 00:44:59,110 --> 00:45:01,150 ambayo ni kwenda? 809 00:45:01,150 --> 00:45:03,800 Kama sisi tu na safu hii na n, ni jinsi gani sisi kujua wapi 810 00:45:03,800 --> 00:45:05,050 kwenda katika safu. 811 00:45:05,050 --> 00:45:05,900 Katika nyuma, ndiyo? 812 00:45:05,900 --> 00:45:07,507 >> Mwanafunzi: Je, una, kama, chini ya amefungwa na juu amefungwa variable au 813 00:45:07,507 --> 00:45:08,586 kitu kama hicho? 814 00:45:08,586 --> 00:45:09,060 >> JASON HIRSCHHORN: OK. 815 00:45:09,060 --> 00:45:10,780 Hivyo hii ni wazo mwingine. 816 00:45:10,780 --> 00:45:13,490 Badala ya kuweka wimbo wa tu kawaida, sisi kuweka wimbo wa chini na 817 00:45:13,490 --> 00:45:14,770 juu amefungwa kutofautiana. 818 00:45:14,770 --> 00:45:17,840 Hivyo ni jinsi gani sisi mahesabu ya kawaida kutoka chini amefungwa na juu amefungwa? 819 00:45:17,840 --> 00:45:18,520 >> [INTERPOSING SAUTI] 820 00:45:18,520 --> 00:45:19,710 >> JASON HIRSCHHORN: Toa. 821 00:45:19,710 --> 00:45:23,650 Na pia kuweka wimbo wa chini amefungwa na juu amefungwa hebu kujua, 822 00:45:23,650 --> 00:45:26,215 ni sisi kutafuta hizi mbili? 823 00:45:26,215 --> 00:45:28,220 Je, sisi kutafuta hizi mbili juu ya hapa? 824 00:45:28,220 --> 00:45:29,540 Je, sisi kutafuta katikati mbili? 825 00:45:29,540 --> 00:45:32,810 Pengine si katikati mbili, kwa sababu hii, kwa kweli, ni search binary. 826 00:45:32,810 --> 00:45:37,320 Lakini sasa tutaweza kuwa na uwezo wa kupata ukubwa, lakini pia mipaka ya safu. 827 00:45:37,320 --> 00:45:40,020 Katika kiini, kama tuna kubwa yetu kitabu cha simu, sisi mpasuko ni katika nusu. 828 00:45:40,020 --> 00:45:42,990 Sasa tunajua ambapo kuwa ndogo kitabu cha simu ni. 829 00:45:42,990 --> 00:45:45,260 Lakini sisi siyo kweli ripping kitabu cha simu katika nusu. 830 00:45:45,260 --> 00:45:48,570 Bado tunahitaji kujua wapi mipaka mpya ya tatizo letu ni. 831 00:45:48,570 --> 00:45:51,645 Je, mtu yeyote una maswali yoyote kuhusu hilo? 832 00:45:51,645 --> 00:45:52,440 Ndiyo? 833 00:45:52,440 --> 00:45:56,020 >> Mwanafunzi: Je, ni kazi kwa kujenga variable, i, kwamba basi tu kuhama 834 00:45:56,020 --> 00:46:00,770 nafasi ya i jamaa na wake nafasi ya sasa, na urefu, n? 835 00:46:00,770 --> 00:46:01,710 >> JASON HIRSCHHORN: Na nini ni i? 836 00:46:01,710 --> 00:46:04,110 >> STUDENT: Kama i kuwa kama aina ya - 837 00:46:04,110 --> 00:46:08,040 Kama ungependa initialize i kuwa nafasi ya katikati ya safu. 838 00:46:08,040 --> 00:46:12,540 Na kisha, kama thamani katika nafasi i katika katikati ya safu katika kupatikana kwa 839 00:46:12,540 --> 00:46:17,870 kuwa chini ya thamani unahitaji, i sasa inakuwa urefu wa safu, pamoja na 840 00:46:17,870 --> 00:46:19,215 thamani ya i kugawanywa na 2. 841 00:46:19,215 --> 00:46:20,270 Kama, kuona, kuhama i - 842 00:46:20,270 --> 00:46:20,770 >> JASON HIRSCHHORN: Haki. 843 00:46:20,770 --> 00:46:21,165 >> Mwanafunzi: - hadi - 844 00:46:21,165 --> 00:46:24,010 >> JASON HIRSCHHORN: Kwa hiyo mimi ni karibu chanya ambayo kazi. 845 00:46:24,010 --> 00:46:26,800 Lakini jambo kuwa, unahitaji mbili vipande vya habari hapa. 846 00:46:26,800 --> 00:46:30,050 Unaweza kufanya hivyo kwa mwanzo na mwisho, au unaweza kufanya hivyo kwa kawaida, na kisha 847 00:46:30,050 --> 00:46:31,060 baadhi marker. 848 00:46:31,060 --> 00:46:32,630 Lakini huna haja ya vipande viwili wa habari hapa. 849 00:46:32,630 --> 00:46:34,160 Huwezi kupata kwa pamoja na moja tu. 850 00:46:34,160 --> 00:46:35,830 Je, kwamba inafanya hisia? 851 00:46:35,830 --> 00:46:39,560 >> Hivyo sisi ni kwenda kupitia, na sisi ni kwenda kufanya [inaudible] 852 00:46:39,560 --> 00:46:41,330 na kujenga baadhi ya kalamu. 853 00:46:41,330 --> 00:46:42,690 Hivyo what'd kuandika katika kanuni yako? 854 00:46:42,690 --> 00:46:46,190 >> Mwanafunzi: mimi tu alisema int amefungwa moja ni sawa na 0. 855 00:46:46,190 --> 00:46:47,790 >> JASON HIRSCHHORN: Hebu piga kwamba int, mwanzo. 856 00:46:47,790 --> 00:46:49,140 >> Mwanafunzi: OK. 857 00:46:49,140 --> 00:46:50,590 >> JASON HIRSCHHORN: Kwamba inafanya maana zaidi kwa ajili yangu. 858 00:46:50,590 --> 00:46:51,670 Na? 859 00:46:51,670 --> 00:46:54,340 >> STUDENT: Mimi alisema, mimi nadhani, INT mwisho. 860 00:46:54,340 --> 00:46:55,870 >> JASON HIRSCHHORN: int mwisho. 861 00:46:55,870 --> 00:46:57,640 >> STUDENT: Nadhani, n minus 1, au kitu kama hicho. 862 00:46:57,640 --> 00:46:59,100 Kama, hiki mwisho. 863 00:46:59,100 --> 00:47:02,310 >> JASON HIRSCHHORN: Hivyo wewe aliandika, int mwanzo usawa 0, semicolon, na int 864 00:47:02,310 --> 00:47:04,320 mwisho sawa na n minus 1, semicolon. 865 00:47:04,320 --> 00:47:06,850 Hivyo kimsingi, nini sisi ni kufanya hapa, 0 nafasi ya kwanza. 866 00:47:06,850 --> 00:47:09,570 Na kama tunajua katika arrays, hawana kwenda hadi n, wao kwenda n minus 1. 867 00:47:09,570 --> 00:47:11,110 Hivyo tuna baadhi ya mipaka ya safu yetu. 868 00:47:11,110 --> 00:47:15,730 Na mipaka haya ya awali ya kutokea kwa kuwa mipaka ya awali ya tatizo letu. 869 00:47:15,730 --> 00:47:16,640 OK. 870 00:47:16,640 --> 00:47:19,200 Ili sauti nzuri. 871 00:47:19,200 --> 00:47:22,380 Basi, sisi kurudi nyuma kwa mstari huu, wakati urefu wa orodha ni kubwa kuliko 0, 872 00:47:22,380 --> 00:47:24,752 nini, badala ya n, lazima sisi kuweka katika hapa? 873 00:47:24,752 --> 00:47:28,820 >> Mwanafunzi: Andika kukomesha minus mwanzo. 874 00:47:28,820 --> 00:47:34,780 >> JASON HIRSCHHORN: Wakati kukomesha minus mwanzo, ni mkubwa kuliko 0? 875 00:47:34,780 --> 00:47:35,480 OK. 876 00:47:35,480 --> 00:47:37,730 Na tunaweza, kama sisi alitaka kufanya kidogo nicer, nini 877 00:47:37,730 --> 00:47:38,980 mwingine tunaweza kufanya? 878 00:47:38,980 --> 00:47:41,650 879 00:47:41,650 --> 00:47:43,412 Kama tulitaka safi kanuni hii juu kidogo? 880 00:47:43,412 --> 00:47:46,716 881 00:47:46,716 --> 00:47:48,180 Jinsi gani tunaweza kujikwamua 0? 882 00:47:48,180 --> 00:47:51,560 883 00:47:51,560 --> 00:47:52,690 Hii ni swali style. 884 00:47:52,690 --> 00:47:53,690 Ni sahihi hivi sasa. 885 00:47:53,690 --> 00:47:54,870 >> Mwanafunzi: kukomesha haina mwanzo sawa? 886 00:47:54,870 --> 00:47:55,740 >> JASON HIRSCHHORN: Tunaweza kufanya nini? 887 00:47:55,740 --> 00:47:56,730 >> [INTERPOSING SAUTI] 888 00:47:56,730 --> 00:47:57,330 >> Mwanafunzi: Kukomesha ni zaidi? 889 00:47:57,330 --> 00:47:57,720 >> JASON HIRSCHHORN: Yeah. 890 00:47:57,720 --> 00:48:01,110 Tunaweza tu kufanya wakati kukomesha ni zaidi ya mwanzo. 891 00:48:01,110 --> 00:48:03,580 Haki. 892 00:48:03,580 --> 00:48:06,240 Sisi aliongeza mwanzo upande mwingine ya kwamba, na sisi got kuondoa 0. 893 00:48:06,240 --> 00:48:08,000 Hivyo hii inaonekana tu kidogo safi. 894 00:48:08,000 --> 00:48:08,990 OK. 895 00:48:08,990 --> 00:48:11,460 Hivyo, wakati urefu wa orodha ni 0, tuliandika kwamba, wakati kuishia ni mkubwa 896 00:48:11,460 --> 00:48:12,240 kuliko mwanzo. 897 00:48:12,240 --> 00:48:19,840 Sisi ni kwenda kuweka katika muhimu wetu braces curly, na kisha Jambo la kwanza 898 00:48:19,840 --> 00:48:22,090 tunataka kufanya ni kuangalia yao katika orodha kidogo. 899 00:48:22,090 --> 00:48:22,510 Wewe? 900 00:48:22,510 --> 00:48:23,320 Je, unaweza kunipa - 901 00:48:23,320 --> 00:48:26,460 >> STUDENT: Kama mabano thamani za mraba bracket - 902 00:48:26,460 --> 00:48:30,450 >> JASON HIRSCHHORN: Kama mabano thamani za mraba bracket. 903 00:48:30,450 --> 00:48:33,210 >> Mwanafunzi: kukomesha kugawanywa na 2. 904 00:48:33,210 --> 00:48:33,952 >> JASON HIRSCHHORN: Kukomesha? 905 00:48:33,952 --> 00:48:35,280 >> STUDENT: Mimi naona tatizo na yako - 906 00:48:35,280 --> 00:48:35,750 >> JASON HIRSCHHORN: OK. 907 00:48:35,750 --> 00:48:39,150 Naam, kuangalia katikati. 908 00:48:39,150 --> 00:48:41,226 Jinsi gani sisi kujua nini katikati ni? 909 00:48:41,226 --> 00:48:42,450 Yeah. 910 00:48:42,450 --> 00:48:43,070 Hivyo basi mimi kufuta kwamba code. 911 00:48:43,070 --> 00:48:46,360 Jinsi gani sisi kujua nini katikati ni? 912 00:48:46,360 --> 00:48:48,003 Katika kitu chochote, wakati una mwanzo na mwisho, jinsi gani unaweza kupata 913 00:48:48,003 --> 00:48:48,876 katikati? 914 00:48:48,876 --> 00:48:49,590 >> STUDENT: You wastani. 915 00:48:49,590 --> 00:48:51,820 >> STUDENT: Wewe kuongeza yao pamoja na kisha - 916 00:48:51,820 --> 00:48:53,150 >> JASON HIRSCHHORN: Kuongeza yao pamoja na basi? 917 00:48:53,150 --> 00:48:54,090 >> STUDENT: Na wastani wa. 918 00:48:54,090 --> 00:48:55,050 Kuigawanya kwa 2. 919 00:48:55,050 --> 00:48:56,500 >> JASON HIRSCHHORN: Kuongeza yao pamoja na kugawanya na 2. 920 00:48:56,500 --> 00:48:59,400 Hivyo int katikati ni sawa na? 921 00:48:59,400 --> 00:49:01,120 Tom, unaweza unipe? 922 00:49:01,120 --> 00:49:03,550 >> Mwanafunzi: Mwanzo pamoja na kuishia - 923 00:49:03,550 --> 00:49:04,950 >> JASON HIRSCHHORN: Mwanzo pamoja na mwisho. 924 00:49:04,950 --> 00:49:06,880 >> STUDENT: All, bracket, kugawanywa na 2. 925 00:49:06,880 --> 00:49:10,940 >> JASON HIRSCHHORN: All, katika mabano, kugawanywa na 2. 926 00:49:10,940 --> 00:49:16,300 Hivyo kwamba anatoa mimi katikati ya kitu chochote, ni sahihi? 927 00:49:16,300 --> 00:49:18,980 >> Mwanafunzi: Wewe pia haja ya pande zote it up. 928 00:49:18,980 --> 00:49:19,990 >> JASON HIRSCHHORN: Ni nini maana, mimi haja kwa pande zote it up? 929 00:49:19,990 --> 00:49:20,400 >> [INTERPOSING SAUTI] 930 00:49:20,400 --> 00:49:24,520 >> Mwanafunzi: Kwa sababu kama Ni isiyo ya kawaida posta, basi ni kama - 931 00:49:24,520 --> 00:49:25,440 >> JASON HIRSCHHORN: Naam, OK. 932 00:49:25,440 --> 00:49:26,360 Ili niweze pande zote it up. 933 00:49:26,360 --> 00:49:33,350 Lakini kama ni isiyo ya kawaida ya simu, 5, naweza kuchukua 1 mbali kutoka katikati. 934 00:49:33,350 --> 00:49:35,665 Au kama ni idadi hata, badala yake, hiyo kesi bora. 935 00:49:35,665 --> 00:49:39,600 Kama ni 4, sisi tu na 4, naweza kuchukua kwanza "katikati", quote, unquote au 936 00:49:39,600 --> 00:49:41,760 pili "katikati" moja. 937 00:49:41,760 --> 00:49:46,390 Aidha ingekuwa kazi kwa ajili ya kutafuta binary, hivyo mimi si kweli haja ya pande zote yake. 938 00:49:46,390 --> 00:49:48,640 Lakini kuna wengine jambo moja mimi haja ya kuangalia mstari huu. 939 00:49:48,640 --> 00:49:50,530 Sisi wanaweza kutambua ni bado, lakini tutaweza kuja nyuma yake. 940 00:49:50,530 --> 00:49:53,200 Kwa sababu line hii kwa kweli bado mahitaji ya kitu kingine moja. 941 00:49:53,200 --> 00:49:55,990 >> Lakini hadi sasa, tumekuwa imeandikwa mistari minne ya code. 942 00:49:55,990 --> 00:49:58,120 Sisi tumepewa mwanzo wetu na kuishia kalamu. 943 00:49:58,120 --> 00:50:01,320 Tuna wakati wetu kitanzi, ambayo ramani juu ya moja kwa moja pseudocode yetu. 944 00:50:01,320 --> 00:50:05,790 Sisi ni kuangalia katikati kwamba ramani moja kwa moja kwenye pseudocode yetu. 945 00:50:05,790 --> 00:50:09,070 Naweza kusema hii inakwenda katikati ya orodha, mstari huu wa kificho. 946 00:50:09,070 --> 00:50:11,560 Na kisha, kwa mara ya sisi kwenda katikati ya orodha, jambo la pili sisi haja ya kufanya 947 00:50:11,560 --> 00:50:14,880 ni kuangalia kama thamani yetu ni huko kwa pseudocode sisi aliandika mapema. 948 00:50:14,880 --> 00:50:17,100 >> Hivyo ni jinsi gani sisi kuangalia kama thamani yetu ni katikati ya orodha? 949 00:50:17,100 --> 00:50:17,300 You. 950 00:50:17,300 --> 00:50:18,511 Kwa nini si kufanya hili? 951 00:50:18,511 --> 00:50:23,070 >> STUDENT: Kama thamani wetu ni katikati ni sawa na 952 00:50:23,070 --> 00:50:24,592 chochote sisi kuweka - 953 00:50:24,592 --> 00:50:26,190 I mean sawa sawa na - 954 00:50:26,190 --> 00:50:26,690 >> JASON HIRSCHHORN: Ni - 955 00:50:26,690 --> 00:50:27,940 OK. 956 00:50:27,940 --> 00:50:30,080 957 00:50:30,080 --> 00:50:32,170 >> STUDENT: Mimi nina uhakika nini variable sisi ni kuangalia 958 00:50:32,170 --> 00:50:32,850 kwa ingawa, ni kwa sababu - 959 00:50:32,850 --> 00:50:33,330 >> [INTERPOSING SAUTI] 960 00:50:33,330 --> 00:50:34,520 >> Mwanafunzi: [inaudible]. 961 00:50:34,520 --> 00:50:35,060 >> JASON HIRSCHHORN: Hasa. 962 00:50:35,060 --> 00:50:37,260 Kwa kazi tamko, sisi ni kuangalia kwa thamani. 963 00:50:37,260 --> 00:50:39,760 Hivyo sisi ni kwa ajili ya kutafuta thamani katika safu ya maadili. 964 00:50:39,760 --> 00:50:41,080 Basi, wewe ni sahihi kabisa. 965 00:50:41,080 --> 00:50:45,040 Utafanya, kama thamani paren wazi bracket katikati kufungwa bracket usawa 966 00:50:45,040 --> 00:50:49,930 sawa na thamani, na ndani kuna nini tunahitaji kufanya nini? 967 00:50:49,930 --> 00:50:51,230 Kama thamani wetu huko, nini Je, tunahitaji kufanya nini? 968 00:50:51,230 --> 00:50:51,420 >> [INTERPOSING SAUTI] 969 00:50:51,420 --> 00:50:52,160 >> Mwanafunzi: Kurudi sifuri. 970 00:50:52,160 --> 00:50:53,070 >> JASON HIRSCHHORN: Kurudi kweli. 971 00:50:53,070 --> 00:50:54,790 >> Mwanafunzi: Kurudi kweli. 972 00:50:54,790 --> 00:50:57,856 >> JASON HIRSCHHORN: Michael, nini mstari huu nini? 973 00:50:57,856 --> 00:51:01,105 >> Mwanafunzi: [inaudible] Mpango huo kukimbia mkondo wake, na kwamba ni juu, na 974 00:51:01,105 --> 00:51:01,920 wameweza nini unahitaji nini? 975 00:51:01,920 --> 00:51:03,030 >> JASON HIRSCHHORN: mpango au nini? 976 00:51:03,030 --> 00:51:03,700 Katika kesi hii? 977 00:51:03,700 --> 00:51:04,210 >> Mwanafunzi: kazi. 978 00:51:04,210 --> 00:51:05,170 >> JASON HIRSCHHORN: kazi. 979 00:51:05,170 --> 00:51:08,420 Na hivyo, kurudi chochote aitwaye na kumpa thamani, kweli. 980 00:51:08,420 --> 00:51:09,890 Hasa haki. 981 00:51:09,890 --> 00:51:10,170 Kuu. 982 00:51:10,170 --> 00:51:12,035 Nini kurudi aina kuu, Michael? 983 00:51:12,035 --> 00:51:16,480 984 00:51:16,480 --> 00:51:17,150 >> Mwanafunzi: int, integer? 985 00:51:17,150 --> 00:51:18,080 >> JASON HIRSCHHORN: int, hasa. 986 00:51:18,080 --> 00:51:18,680 integer. 987 00:51:18,680 --> 00:51:20,980 Hiyo ilikuwa ni suala tu kuhakikisha nyie wamekuwa juu yake. 988 00:51:20,980 --> 00:51:24,250 Gani kurejea kawaida, kama mambo yote ni kazi vizuri? 989 00:51:24,250 --> 00:51:24,520 >> STUDENT: Zero. 990 00:51:24,520 --> 00:51:24,820 >> JASON HIRSCHHORN: Zero. 991 00:51:24,820 --> 00:51:25,430 Hasa haki. 992 00:51:25,430 --> 00:51:28,790 >> STUDENT: Kama hii tu anarudi kweli, hakuna habari wanapewa 993 00:51:28,790 --> 00:51:30,675 juu ya nini - 994 00:51:30,675 --> 00:51:34,040 Oh, hii ni kusema tu kwamba thamani ni ndani ya safu. 995 00:51:34,040 --> 00:51:35,350 >> JASON HIRSCHHORN: Hasa. 996 00:51:35,350 --> 00:51:38,080 Mpango huu ni si kutoa taarifa ya wapi hasa thamani ni. 997 00:51:38,080 --> 00:51:41,850 Ni tu kusema, ndiyo, tulikuta yake, au hakuna, sisi hakuwa na kupata hiyo. 998 00:51:41,850 --> 00:51:42,990 Hivyo kama idadi kupatikana, kurudi kweli. 999 00:51:42,990 --> 00:51:45,500 Vizuri, kwa kweli sisi tu alifanya kwamba kweli haraka na kwamba line moja ya kanuni. 1000 00:51:45,500 --> 00:51:47,500 Kwa hiyo nitakuwa hoja kwamba mstari wa pseudocode. 1001 00:51:47,500 --> 00:51:50,045 >> STUDENT: Je, si tunahitaji kubadili safu? 1002 00:51:50,045 --> 00:51:52,830 Ni lazima kuwa na maadili, si thamani, sawa? 1003 00:51:52,830 --> 00:51:53,430 >> JASON HIRSCHHORN: Sorry. 1004 00:51:53,430 --> 00:51:54,010 Asante. 1005 00:51:54,010 --> 00:51:54,800 >> STUDENT: Yeah. 1006 00:51:54,800 --> 00:51:55,850 >> JASON HIRSCHHORN: line Hii lazima maadili. 1007 00:51:55,850 --> 00:51:57,150 Hasa haki. 1008 00:51:57,150 --> 00:51:57,920 OK. 1009 00:51:57,920 --> 00:51:59,170 Hivyo tumekuwa inaonekana katika orodha katikati. 1010 00:51:59,170 --> 00:52:00,790 Kama idadi kupatikana kurudi kweli. 1011 00:52:00,790 --> 00:52:04,470 Kuendelea juu na pseudocode zetu, ikiwa katikati ni mkubwa, tafuta kushoto. 1012 00:52:04,470 --> 00:52:09,640 Kwa hiyo mimi alikuwa katika hapa, kama idadi juu, tafuta kushoto. 1013 00:52:09,640 --> 00:52:12,700 1014 00:52:12,700 --> 00:52:14,462 Constantine, unaweza kutoa mimi mstari huu wa kanuni? 1015 00:52:14,462 --> 00:52:17,240 1016 00:52:17,240 --> 00:52:23,520 >> Mwanafunzi: Kama thamani ya katikati - 1017 00:52:23,520 --> 00:52:24,890 >> JASON HIRSCHHORN: Hivyo kama thamani - 1018 00:52:24,890 --> 00:52:28,890 kama paren wazi maadili bracket katikati karibu bracket - 1019 00:52:28,890 --> 00:52:31,500 >> STUDENT: Je, ndogo kuliko thamani? 1020 00:52:31,500 --> 00:52:32,760 >> JASON HIRSCHHORN: Je, chini ya. 1021 00:52:32,760 --> 00:52:33,800 >> STUDENT: Chini ya thamani. 1022 00:52:33,800 --> 00:52:34,060 >> JASON HIRSCHHORN: Thamani. 1023 00:52:34,060 --> 00:52:35,310 Vizuri, kwa kweli, unataka kuangalia kama idadi - 1024 00:52:35,310 --> 00:52:38,310 1025 00:52:38,310 --> 00:52:38,490 Sorry. 1026 00:52:38,490 --> 00:52:39,140 Hii ni utata kidogo. 1027 00:52:39,140 --> 00:52:43,920 Lakini mwingine kama idadi katika katikati ya orodha ni kubwa zaidi. 1028 00:52:43,920 --> 00:52:45,170 >> STUDENT: Oh, OK. 1029 00:52:45,170 --> 00:52:49,800 1030 00:52:49,800 --> 00:52:50,410 >> JASON HIRSCHHORN: Mimi itabidi mabadiliko hayo. 1031 00:52:50,410 --> 00:52:55,060 Mwingine kama katikati ni ya juu, sisi unataka kutafuta wa kushoto, OK? 1032 00:52:55,060 --> 00:52:57,310 Na tunafanya nini ndani ya hii kama hali? 1033 00:52:57,310 --> 00:53:03,660 1034 00:53:03,660 --> 00:53:07,510 >> STUDENT: Je, mimi kufanya mabadiliko madogo kwa hali, mabadiliko hayo kwa mwingine kama? 1035 00:53:07,510 --> 00:53:08,380 >> JASON HIRSCHHORN: Else kama? 1036 00:53:08,380 --> 00:53:09,270 OK. 1037 00:53:09,270 --> 00:53:12,840 Hivyo kanuni hii nitafanya sawa. 1038 00:53:12,840 --> 00:53:18,620 Lakini jambo zuri kuhusu kutumia kama, mwingine kama, mwingine kama au kama mwingine kama, mwingine 1039 00:53:18,620 --> 00:53:22,320 ina maana kwamba moja tu ya wale ni kwenda kuchunguzwa, si wote watatu kati yao, 1040 00:53:22,320 --> 00:53:23,290 uwezekano. 1041 00:53:23,290 --> 00:53:25,530 Na kwamba inafanya kidogo nicer kwenye kompyuta hiyo ni 1042 00:53:25,530 --> 00:53:26,670 kuendesha programu yako. 1043 00:53:26,670 --> 00:53:27,620 >> Hivyo [? Constantine,?] 1044 00:53:27,620 --> 00:53:31,330 sisi ni ndani ya mstari huu, mwingine kama maadili, bracket katikati karibu bracket 1045 00:53:31,330 --> 00:53:32,260 ni zaidi ya thamani. 1046 00:53:32,260 --> 00:53:33,150 Kwa nini tunahitaji kufanya nini? 1047 00:53:33,150 --> 00:53:33,970 Sisi haja ya kutafuta upande wa kushoto. 1048 00:53:33,970 --> 00:53:35,220 Je, sisi kufanya hivyo? 1049 00:53:35,220 --> 00:53:46,960 1050 00:53:46,960 --> 00:53:48,720 Mimi naenda kukupa mwanzo. 1051 00:53:48,720 --> 00:53:52,210 >> Tuna mambo haya mawili aitwaye mwanzo na mwisho. 1052 00:53:52,210 --> 00:53:57,340 Hivyo kinachohitajika kutokea mwanzo? 1053 00:53:57,340 --> 00:53:59,640 Kama unataka kutafuta wa kushoto wa orodha, sisi kupata mwanzo wetu wa sasa. 1054 00:53:59,640 --> 00:54:01,080 Tufanye nini haja ya kufanya hivyo? 1055 00:54:01,080 --> 00:54:04,220 >> Mwanafunzi: Sisi kuweka mwanzo katikati pamoja na 1. 1056 00:54:04,220 --> 00:54:05,120 >> JASON HIRSCHHORN: Hivyo kama sisi ni kutafuta kushoto? 1057 00:54:05,120 --> 00:54:06,250 >> STUDENT: Sorry, minus katikati - 1058 00:54:06,250 --> 00:54:11,310 hivyo mwisho itakuwa katikati minus 1 na mwanzo - 1059 00:54:11,310 --> 00:54:12,450 >> JASON HIRSCHHORN: Na nini hutokea kwa mwanzo? 1060 00:54:12,450 --> 00:54:13,210 >> Mwanafunzi: Ni anakaa huo. 1061 00:54:13,210 --> 00:54:14,120 >> JASON HIRSCHHORN: Hivyo maana anakaa huo. 1062 00:54:14,120 --> 00:54:16,040 Kama sisi ni kutafuta kushoto, sisi ni kutumia mwanzo huo - 1063 00:54:16,040 --> 00:54:16,860 sahihi kabisa. 1064 00:54:16,860 --> 00:54:17,870 Na kuishia? 1065 00:54:17,870 --> 00:54:19,390 Sorry, ni nini kukomesha sawa tena? 1066 00:54:19,390 --> 00:54:20,750 >> Mwanafunzi: minus Mashariki 1. 1067 00:54:20,750 --> 00:54:21,620 >> JASON HIRSCHHORN: minus Mashariki 1. 1068 00:54:21,620 --> 00:54:23,470 Sasa, kwa nini minus 1, si tu katikati? 1069 00:54:23,470 --> 00:54:32,870 1070 00:54:32,870 --> 00:54:35,570 >> Mwanafunzi: katikati ni nje ya picha tayari, kwa sababu tulikuwa na 1071 00:54:35,570 --> 00:54:36,700 checked kwamba ni nje? 1072 00:54:36,700 --> 00:54:37,630 >> JASON HIRSCHHORN: Hiyo ni sahihi kabisa. 1073 00:54:37,630 --> 00:54:38,580 katikati ni nje ya picha. 1074 00:54:38,580 --> 00:54:39,800 Sisi tayari checked katikati. 1075 00:54:39,800 --> 00:54:44,730 Hivyo hatutaki "katikati," quote unquote, kuendelea kuwa katika 1076 00:54:44,730 --> 00:54:46,110 safu kwamba sisi ni kuangalia. 1077 00:54:46,110 --> 00:54:47,670 Hivyo hii ni ya ajabu. 1078 00:54:47,670 --> 00:54:50,670 >> Mwingine kama maadili bracket katikati ni mkubwa kuliko thamani ya kukomesha usawa 1079 00:54:50,670 --> 00:54:51,920 minus katikati 1. 1080 00:54:51,920 --> 00:54:55,060 1081 00:54:55,060 --> 00:54:57,340 Jeff, nini kuhusu line hii ya mwisho? 1082 00:54:57,340 --> 00:54:58,590 >> Mwanafunzi: Else. 1083 00:54:58,590 --> 00:55:02,486 1084 00:55:02,486 --> 00:55:06,000 Maadili katikati ni chini ya thamani? 1085 00:55:06,000 --> 00:55:07,570 >> JASON HIRSCHHORN: Sisi itabidi wewe ni kunipa mwingine. 1086 00:55:07,570 --> 00:55:09,310 Hivyo kama wewe si nipe - 1087 00:55:09,310 --> 00:55:12,270 >> STUDENT: Hivyo basi mwanzo itakuwa katikati pamoja na 1. 1088 00:55:12,270 --> 00:55:16,100 1089 00:55:16,100 --> 00:55:19,070 >> JASON HIRSCHHORN: Mwanzo usawa katikati plus 1, tena, kwa hiyo 1090 00:55:19,070 --> 00:55:20,820 sababu kwamba Constantine alitupa mapema. 1091 00:55:20,820 --> 00:55:24,280 Na mwisho, ambaye si kutokana na mimi mstari wa kanuni bado? 1092 00:55:24,280 --> 00:55:26,600 Kurudi uongo, Aleha, nini wala sisi kuandika hapa? 1093 00:55:26,600 --> 00:55:28,590 >> Mwanafunzi: Kurudi uongo. 1094 00:55:28,590 --> 00:55:29,320 >> JASON HIRSCHHORN: Kurudi uongo. 1095 00:55:29,320 --> 00:55:33,340 Na sisi haja ya kufanya hivyo, kwa sababu kama sisi si kupata hiyo, sisi haja ya kusema sisi 1096 00:55:33,340 --> 00:55:34,080 hakuwa na kupata hiyo. 1097 00:55:34,080 --> 00:55:36,270 Na sisi alisema sisi ni kwenda na kurudi bool, hivyo sisi dhahiri kuwa na kurudi 1098 00:55:36,270 --> 00:55:38,150 bool mahali fulani. 1099 00:55:38,150 --> 00:55:42,590 >> Hivyo basi kukimbia kanuni hii. 1100 00:55:42,590 --> 00:55:44,520 Mimi nina kweli kwenda kwa - 1101 00:55:44,520 --> 00:55:45,930 hivyo sisi ni katika terminal. 1102 00:55:45,930 --> 00:55:47,230 Tutaweza wazi dirisha yetu. 1103 00:55:47,230 --> 00:55:49,270 Hebu Matokeo yote. 1104 00:55:49,270 --> 00:55:50,340 Sisi kupatikana kuna kosa moja. 1105 00:55:50,340 --> 00:55:54,280 Kuna kosa juu ya line 15, inatarajiwa semicolon mwishoni mwa 1106 00:55:54,280 --> 00:55:54,890 tamko hilo. 1107 00:55:54,890 --> 00:55:56,454 Hivyo nini mimi kusahau? 1108 00:55:56,454 --> 00:55:57,230 >> Mwanafunzi: semicolon. 1109 00:55:57,230 --> 00:56:00,200 >> JASON HIRSCHHORN: semicolon haki hapa. 1110 00:56:00,200 --> 00:56:00,950 Nadhani kwamba alikuwa Tom ya code. 1111 00:56:00,950 --> 00:56:01,870 Hivyo Tom, [inaudible]. 1112 00:56:01,870 --> 00:56:03,120 Just kidding. 1113 00:56:03,120 --> 00:56:05,010 1114 00:56:05,010 --> 00:56:07,310 Hebu wala kufanya kila tena. 1115 00:56:07,310 --> 00:56:10,180 >> STUDENT: Nini Dropbox directory tunapaswa kuwa katika hili? 1116 00:56:10,180 --> 00:56:11,345 >> JASON HIRSCHHORN: Hivyo unaweza kuangalia tu kwa kidogo hii. 1117 00:56:11,345 --> 00:56:16,380 Lakini tena, kama alitaka hoja hii kificho katika pset3 saraka yako ya kujaribu 1118 00:56:16,380 --> 00:56:17,050 nje, kwamba ni nini mimi. 1119 00:56:17,050 --> 00:56:18,600 Kama wewe utakuwa taarifa hapa - sorry, swali zuri. 1120 00:56:18,600 --> 00:56:19,460 >> [? LS,?] 1121 00:56:19,460 --> 00:56:24,700 Nina katika hapa find.c code kutoka wiki hii distro code. 1122 00:56:24,700 --> 00:56:26,300 Nina helpers.h. 1123 00:56:26,300 --> 00:56:30,010 Nina kufanya faili kwamba mimi kwa kweli mwisho kidogo ni pamoja na hizi mpya 1124 00:56:30,010 --> 00:56:30,710 files sisi ni kuandika. 1125 00:56:30,710 --> 00:56:34,120 Yote hayo code itakuwa inapatikana, si usambazaji kificho, lakini mpya 1126 00:56:34,120 --> 00:56:39,510 Kufanya faili mpya helpers.h faili kuwa inapatikana online kwa download. 1127 00:56:39,510 --> 00:56:41,800 Tena, hivyo wale ni codes ziada tuna. 1128 00:56:41,800 --> 00:56:46,130 >> Hivyo kufanya kila, kwa mstari huu, hufanya kupata, binary, Bubble uteuzi - hufanya 1129 00:56:46,130 --> 00:56:50,930 zote tatu wao na inaandaa katika hii kutekelezwa code kupata. 1130 00:56:50,930 --> 00:56:54,090 Hivyo kwa ujumla, hatutaki kwa moja kwa moja check50. 1131 00:56:54,090 --> 00:56:57,580 Tunataka kukimbia baadhi ya vipimo juu yetu wenyewe. 1132 00:56:57,580 --> 00:57:11,750 Lakini tu ili tuweze kuharakisha hii kidogo, check50 2013 pset3.find itapita 1133 00:57:11,750 --> 00:57:14,630 katika helpers.c-- my mbaya. 1134 00:57:14,630 --> 00:57:16,050 >> Sina kwamba hivi sasa. 1135 00:57:16,050 --> 00:57:20,670 Hivyo sisi ni kweli kwenda kukimbia kanuni kwa ajili ya kweli. 1136 00:57:20,670 --> 00:57:23,570 Usage.find /, unajua kwamba maana yake ni nini? 1137 00:57:23,570 --> 00:57:25,970 >> STUDENT: You haja ya pili mstari amri juu yake. 1138 00:57:25,970 --> 00:57:26,980 >> JASON HIRSCHHORN: Mimi haja pili mstari amri. 1139 00:57:26,980 --> 00:57:30,640 Na kwa vipimo, nahitaji kuingia nini sisi ni kuangalia kwa. 1140 00:57:30,640 --> 00:57:33,750 Hivyo hebu angalia kwa 42. 1141 00:57:33,750 --> 00:57:37,030 Tutaweza kuweka katika sorted, kwa sababu sisi si imeandikwa aina ya kazi bado - 1142 00:57:37,030 --> 00:57:41,830 42, 43, 44. 1143 00:57:41,830 --> 00:57:46,240 >> Na Kudhibiti D hawakuona sindano katika haystack. 1144 00:57:46,240 --> 00:57:46,505 Hiyo ni mbaya. 1145 00:57:46,505 --> 00:57:47,200 Ni dhahiri huko. 1146 00:57:47,200 --> 00:57:48,090 Hebu jaribu kitu kingine. 1147 00:57:48,090 --> 00:57:49,860 Labda ni kwa sababu mimi kuweka mwanzoni. 1148 00:57:49,860 --> 00:57:54,490 >> Hebu kufanya 41, 42, 43. 1149 00:57:54,490 --> 00:57:55,012 Kuna sisi kwenda. 1150 00:57:55,012 --> 00:57:56,400 Ni kupatikana. 1151 00:57:56,400 --> 00:58:00,040 Hebu kuweka mwishoni sasa, tu ili tuweze kuwa na uhakika - 1152 00:58:00,040 --> 00:58:03,580 40, 41, 42. 1153 00:58:03,580 --> 00:58:05,760 Je, si kupata sindano. 1154 00:58:05,760 --> 00:58:07,550 Hivyo nilivyoeleza hili mapema. 1155 00:58:07,550 --> 00:58:08,980 Kwa bahati mbaya, nilijua hii alikuwa anaenda kutokea. 1156 00:58:08,980 --> 00:58:11,490 >> Lakini kwa ajili ya ufundishaji, ni vizuri kuchunguza yake. 1157 00:58:11,490 --> 00:58:12,990 Haifanyi kazi. 1158 00:58:12,990 --> 00:58:16,020 Kwa sababu fulani, haiwezi kupata hiyo. 1159 00:58:16,020 --> 00:58:18,970 Sisi kujua nini huko, lakini sisi si kutafuta hiyo. 1160 00:58:18,970 --> 00:58:24,140 Kwa hiyo, jambo moja tunaweza kufanya ni kwenda kwa njia ya GDB kupata hiyo, lakini haina mtu yeyote, 1161 00:58:24,140 --> 00:58:27,850 bila ya kupitia GDB, na hisia ya ambapo sisi Star up? 1162 00:58:27,850 --> 00:58:28,480 [? Madu? ?] 1163 00:58:28,480 --> 00:58:30,960 >> STUDENT: Nadhani inaweza kuwa wakati kukomesha ni sawa na mwanzo, na ni 1164 00:58:30,960 --> 00:58:33,090 moja tu-hiki orodha. 1165 00:58:33,090 --> 00:58:35,560 Basi tu huacha badala yake ya kweli kuangalia ni. 1166 00:58:35,560 --> 00:58:36,940 >> JASON HIRSCHHORN: Hiyo ni sahihi kabisa. 1167 00:58:36,940 --> 00:58:41,110 Wakati mwisho sawa na mwanzo, kufanya sisi bado na hiki katika orodha yetu? 1168 00:58:41,110 --> 00:58:42,480 >> STUDENT: Ndiyo. 1169 00:58:42,480 --> 00:58:45,450 >> JASON HIRSCHHORN: Ndiyo, kwa kweli, sisi na moja na hiki moja tu. 1170 00:58:45,450 --> 00:58:50,500 Na kwamba itakuwa zaidi uwezekano wa kutokea wakati, kwa kificho sisi majaribio, sisi ni katika 1171 00:58:50,500 --> 00:58:54,640 mbele ya haystack au mwisho wa haystack. 1172 00:58:54,640 --> 00:58:56,000 Hiyo ambapo mwanzo na mwisho ni kwenda sawa 1173 00:58:56,000 --> 00:58:57,820 moja, na kutafuta binary. 1174 00:58:57,820 --> 00:59:01,440 Hivyo katika kesi hizo mbili hakuwa na kazi, kwa sababu kuishia ni sawa na mwanzo. 1175 00:59:01,440 --> 00:59:06,030 >> Lakini kama kuishia ni sawa na mwanzo, hii haina kitanzi wakati nitafanya? 1176 00:59:06,030 --> 00:59:06,390 Haina. 1177 00:59:06,390 --> 00:59:08,660 Na tunaweza kuwa checked kwamba tena kwa njia ya GDB. 1178 00:59:08,660 --> 00:59:14,000 Hivyo ni jinsi gani sisi kurekebisha kanuni hii, kwa sababu wakati wakati kuishia ni sawa na 1179 00:59:14,000 --> 00:59:16,070 mwanzo, sisi pia wanataka hii kitanzi wakati kukimbia. 1180 00:59:16,070 --> 00:59:18,620 >> Basi nini fix tunaweza kufanya mstari 18? 1181 00:59:18,620 --> 00:59:21,060 >> Mwanafunzi: [inaudible] ni mkubwa kuliko au sawa na. 1182 00:59:21,060 --> 00:59:21,700 >> JASON HIRSCHHORN: Hasa haki. 1183 00:59:21,700 --> 00:59:24,600 Wakati mwisho ni zaidi ya au sawa na mwanzo. 1184 00:59:24,600 --> 00:59:27,300 Basi sasa, sisi kuhakikisha kupata kwamba kona kesi mwishoni. 1185 00:59:27,300 --> 00:59:27,870 Na hebu angalia. 1186 00:59:27,870 --> 00:59:29,560 Hebu kukimbia wakati huu moja zaidi. 1187 00:59:29,560 --> 00:59:31,266 >> Hebu kufanya yote. 1188 00:59:31,266 --> 00:59:33,910 Tena, itabidi tu kufuata pamoja hapa. 1189 00:59:33,910 --> 00:59:36,280 Kupata 41 wakati huu. 1190 00:59:36,280 --> 00:59:37,360 Kuweka tu thabiti. 1191 00:59:37,360 --> 00:59:38,210 >> Kupata 42. 1192 00:59:38,210 --> 00:59:38,930 Hebu kuweka mwanzoni - 1193 00:59:38,930 --> 00:59:41,630 42, 43, 44. 1194 00:59:41,630 --> 00:59:42,860 Sisi kupatikana. 1195 00:59:42,860 --> 00:59:47,710 Ili kwamba ilikuwa kweli mabadiliko ya sisi zinahitajika ili kufanya. 1196 00:59:47,710 --> 00:59:51,090 >> Hiyo ilikuwa ni mengi ya coding sisi tu hivyo, binary search. 1197 00:59:51,090 --> 00:59:55,760 Je, mtu yeyote una maswali yoyote kabla ya Mimi hoja juu ya ndani ya mistari tuliandika katika 1198 00:59:55,760 --> 00:59:58,750 search binary au jinsi sisi figured nini hatukuwa kufikiri? 1199 00:59:58,750 --> 01:00:01,900 1200 01:00:01,900 --> 01:00:06,270 Kabla ya sisi kusonga mbele, mimi pia wanataka kwa uhakika kuwa kwa kiasi kikubwa, sisi mapped 1201 01:00:06,270 --> 01:00:09,300 yetu pseudo-code moja kwa moja kwenye kanuni zetu. 1202 01:00:09,300 --> 01:00:11,550 >> Hatukuwa na kwamba jambo gumu kufikiri na 1203 01:00:11,550 --> 01:00:12,890 mwanzo na mwisho. 1204 01:00:12,890 --> 01:00:17,380 Lakini alikuwa na wewe si figured kwamba nje, ingekuwa imeandikwa pretty much 1205 01:00:17,380 --> 01:00:20,740 kufanana code, ila kwa wale juu mistari miwili. 1206 01:00:20,740 --> 01:00:23,380 Na basi ingekuwa wamebaini wakati alifanya hivyo katika hundi na kesi ambazo 1207 01:00:23,380 --> 01:00:24,840 unahitaji kitu kingine. 1208 01:00:24,840 --> 01:00:28,510 Hivyo hata kama wewe alimfuata wetu pseudo-code line kwa line, ungependa wameweza 1209 01:00:28,510 --> 01:00:31,130 kujipatia wote lakini mistari miwili ya ya kificho unahitajika kuandika. 1210 01:00:31,130 --> 01:00:33,900 >> Na ningependa kuwa tayari bet kwamba guys ingekuwa wote figured kwamba nje 1211 01:00:33,900 --> 01:00:37,940 pretty haraka, kwamba unahitajika kwa kuweka aina fulani ya marker huko kufikiri 1212 01:00:37,940 --> 01:00:39,190 nje ambapo walikuwa. 1213 01:00:39,190 --> 01:00:41,540 1214 01:00:41,540 --> 01:00:44,550 Tena, ni nguvu ya kufanya Pseudo-code kabla ya muda. 1215 01:00:44,550 --> 01:00:47,310 Hivyo tunaweza kufanya mantiki ya kwanza, na kisha tunaweza na wasiwasi juu ya syntax. 1216 01:00:47,310 --> 01:00:51,470 >> Alikuwa sisi wamekuwa kuchanganyikiwa kuhusu mantiki wakati kujaribu kuandika kanuni hii katika C, 1217 01:00:51,470 --> 01:00:53,110 tunataka waliopata wote messed up. 1218 01:00:53,110 --> 01:00:56,340 Na kisha tunatarajia kuwa na kuuliza maswali kuhusu mantiki na syntax na meshing 1219 01:00:56,340 --> 01:00:57,320 wote pamoja. 1220 01:00:57,320 --> 01:01:02,170 Na tunataka waliopata waliopotea katika kile unaweza haraka kuwa 1221 01:01:02,170 --> 01:01:04,000 vigumu sana tatizo. 1222 01:01:04,000 --> 01:01:08,680 Basi hebu kuondoka sasa kwa uteuzi aina. 1223 01:01:08,680 --> 01:01:10,760 >> Tuna muda wa dakika 20 wa kushoto. 1224 01:01:10,760 --> 01:01:14,130 Hivyo nina hisia hatutakuwa na uwezo wa kupata njia zote za uteuzi aina 1225 01:01:14,130 --> 01:01:15,940 na Bubble aina. 1226 01:01:15,940 --> 01:01:20,670 Lakini hebu angalau kujaribu kumaliza uteuzi aina. 1227 01:01:20,670 --> 01:01:23,540 Hivyo kutekeleza uteuzi aina kutumia zifuatazo kazi tamko hilo. 1228 01:01:23,540 --> 01:01:27,530 >> Tena, hii ni kuchukuliwa kutoka kuweka tatizo vipimo. 1229 01:01:27,530 --> 01:01:31,560 Maadili Int ni mabano, ni safu ya integers. 1230 01:01:31,560 --> 01:01:33,490 Na int.n ni ukubwa wa kwamba safu. 1231 01:01:33,490 --> 01:01:36,840 Uteuzi aina ni kwenda aina safu hii. 1232 01:01:36,840 --> 01:01:43,580 >> Hivyo kwa mfano wetu wa akili ya uteuzi aina, sisi kuvuta - 1233 01:01:43,580 --> 01:01:47,720 kwanza, sisi kupitia orodha ya kwanza wakati, kupata idadi ndogo, 1234 01:01:47,720 --> 01:01:52,860 kuweka mwanzoni, kupata pili idadi ndogo ya, kuiweka katika 1235 01:01:52,860 --> 01:01:56,380 nafasi ya pili kama tunataka aina ili kupaa. 1236 01:01:56,380 --> 01:01:58,440 Mimi si kulazimisha wewe kuandika Pseudo-code hivi sasa. 1237 01:01:58,440 --> 01:02:01,350 >> Lakini kabla ya sisi kufanya code kama darasa katika dakika tano, sisi ni kwenda kuandika 1238 01:02:01,350 --> 01:02:03,550 pseudo-code hivyo tuna baadhi ya hisia ya wapi tunakwenda. 1239 01:02:03,550 --> 01:02:05,630 Hivyo kujaribu kuandika pseudo-code juu yako mwenyewe. 1240 01:02:05,630 --> 01:02:08,610 Na kisha kujaribu kugeuka kuwa pseudo-code katika kanuni. 1241 01:02:08,610 --> 01:02:10,740 Tutafanya kwamba kama kundi kwa dakika tano. 1242 01:02:10,740 --> 01:02:32,560 1243 01:02:32,560 --> 01:02:33,895 >> Na bila shaka, napenda kujua kama una maswali yoyote. 1244 01:02:33,895 --> 01:03:56,738 1245 01:03:56,738 --> 01:03:58,230 >> Mwanafunzi: Hiyo ni? 1246 01:03:58,230 --> 01:04:00,280 >> JASON HIRSCHHORN: Angalia jinsi ya mbali wanaweza kupata muda wa dakika mbili zaidi. 1247 01:04:00,280 --> 01:04:01,790 Naelewa wewe si kuwa na uwezo wa kumaliza. 1248 01:04:01,790 --> 01:04:03,050 Lakini tutakwenda juu ya hili kama kikundi. 1249 01:04:03,050 --> 01:04:57,830 1250 01:04:57,830 --> 01:05:00,630 >> Wewe ni wote coding hivyo [inaudible], hivyo mimi nina pole kwa pause nini unafanya. 1251 01:05:00,630 --> 01:05:02,530 Lakini hebu kwenda kwa njia hii kama kikundi. 1252 01:05:02,530 --> 01:05:07,590 Na tena, tafuta binary, nyote kutoa yangu mmoja kama si mistari zaidi ya maadili. 1253 01:05:07,590 --> 01:05:08,530 Asante kwa hilo. 1254 01:05:08,530 --> 01:05:11,730 Tunakwenda kufanya kitu kimoja hapa, kanuni pamoja kama kundi. 1255 01:05:11,730 --> 01:05:15,170 >> Hivyo uteuzi aina - wacha kuandika baadhi ya haraka pseudo-code. 1256 01:05:15,170 --> 01:05:20,380 Kwa mfano akili, mtu anaweza kunipa mstari wa kwanza wa Pseudo-code, tafadhali? 1257 01:05:20,380 --> 01:05:23,000 1258 01:05:23,000 --> 01:05:24,270 Je, mimi unataka kufanya nini? 1259 01:05:24,270 --> 01:05:27,070 >> STUDENT: Wakati orodha ni nje ya utaratibu. 1260 01:05:27,070 --> 01:05:30,630 >> JASON HIRSCHHORN: OK, wakati orodha ni nje ya utaratibu. 1261 01:05:30,630 --> 01:05:33,540 Na nini maana "nje ya utaratibu?" 1262 01:05:33,540 --> 01:05:34,960 >> STUDENT: Wakati [inaudible] 1263 01:05:34,960 --> 01:05:36,210 haijawahi yamepangwa. 1264 01:05:36,210 --> 01:05:38,460 1265 01:05:38,460 --> 01:05:40,290 >> JASON HIRSCHHORN: Wakati orodha ni nje ya utaratibu, tunafanya nini? 1266 01:05:40,290 --> 01:05:44,200 Nipe mstari wa pili, tafadhali, Marcus. 1267 01:05:44,200 --> 01:05:47,186 >> STUDENT: Hivyo kupata ijayo idadi ndogo ya. 1268 01:05:47,186 --> 01:05:49,000 Hii itakuwa indented. 1269 01:05:49,000 --> 01:05:55,140 >> JASON HIRSCHHORN: Hivyo kupata ijayo idadi ndogo. 1270 01:05:55,140 --> 01:05:56,460 Na kisha mtu mwingine? 1271 01:05:56,460 --> 01:06:01,030 Mara baada ya sisi kupata ijayo ndogo posta, tunafanya nini? 1272 01:06:01,030 --> 01:06:03,010 Mimi nina kwenda kusema kupata idadi ndogo ya. 1273 01:06:03,010 --> 01:06:04,820 Hiyo ni nini tunataka kufanya. 1274 01:06:04,820 --> 01:06:06,210 >> Hivyo kupata idadi ndogo. 1275 01:06:06,210 --> 01:06:08,061 Kisha tunafanya nini? 1276 01:06:08,061 --> 01:06:09,480 >> Mwanafunzi: [inaudible] kwa mwanzo. 1277 01:06:09,480 --> 01:06:10,680 >> JASON HIRSCHHORN: Sorry? 1278 01:06:10,680 --> 01:06:12,700 >> Mwanafunzi: Mahali katika mwanzo wa orodha. 1279 01:06:12,700 --> 01:06:18,540 >> JASON HIRSCHHORN: Kwa hiyo kuiweka katika mwanzo wa orodha. 1280 01:06:18,540 --> 01:06:20,140 Na tunafanya nini kwa kitu kwamba alikuwa katika mwanzo 1281 01:06:20,140 --> 01:06:20,830 ya orodha, sawa? 1282 01:06:20,830 --> 01:06:21,910 Sisi ni overwriting kitu. 1283 01:06:21,910 --> 01:06:23,130 Hivyo wapi sisi kuweka kwamba? 1284 01:06:23,130 --> 01:06:24,120 Yeah, Anna? 1285 01:06:24,120 --> 01:06:25,520 >> STUDENT wapi ndogo idadi ilikuwa? 1286 01:06:25,520 --> 01:06:32,530 >> JASON HIRSHHORN: Hivyo kuweka mwanzo ya orodha ambapo 1287 01:06:32,530 --> 01:06:35,180 idadi ndogo ya mara. 1288 01:06:35,180 --> 01:06:38,510 Hivyo wakati orodha ni nje ya utaratibu, kupata idadi ndogo, mahali katika 1289 01:06:38,510 --> 01:06:40,630 mwanzo wa orodha, kuweka mwanzo wa orodha ambapo 1290 01:06:40,630 --> 01:06:42,900 idadi ndogo ya mara. 1291 01:06:42,900 --> 01:06:45,780 Marcus, unaweza amerudia mstari huu wakati orodha ni nje ya utaratibu? 1292 01:06:45,780 --> 01:06:51,160 1293 01:06:51,160 --> 01:06:53,900 >> Mwanafunzi: Wakati idadi ya si vyema? 1294 01:06:53,900 --> 01:06:55,920 >> JASON HIRSHHORN: OK, hivyo ili kujua kwamba idadi si 1295 01:06:55,920 --> 01:06:58,670 yamepangwa, je, sisi haja ya kufanya? 1296 01:06:58,670 --> 01:07:00,640 Kiasi gani tunahitaji kwenda kwa njia ya orodha hii? 1297 01:07:00,640 --> 01:07:09,650 >> Mwanafunzi: Kwa hiyo mimi nadhani kwa kitanzi, au wakati, wakati idadi checked ni chini ya 1298 01:07:09,650 --> 01:07:11,900 ya urefu wa orodha? 1299 01:07:11,900 --> 01:07:13,160 >> JASON HIRSHHORN: Sawa, hiyo ni nzuri. 1300 01:07:13,160 --> 01:07:15,000 Nadhani misphrased swali langu vibaya. 1301 01:07:15,000 --> 01:07:15,990 Mimi nilikuwa tu kujaribu kupata katika tunakwenda na kwenda 1302 01:07:15,990 --> 01:07:17,580 kupitia orodha nzima. 1303 01:07:17,580 --> 01:07:20,490 Hivyo wakati orodha ni nje ya utaratibu, kwa ajili yangu, ni vigumu ramani juu. 1304 01:07:20,490 --> 01:07:24,940 Lakini kimsingi, kwamba ni jinsi gani Nadhani kuhusu hili. 1305 01:07:24,940 --> 01:07:28,880 Kwenda kwa njia ya orodha nzima, kupata idadi ndogo ya, mahali katika 1306 01:07:28,880 --> 01:07:30,130 mwanzo - kweli, wewe ni haki. 1307 01:07:30,130 --> 01:07:31,380 Hebu kuweka wote wawili. 1308 01:07:31,380 --> 01:07:33,470 1309 01:07:33,470 --> 01:07:39,050 >> Hivyo wakati orodha ni nje ya utaratibu, sisi haja ya kwenda kwa orodha nzima 1310 01:07:39,050 --> 01:07:42,250 mara moja, kupata idadi ndogo ya, mahali katika mwanzo wa orodha, kuweka 1311 01:07:42,250 --> 01:07:45,430 mwanzo wa orodha ambapo idadi ndogo ya mara, na kisha kama 1312 01:07:45,430 --> 01:07:47,460 orodha ni bado nje ya utaratibu, tumekuwa got kwenda kwa njia hii 1313 01:07:47,460 --> 01:07:48,620 mchakato tena, right? 1314 01:07:48,620 --> 01:07:51,610 Hiyo ni kwa nini uteuzi aina, Big-O Runtime ya uteuzi aina, mtu yeyote? 1315 01:07:51,610 --> 01:07:52,830 >> STUDENT: n mraba. 1316 01:07:52,830 --> 01:07:53,590 >> JASON HIRSHHORN: n mraba. 1317 01:07:53,590 --> 01:07:57,040 Kwa sababu kama Marcus na mimi tu barabara hapa, tunakwenda kuwa na 1318 01:07:57,040 --> 01:08:00,310 kupitia orodha orodha idadi ya nyakati. 1319 01:08:00,310 --> 01:08:03,420 Hivyo kwenda kwa njia ya kitu ya urefu n n idadi ya nyakati 1320 01:08:03,420 --> 01:08:04,990 kwa kweli ni n mraba. 1321 01:08:04,990 --> 01:08:08,100 >> Hivyo hii ni pseudocode yetu. 1322 01:08:08,100 --> 01:08:09,360 Hii inaonekana ni nzuri sana. 1323 01:08:09,360 --> 01:08:11,870 Je, mtu yeyote una maswali yoyote kuhusu pseudocode? 1324 01:08:11,870 --> 01:08:14,440 Kwa sababu kwa kweli uteuzi aina lazima pengine kuja moja kwa moja, kanuni kutoka 1325 01:08:14,440 --> 01:08:14,980 pseudocode. 1326 01:08:14,980 --> 01:08:17,569 Kwa hiyo, maswali yoyote kuhusu mantiki ya pseudocode? 1327 01:08:17,569 --> 01:08:18,819 Tafadhali kuuliza sasa. 1328 01:08:18,819 --> 01:08:22,609 1329 01:08:22,609 --> 01:08:25,379 >> Uteuzi aina - wakati orodha ni nje ya utaratibu, sisi ni kwenda kwa njia hiyo 1330 01:08:25,379 --> 01:08:27,529 na kupata ndogo kila wakati na kuiweka mbele. 1331 01:08:27,529 --> 01:08:33,470 Hivyo wakati orodha ni nje ya utaratibu, unaweza mtu nipe mstari wa kanuni ambao 1332 01:08:33,470 --> 01:08:39,689 hakunipa line ya maadili ya bado, tafadhali? 1333 01:08:39,689 --> 01:08:40,939 Inaonekana kama nini? 1334 01:08:40,939 --> 01:08:43,669 1335 01:08:43,669 --> 01:08:44,649 >> STUDENT: Hiyo ni kwa kitanzi. 1336 01:08:44,649 --> 01:08:45,830 >> JASON HIRSHHORN: Inaonekana kama kwa kitanzi. 1337 01:08:45,830 --> 01:08:47,653 OK, unaweza kunipa kwa kitanzi? 1338 01:08:47,653 --> 01:08:48,925 Kwa - 1339 01:08:48,925 --> 01:08:50,219 >> STUDENT: i Usawa 0. 1340 01:08:50,219 --> 01:08:52,705 >> JASON HIRSHHORN: i au - 1341 01:08:52,705 --> 01:08:55,111 nini sisi kukosa? 1342 01:08:55,111 --> 01:08:56,819 Tufanye nini hapa hapa? 1343 01:08:56,819 --> 01:08:57,550 >> Mwanafunzi: Int. 1344 01:08:57,550 --> 01:08:59,270 >> JASON HIRSHHORN: Hasa. 1345 01:08:59,270 --> 01:09:02,590 (Int i = 0; - 1346 01:09:02,590 --> 01:09:07,843 >> STUDENT: i 01:09:09,319 >> JASON HIRSHHORN: misumari yake, Jeff. 1348 01:09:09,319 --> 01:09:10,660 Tunakwenda kwenye orodha, sawa? 1349 01:09:10,660 --> 01:09:11,880 Tumeona kwamba kanuni kabla ya. 1350 01:09:11,880 --> 01:09:12,850 Perfect. 1351 01:09:12,850 --> 01:09:14,790 Basi hebu kuweka braces yetu curly hapa. 1352 01:09:14,790 --> 01:09:17,859 Mimi naenda kuweka baadhi ya braces curly hapa. 1353 01:09:17,859 --> 01:09:21,660 >> Hivyo wakati ni 0, tunahitaji kwenda kupitia orodha nzima. 1354 01:09:21,660 --> 01:09:26,612 Kwa hiyo kila wakati sisi kwenda kwa njia ya orodha, nini tunataka kuweka wimbo wa? 1355 01:09:26,612 --> 01:09:28,260 >> STUDENT: Kama swaps yoyote ni kufanywa. 1356 01:09:28,260 --> 01:09:29,069 >> JASON HIRSHHORN: Kupata idadi ndogo ya. 1357 01:09:29,069 --> 01:09:31,479 Hivyo sisi lazima pengine kuweka wimbo wa idadi ndogo kila wakati. 1358 01:09:31,479 --> 01:09:34,590 Hivyo line naweza kufanya nini kuweka wimbo ya idadi ndogo? 1359 01:09:34,590 --> 01:09:37,720 Aleha, jinsi gani naweza kuweka wimbo wa kitu? 1360 01:09:37,720 --> 01:09:38,460 >> STUDENT: Anza variable mpya. 1361 01:09:38,460 --> 01:09:39,390 >> JASON HIRSHHORN: Anza variable mpya. 1362 01:09:39,390 --> 01:09:40,069 Basi hebu kujenga kutofautiana. 1363 01:09:40,069 --> 01:09:41,830 Ni aina gani? 1364 01:09:41,830 --> 01:09:42,930 >> Mwanafunzi: Int. 1365 01:09:42,930 --> 01:09:43,710 >> JASON HIRSHHORN: Int. 1366 01:09:43,710 --> 01:09:44,939 Hebu simu yake ndogo. 1367 01:09:44,939 --> 01:09:47,600 Na ni nini sawa wakati sisi ni mapya tu nje? 1368 01:09:47,600 --> 01:09:48,910 Sisi hawajapitia orodha bado. 1369 01:09:48,910 --> 01:09:50,540 Tupo sehemu ya kwanza ya orodha mara yetu ya kwanza kupitia. 1370 01:09:50,540 --> 01:09:51,930 Ni nini sawa, idadi ndogo ya? 1371 01:09:51,930 --> 01:09:54,140 >> STUDENT: Maadili i. 1372 01:09:54,140 --> 01:09:54,900 >> JASON HIRSHHORN: Maadili i. 1373 01:09:54,900 --> 01:09:56,980 Kwamba inaonekana hasa haki, haki? 1374 01:09:56,980 --> 01:09:59,590 idadi ndogo mwanzoni ni mahali ambapo sisi ni. 1375 01:09:59,590 --> 01:10:01,960 Hivyo basi, tuna ndogo yetu, na sisi haja kwenda kwa njia ya orodha nzima na 1376 01:10:01,960 --> 01:10:05,080 kulinganisha hii ndogo kwa kila kitu kingine. 1377 01:10:05,080 --> 01:10:08,150 Hivyo sisi kupitia orodha tena? 1378 01:10:08,150 --> 01:10:08,630 Michael? 1379 01:10:08,630 --> 01:10:10,000 >> STUDENT: You haja ya kufanya mwingine kwa kitanzi. 1380 01:10:10,000 --> 01:10:10,383 >> JASON HIRSHHORN: Mwingine kwa kitanzi. 1381 01:10:10,383 --> 01:10:11,276 Hebu kufanya hivyo. 1382 01:10:11,276 --> 01:10:12,540 Nipe baadhi ya kanuni. 1383 01:10:12,540 --> 01:10:13,790 >> STUDENT: Kwa kitanzi - 1384 01:10:13,790 --> 01:10:16,750 1385 01:10:16,750 --> 01:10:19,470 kwa ndogo - 1386 01:10:19,470 --> 01:10:23,040 1387 01:10:23,040 --> 01:10:25,770 tu int j, unaweza kusema? 1388 01:10:25,770 --> 01:10:31,150 = 0; kama kwamba - 1389 01:10:31,150 --> 01:10:34,014 1390 01:10:34,014 --> 01:10:35,710 >> JASON HIRSHHORN: Naam, kama tunataka kwenda kwa njia ya orodha nzima - 1391 01:10:35,710 --> 01:10:37,847 >> STUDENT: j 01:10:42,140 1393 01:10:42,140 --> 01:10:42,405 >> JASON HIRSHHORN: rangi ya shaba. 1394 01:10:42,405 --> 01:10:46,100 Sisi ni kwenda kupitia kwa kitanzi mara nyingine tena. 1395 01:10:46,100 --> 01:10:51,380 Na jinsi gani sisi kupata idadi ndogo ya? 1396 01:10:51,380 --> 01:10:52,630 Tom? 1397 01:10:52,630 --> 01:10:54,570 1398 01:10:54,570 --> 01:11:00,520 Tuna sasa idadi ndogo, hivyo ni jinsi gani sisi kupata mpya madogo? 1399 01:11:00,520 --> 01:11:07,200 >> STUDENT: Tunaweza kuangalia kama ndogo Idadi ya sisi kuwa ni zaidi ya 1400 01:11:07,200 --> 01:11:09,040 maadili bracket j. 1401 01:11:09,040 --> 01:11:14,740 >> JASON HIRSHHORN: Hivyo kama ndogo ni zaidi ya maadili bracket j. 1402 01:11:14,740 --> 01:11:19,350 Hivyo kama sasa ndogo wetu ni zaidi ya - 1403 01:11:19,350 --> 01:11:21,770 Mimi nina kwenda kwa hoja mistari hizi mbili ya maadili ya huko nje kwa ajili ya pili. 1404 01:11:21,770 --> 01:11:26,010 Kwa sababu kabla ya sisi kufanya swapping yoyote, sisi haja ya kwenda kwa orodha nzima. 1405 01:11:26,010 --> 01:11:28,880 Hivyo pseudocode hii lazima kweli kuwa nje kwamba ndani kwa kitanzi. 1406 01:11:28,880 --> 01:11:30,390 Hivyo kupitia orodha nzima. 1407 01:11:30,390 --> 01:11:34,520 Kama ndogo ni zaidi ya maadili j basi nini? 1408 01:11:34,520 --> 01:11:37,830 >> STUDENT: Kisha ndogo sawa na maadili ya j. 1409 01:11:37,830 --> 01:11:41,190 1410 01:11:41,190 --> 01:11:42,600 >> JASON HIRSHHORN: rangi ya shaba. 1411 01:11:42,600 --> 01:11:44,580 Haraka swali moja - 1412 01:11:44,580 --> 01:11:47,236 mara ya kwanza sisi kwenda kwa njia ya kitanzi hii, i kwenda sawa 0, j kinaendelea 1413 01:11:47,236 --> 01:11:50,710 kwa sawa 0 mara moja sisi kupata katika hapa. 1414 01:11:50,710 --> 01:11:52,410 Hivyo sisi ni kwenda kuwa kulinganisha idadi ya yenyewe. 1415 01:11:52,410 --> 01:11:53,660 Ni kwamba ufanisi? 1416 01:11:53,660 --> 01:11:57,260 1417 01:11:57,260 --> 01:11:58,390 Hapana, si kweli ufanisi. 1418 01:11:58,390 --> 01:12:02,915 Hivyo haina j wetu haja ya kwenda kutoka kwa 0 n kila wakati? 1419 01:12:02,915 --> 01:12:06,310 Je, sisi daima haja ya kuangalia kupitia orodha nzima? 1420 01:12:06,310 --> 01:12:06,520 [Inaudible]? 1421 01:12:06,520 --> 01:12:07,564 >> STUDENT: Anza na i badala yake. 1422 01:12:07,564 --> 01:12:09,405 >> JASON HIRSHHORN: j can kuanza na nini? 1423 01:12:09,405 --> 01:12:09,990 >> STUDENT: i. 1424 01:12:09,990 --> 01:12:13,040 >> JASON HIRSHHORN: j unaweza kuanza na i. 1425 01:12:13,040 --> 01:12:18,840 Basi sasa sisi kulinganisha kuanzia kwa moja sisi ni juu ya. 1426 01:12:18,840 --> 01:12:21,020 Lakini hata hivyo, ni kwamba kama ufanisi kama inawezekana? 1427 01:12:21,020 --> 01:12:22,320 >> STUDENT: i + 1. 1428 01:12:22,320 --> 01:12:25,420 >> JASON HIRSHHORN: i + 1 inaonekana kuwa ufanisi zaidi, kwa sababu sisi 1429 01:12:25,420 --> 01:12:26,120 tayari kuwa na i. 1430 01:12:26,120 --> 01:12:28,100 Sisi ni kusema kwamba kama ndogo katika line 15. 1431 01:12:28,100 --> 01:12:29,350 Sisi ni kwenda kuanza na ijayo moja kwa moja. 1432 01:12:29,350 --> 01:12:34,470 1433 01:12:34,470 --> 01:12:38,540 Kwa hiyo sisi kwenda kwa njia ya kwa kitanzi. 1434 01:12:38,540 --> 01:12:39,620 Tutaweza kwenda kupitia kila wakati. 1435 01:12:39,620 --> 01:12:40,860 Tutaweza kwenda kwa njia ya idadi ya nyakati. 1436 01:12:40,860 --> 01:12:42,860 Sasa tumekuwa waliopata kwa njia hii ya ndani kwa kitanzi. 1437 01:12:42,860 --> 01:12:44,350 Tuna thamani ndogo anaokoa. 1438 01:12:44,350 --> 01:12:46,045 Tunahitaji mahali katika mwanzo wa orodha. 1439 01:12:46,045 --> 01:12:48,390 Hivyo ni jinsi gani mimi mahali katika mwanzo wa orodha? 1440 01:12:48,390 --> 01:12:51,290 1441 01:12:51,290 --> 01:12:55,926 Ni variable kwamba inahusu nini mwanzo wa orodha? 1442 01:12:55,926 --> 01:13:00,500 Tuko katika nje hii kwa kitanzi, hivyo nini maana ya 1443 01:13:00,500 --> 01:13:01,280 mwanzo wa orodha? 1444 01:13:01,280 --> 01:13:02,880 >> STUDENT: Maadili i. 1445 01:13:02,880 --> 01:13:03,510 >> JASON HIRSHHORN: Hasa haki. 1446 01:13:03,510 --> 01:13:04,650 Maadili i ni mwanzo wa - 1447 01:13:04,650 --> 01:13:06,320 au sorry, si mwanzo. 1448 01:13:06,320 --> 01:13:07,090 Hiyo ilikuwa na utata. 1449 01:13:07,090 --> 01:13:11,620 Ni wapi sisi ni katika mwanzo wa sehemu zisizochambuliwa ya orodha. 1450 01:13:11,620 --> 01:13:12,800 Hivyo maadili i. 1451 01:13:12,800 --> 01:13:14,050 Na nini sawa sawa? 1452 01:13:14,050 --> 01:13:15,925 1453 01:13:15,925 --> 01:13:17,326 >> Mwanafunzi: Ndogo. 1454 01:13:17,326 --> 01:13:18,862 >> JASON HIRSHHORN: Maadili i sawa na nini? 1455 01:13:18,862 --> 01:13:19,310 >> Mwanafunzi: Ndogo. 1456 01:13:19,310 --> 01:13:20,030 >> JASON HIRSHHORN: Ndogo. 1457 01:13:20,030 --> 01:13:20,980 Hasa haki. 1458 01:13:20,980 --> 01:13:23,510 Hivyo sisi ni kuweka mwanzoni ya orodha, na sasa tunahitaji kuweka 1459 01:13:23,510 --> 01:13:25,710 mwanzo wa orodha ambapo idadi ndogo mara. 1460 01:13:25,710 --> 01:13:29,700 Hivyo ni jinsi gani mimi kuandika ambapo idadi ndogo ya mara? 1461 01:13:29,700 --> 01:13:31,670 Maadili ya nini? 1462 01:13:31,670 --> 01:13:33,170 >> STUDENT: 0. 1463 01:13:33,170 --> 01:13:34,090 >> JASON HIRSHHORN: ndogo idadi ni 0? 1464 01:13:34,090 --> 01:13:35,340 >> STUDENT: Yeah. 1465 01:13:35,340 --> 01:13:38,680 1466 01:13:38,680 --> 01:13:39,910 >> JASON HIRSHHORN: Je, kama ndogo idadi ilikuwa mwishoni mwa 1467 01:13:39,910 --> 01:13:40,860 hii orodha zisizochambuliwa? 1468 01:13:40,860 --> 01:13:42,460 >> STUDENT: Sorry, nini ilikuwa swali? 1469 01:13:42,460 --> 01:13:44,020 >> JASON HIRSHHORN: ni wapi idadi ndogo? 1470 01:13:44,020 --> 01:13:46,940 Sisi alichukua ndogo na kuiweka katika mwanzo, na line hii hapa. 1471 01:13:46,940 --> 01:13:48,987 >> Mwanafunzi: Ni lazima kuwa na na kuhifadhiwa katika baadhi - 1472 01:13:48,987 --> 01:13:50,510 >> STUDENT: Maadili j. 1473 01:13:50,510 --> 01:13:51,520 >> JASON HIRSHHORN: Naam, ni si lazima maadili j. 1474 01:13:51,520 --> 01:13:54,100 Haina hata kuwepo katika hatua hii. 1475 01:13:54,100 --> 01:13:55,960 >> STUDENT: Una kutangaza variable mapema na 1476 01:13:55,960 --> 01:13:58,230 kisha hawawajui kwa - 1477 01:13:58,230 --> 01:14:01,150 wakati kupata idadi ndogo, hawawajui index ya idadi hiyo kwa 1478 01:14:01,150 --> 01:14:02,480 baadhi variable au kitu kama hicho. 1479 01:14:02,480 --> 01:14:04,790 >> JASON HIRSHHORN: Hivyo unaweza kusema kwamba tena? 1480 01:14:04,790 --> 01:14:08,390 >> STUDENT: Kwa hiyo ambapo alitangaza int ndogo, unapaswa pia kutangaza int 1481 01:14:08,390 --> 01:14:10,750 ndogo index = i, au kitu kama hicho. 1482 01:14:10,750 --> 01:14:13,280 >> JASON HIRSHHORN: Kwa hiyo ambapo mimi int ndogo, mimi lazima si tu kuweka wimbo 1483 01:14:13,280 --> 01:14:16,150 ya thamani lakini eneo. 1484 01:14:16,150 --> 01:14:20,850 int smallest_location = katika hii kesi, tutaweza tu kufanya i. 1485 01:14:20,850 --> 01:14:22,390 Tunahitaji kujua ambako ni. 1486 01:14:22,390 --> 01:14:26,820 Tulipata mwisho wa code, na sisi barabara sisi hakuwa na wazo ambapo ilikuwa. 1487 01:14:26,820 --> 01:14:29,810 Na hivyo tena, sisi ni ramani hii juu ya moja kwa moja. 1488 01:14:29,810 --> 01:14:32,890 Wewe coding hii juu ya mapenzi yako mwenyewe guys pengine kupata tatizo hilo. 1489 01:14:32,890 --> 01:14:34,130 Jinsi heck mimi kupata hiyo? 1490 01:14:34,130 --> 01:14:36,720 Na kisha wewe kutambua, kusubiri, mimi haja ya kuweka wimbo ya kwamba. 1491 01:14:36,720 --> 01:14:38,500 >> Hivyo kama ndogo ni zaidi kuliko maadili j. 1492 01:14:38,500 --> 01:14:39,740 Sisi kuweka ndogo sawa na maadili ya j. 1493 01:14:39,740 --> 01:14:42,090 Ni kitu gani tunahitaji kubadilika? 1494 01:14:42,090 --> 01:14:43,710 Constantin, kitu gani kingine tunahitaji kubadilika? 1495 01:14:43,710 --> 01:14:44,560 >> Mwanafunzi: eneo. 1496 01:14:44,560 --> 01:14:45,270 >> JASON HIRSHHORN: Hasa. 1497 01:14:45,270 --> 01:14:46,925 Basi nipe kwamba line katika kanuni. 1498 01:14:46,925 --> 01:14:53,310 >> Mwanafunzi: smallest_location = j. 1499 01:14:53,310 --> 01:14:54,790 >> JASON HIRSHHORN: Hasa. 1500 01:14:54,790 --> 01:14:58,210 Na kisha chini mwisho, kama tunataka kuweka mwanzo wa orodha ambapo 1501 01:14:58,210 --> 01:15:00,790 idadi ndogo mara, jinsi wala sisi rejea ambapo 1502 01:15:00,790 --> 01:15:02,200 idadi ndogo ya mara? 1503 01:15:02,200 --> 01:15:03,580 Marcus? 1504 01:15:03,580 --> 01:15:08,530 >> STUDENT: idadi ndogo ilikuwa iko katika eneo ndogo. 1505 01:15:08,530 --> 01:15:12,230 >> JASON HIRSHHORN: Hivyo katika maadili ya smallest_location. 1506 01:15:12,230 --> 01:15:14,700 Na nini sisi kuweka huko? 1507 01:15:14,700 --> 01:15:17,600 mwanzo wa orodha, nini hiyo? 1508 01:15:17,600 --> 01:15:19,710 >> Mwanafunzi: Naam, sisi si kweli kujua tena kwa sababu sisi overwrote. 1509 01:15:19,710 --> 01:15:23,250 Hivyo ni maeneo walibadilishana ya mistari hayo mawili? 1510 01:15:23,250 --> 01:15:26,110 Kama kubadili wale mistari mbili kote. 1511 01:15:26,110 --> 01:15:30,740 >> JASON HIRSHHORN: OK, hivyo sisi si tena, kwa sababu tumekuwa upya line 1512 01:15:30,740 --> 01:15:31,960 kabla ya maadili i kwa ndogo. 1513 01:15:31,960 --> 01:15:33,810 Hivyo sisi kupoteza thamani kwamba awali. 1514 01:15:33,810 --> 01:15:37,350 Hivyo alisema wabadilishane mistari hizi mbili. 1515 01:15:37,350 --> 01:15:41,780 Hivyo sasa kuweka mwanzo wa orodha ambapo idadi ndogo ilikuwa. 1516 01:15:41,780 --> 01:15:47,060 Hivyo smallest_location sawa na maadili i. 1517 01:15:47,060 --> 01:15:51,310 Hiyo kusonga mwanzo wa hii sehemu zisizochambuliwa ya orodha ya 1518 01:15:51,310 --> 01:15:52,090 ndogo eneo. 1519 01:15:52,090 --> 01:15:54,860 Na kisha ndani ya maadili i sisi ni kusonga kwamba idadi ndogo. 1520 01:15:54,860 --> 01:15:57,450 >> Je, hiyo mantiki kwa nini sisi alikuwa na kufanya wabadilishane? 1521 01:15:57,450 --> 01:15:59,650 Tungependa overwritten thamani kwamba - jambo lingine, pengine ingekuwa 1522 01:15:59,650 --> 01:16:02,740 figured na kupatikana katika Pato la Taifa. 1523 01:16:02,740 --> 01:16:05,310 Hivyo tumekuwa kuchukuliwa huduma ya pseudocode wote. 1524 01:16:05,310 --> 01:16:10,935 Je, kuna kitu kingine chochote sisi haja ya kuandika hapa? 1525 01:16:10,935 --> 01:16:14,911 Je, mtu yeyote kufikiri ya kitu chochote? 1526 01:16:14,911 --> 01:16:16,180 >> STUDENT: Je, unajua wakati wewe ni kosa? 1527 01:16:16,180 --> 01:16:17,680 >> JASON HIRSHHORN: Je, sisi kujua wakati sisi ni kosa? 1528 01:16:17,680 --> 01:16:18,890 Kubwa swali. 1529 01:16:18,890 --> 01:16:21,684 Hivyo ni jinsi gani sisi kujua wakati sisi ni kosa. 1530 01:16:21,684 --> 01:16:24,720 >> Mwanafunzi: Kujenga variable kuweka kuhesabu ya kama kuna wabadilishane alifanya au si 1531 01:16:24,720 --> 01:16:27,810 na kwenda kwa njia ya kupita. 1532 01:16:27,810 --> 01:16:30,180 >> JASON HIRSHHORN: OK. 1533 01:16:30,180 --> 01:16:31,800 Hiyo kazi katika Bubble aina. 1534 01:16:31,800 --> 01:16:35,210 Lakini kwa ajili ya uteuzi aina, kama sisi si kufanya kubadilishana, ambayo inaweza tu kuwa 1535 01:16:35,210 --> 01:16:38,670 kwa sababu thamani ndogo ni ndani yake eneo lake la kulia. 1536 01:16:38,670 --> 01:16:41,240 Tuweze kuwa na orodha 1, 2, 4, 3. 1537 01:16:41,240 --> 01:16:42,830 mara ya pili kupitia sisi si kufanya swaps yoyote. 1538 01:16:42,830 --> 01:16:47,260 Tutaweza kuwa na idadi 2, lakini tutaweza bado haja ya kuendelea. 1539 01:16:47,260 --> 01:16:49,390 Hivyo tunahitaji kuweka wimbo wa wakati sisi ni kosa, au kufanya sisi tu unataka kwenda 1540 01:16:49,390 --> 01:16:50,640 mpaka hii ni kumaliza? 1541 01:16:50,640 --> 01:16:54,098 1542 01:16:54,098 --> 01:16:56,740 >> STUDENT: Tunaweza tu kwenda mpaka imalize. 1543 01:16:56,740 --> 01:16:58,090 >> JASON HIRSHHORN: Sisi unaweza tu kwenda mpaka hii ni kumaliza. 1544 01:16:58,090 --> 01:17:01,720 Katika Bubble aina, uko sahihi kabisa, Jeff na Aleha, na ufumbuzi yako - 1545 01:17:01,720 --> 01:17:04,990 ni kubwa kwa kuweka wimbo wa ngapi swaps umefanya, kwa sababu katika Bubble 1546 01:17:04,990 --> 01:17:07,920 aina, kama wewe kufanya kwa kweli kufanya hakuna swaps, wewe ni kosa na unaweza labda kupunguza yako 1547 01:17:07,920 --> 01:17:09,000 tatizo chini kidogo. 1548 01:17:09,000 --> 01:17:11,440 Lakini kwa ajili ya uteuzi aina ya, wameweza kweli got kwenda hadi mwisho wa 1549 01:17:11,440 --> 01:17:14,940 orodha ya kila wakati kote. 1550 01:17:14,940 --> 01:17:16,200 >> Hivyo hii ni kwamba. 1551 01:17:16,200 --> 01:17:18,530 Tuna dakika mbili kushoto. 1552 01:17:18,530 --> 01:17:21,560 Hebu kufanya yote. 1553 01:17:21,560 --> 01:17:24,340 Napenda tu wazi Kupata hapa na kufanya uhakika mimi nina kwa kweli wito up - 1554 01:17:24,340 --> 01:17:25,610 Mimi si wito Bubble aina. 1555 01:17:25,610 --> 01:17:29,230 Hebu kubadili hali hii kwa uteuzi aina. 1556 01:17:29,230 --> 01:17:31,060 kufanya yote. / kupata. 1557 01:17:31,060 --> 01:17:32,360 Hebu kupata 42. 1558 01:17:32,360 --> 01:17:38,110 Wakati huu tunakwenda kupita orodha zisizochambuliwa, kwa sababu ni lazima kutatua 1559 01:17:38,110 --> 01:17:43,790 kwanza, kwa kupata code - lazima kutatua kwanza kwa kutumia aina yetu kufanya kazi na kisha 1560 01:17:43,790 --> 01:17:44,995 kuangalia kwa kitu fulani. 1561 01:17:44,995 --> 01:17:46,245 Vidole shilingi kila mtu. 1562 01:17:46,245 --> 01:17:48,530 1563 01:17:48,530 --> 01:17:49,370 >> Oh yangu wema. 1564 01:17:49,370 --> 01:17:50,800 Ho, moyo wangu kumpiga. 1565 01:17:50,800 --> 01:17:52,320 Hivyo kwamba ni sahihi. 1566 01:17:52,320 --> 01:17:57,270 Kwa kweli, kama sisi mbio hii zaidi sana, kanuni, mbali kama naweza 1567 01:17:57,270 --> 01:17:59,280 kuwaambia, ni sahihi kabisa. 1568 01:17:59,280 --> 01:18:02,150 Kuna baadhi ya mapendekezo Napenda kwa ajili yenu. 1569 01:18:02,150 --> 01:18:06,215 Kwa mfano, 15 na 16 kuonekana kidogo redundant. 1570 01:18:06,215 --> 01:18:09,450 Inaonekana kama wewe si lazima haja ya kuhifadhi wote wale. 1571 01:18:09,450 --> 01:18:12,790 Kama una eneo ndogo, wewe kupata urahisi thamani ndogo na 1572 01:18:12,790 --> 01:18:14,750 kuandika tu maadili ya i. 1573 01:18:14,750 --> 01:18:18,100 >> Basi, ikiwa mimi walikuwa na uboreshaji wa code yako, ambayo mimi kwa kweli kuwa, napenda 1574 01:18:18,100 --> 01:18:21,160 pengine kuchukua mbali uhakika kama wewe pamoja na wote hawa, kwa sababu wewe 1575 01:18:21,160 --> 01:18:22,670 hawana haja ya wawili hawa. 1576 01:18:22,670 --> 01:18:25,400 Kama una eneo, unaweza kwa urahisi sana kupata thamani. 1577 01:18:25,400 --> 01:18:27,520 Na inaonekana kidogo weird kuhifadhi wote wawili. 1578 01:18:27,520 --> 01:18:31,070 Labda hata kuchukua hatua, lakini hakika maoni kwamba ni labda 1579 01:18:31,070 --> 01:18:32,670 si uchaguzi Stylistic unahitaji kufanya. 1580 01:18:32,670 --> 01:18:35,290 Bila shaka, kanuni bado anaendesha kikamilifu vizuri. 1581 01:18:35,290 --> 01:18:36,860 >> Hivyo kwa bahati mbaya hatukuwa kupata Bubble aina. 1582 01:18:36,860 --> 01:18:37,940 Mimi nina pole juu ya hilo. 1583 01:18:37,940 --> 01:18:39,135 Sisi tulikuwa kumaliza uteuzi aina. 1584 01:18:39,135 --> 01:18:41,450 Je, mtu yeyote una maswali yoyote ya mwisho kuhusu uteuzi aina? 1585 01:18:41,450 --> 01:18:44,320 1586 01:18:44,320 --> 01:18:47,690 >> OK, kabla ya sisi kichwa nje, Mimi nataka wewe kufungua Chrome browser yako. 1587 01:18:47,690 --> 01:18:54,340 Sorry, kwamba mara tu kuziba wazi kwa ajili ya aina moja ya biashara ya browser. 1588 01:18:54,340 --> 01:18:57,770 Unaweza kufungua aina yoyote ya browser, lakini itabidi pengine kuwa Chrome. 1589 01:18:57,770 --> 01:19:01,250 Na kwenda tovuti hii zifuatazo - 1590 01:19:01,250 --> 01:19:06,410 sayat.me/cs50. 1591 01:19:06,410 --> 01:19:07,685 Kama wewe si kuandika katika kompyuta yako sasa hivi, wewe ni wazi 1592 01:19:07,685 --> 01:19:10,210 si kufanya hivyo, Tom. 1593 01:19:10,210 --> 01:19:12,870 >> Na tafadhali kufanya hivyo aidha haki sasa au katika saa ijayo - 1594 01:19:12,870 --> 01:19:14,260 nipe baadhi ya maoni. 1595 01:19:14,260 --> 01:19:15,660 Hii ni sehemu mbili tu. 1596 01:19:15,660 --> 01:19:18,060 Tuna mengi zaidi pamoja, hivyo mimi kuwa na mengi ya chumba kuboresha. 1597 01:19:18,060 --> 01:19:19,620 Mimi hopefully pia alifanya baadhi ya mambo vizuri. 1598 01:19:19,620 --> 01:19:22,160 Hivyo unaweza nijisikie mbaya, lakini kama wewe pia wanataka nipe smiley 1599 01:19:22,160 --> 01:19:24,250 uso, napenda kufahamu kuwa vilevile. 1600 01:19:24,250 --> 01:19:25,330 Kujaza in 1601 01:19:25,330 --> 01:19:28,210 >> Na kwa dakika moja wa kushoto, kwamba alikuwa wiki tatu. 1602 01:19:28,210 --> 01:19:30,750 Mimi itabidi kusimama nje kwa kidogo kama una maswali yoyote. 1603 01:19:30,750 --> 01:19:32,220 Mimi nitakuona guys katika hotuba kesho. 1604 01:19:32,220 --> 01:19:34,742