1 00:00:00,000 --> 00:00:03,332 >> [Music kucheza] 2 00:00:03,332 --> 00:00:06,490 >> ANDI PENG: Karibu wiki 3 ya sehemu. 3 00:00:06,490 --> 00:00:09,550 Shukrani, nyie, kwa kuja kwa hii mapema muda wa kuanza leo. 4 00:00:09,550 --> 00:00:11,466 Sisi tumepewa nzuri, kidogo Kundi ionekane leo. 5 00:00:11,466 --> 00:00:14,570 Hivyo hopefully tutaweza kupata kumaliza, pengine, mapema, 6 00:00:14,570 --> 00:00:15,780 kidogo mapema leo. 7 00:00:15,780 --> 00:00:22,057 Kwa hiyo kwa haraka, tu baadhi matangazo kwa ajenda leo. 8 00:00:22,057 --> 00:00:23,890 Kabla ya kuanza, tuko kwenda tu kwenda juu ya 9 00:00:23,890 --> 00:00:28,910 baadhi ya masuala mafupi vifaa, pset maswali, kuwahoji, mambo kama hayo. 10 00:00:28,910 --> 00:00:30,250 Na kisha tutaweza kupiga mbizi haki katika. 11 00:00:30,250 --> 00:00:34,710 Tutaweza kutumia HatiJava aitwaye GDB kwa kuanza debunking kificho yetu, ambayo David 12 00:00:34,710 --> 00:00:36,550 alieleza katika hotuba siku nyingine. 13 00:00:36,550 --> 00:00:39,420 Tutaweza kwenda juu ya aina nne za kila aina. 14 00:00:39,420 --> 00:00:42,310 Tutaweza kwenda juu yao pretty haraka kwani wao ni pretty kubwa. 15 00:00:42,310 --> 00:00:45,710 Lakini tunajua kwamba slides yote na chanzo kanuni ni daima online. 16 00:00:45,710 --> 00:00:50,810 Ili kujisikia huru, katika perusal yako, kwa kurudi nyuma na kuangalia kwamba. 17 00:00:50,810 --> 00:00:53,930 >> Tutaweza kwenda kupitia asymptotic nukuu, ambayo 18 00:00:53,930 --> 00:00:55,944 ni njia tu ya dhana ya kusema "runtimes," 19 00:00:55,944 --> 00:00:58,360 ambapo tuna O kubwa, ambayo Daudi alieleza katika hotuba. 20 00:00:58,360 --> 00:01:01,550 Na sisi pia kuwa Omega, ambayo ni Runtime chini amefungwa. 21 00:01:01,550 --> 00:01:06,450 Na tutaweza kuzungumza kidogo zaidi kina kuhusu jinsi wale kazi. 22 00:01:06,450 --> 00:01:10,160 Na Mwisho, tutaweza kwenda juu tafuta binary, sababu mengi ya wewe ambao tayari 23 00:01:10,160 --> 00:01:15,190 akapiga katika psets yako pengine kujua kwamba kwamba ni swali hilo ni katika pset yako. 24 00:01:15,190 --> 00:01:17,470 Hivyo itabidi zote kuwa na furaha kwamba sisi cover hii leo. 25 00:01:17,470 --> 00:01:20,610 >> Na mwisho, kwa yako kifungu cha maoni, mimi kwa kweli 26 00:01:20,610 --> 00:01:23,000 kushoto dakika 15 katika mwisho tu kwenda juu ya 27 00:01:23,000 --> 00:01:27,730 vifaa ya pset3, maswali yoyote, labda kidogo ya uongozi, kama wewe, 28 00:01:27,730 --> 00:01:28,990 kabla ya kuanza programu. 29 00:01:28,990 --> 00:01:30,890 Basi hebu jaribu kupata kupitia nyenzo pretty haraka. 30 00:01:30,890 --> 00:01:33,880 Na kisha tunaweza kutumia muda kuchukua maswali zaidi kwa pset. 31 00:01:33,880 --> 00:01:35,230 SAWA. 32 00:01:35,230 --> 00:01:39,570 >> Haraka, hivyo chache tu matangazo kabla ya kuanza leo. 33 00:01:39,570 --> 00:01:45,410 Kwanza, kuwakaribisha kwa kufanya hivyo kwa njia mbili za psets yako. 34 00:01:45,410 --> 00:01:49,432 Mimi alichukua kuangalia your-- yeah, hebu kupata raundi ya applause kwa kuwa moja. 35 00:01:49,432 --> 00:01:51,140 Kwa kweli, nilikuwa kweli, kweli hisia. 36 00:01:51,140 --> 00:01:55,800 Mimi hadhi pset kwanza kwa nyie guys wiki na wewe mwisho walifanya ajabu. 37 00:01:55,800 --> 00:01:58,290 >> Mtindo alikuwa juu ya hatua badala maoni machache. 38 00:01:58,290 --> 00:02:00,660 Kuhakikisha uko daima kutoa maoni yako kanuni. 39 00:02:00,660 --> 00:02:03,040 Lakini psets yako yalikuwa juu ya hatua. 40 00:02:03,040 --> 00:02:05,549 Na kuendelea kuwa juu. 41 00:02:05,549 --> 00:02:08,090 Na ni nzuri kwa grader kwa kuona kwamba nyie ni kuweka 42 00:02:08,090 --> 00:02:10,704 katika kama juhudi kubwa katika mtindo wako na kubuni yako katika kanuni yako 43 00:02:10,704 --> 00:02:12,120 kwamba tungependa kwa wewe kuona. 44 00:02:12,120 --> 00:02:16,450 Hivyo mimi nina kupita pamoja shukrani zangu kwa ajili ya mapumziko ya TAS. 45 00:02:16,450 --> 00:02:19,210 >> Hata hivyo kuna maswali machache kuwahoji 46 00:02:19,210 --> 00:02:22,010 Mimi nataka tu kwenda juu kwamba zingeweza maisha yangu yote 47 00:02:22,010 --> 00:02:24,900 na mengine mengi ya TAS 'anaishi kidogo rahisi. 48 00:02:24,900 --> 00:02:28,220 Kwanza, nimekuwa niliona hii zamani week-- jinsi wengi wenu 49 00:02:28,220 --> 00:02:32,301 wamekuwa mbio check50 juu ya kanuni yako kabla ya kuwasilisha? 50 00:02:32,301 --> 00:02:32,800 SAWA. 51 00:02:32,800 --> 00:02:36,690 Hivyo kila mmoja anapaswa kuwa kufanya check50, because-- secret-- sisi kweli 52 00:02:36,690 --> 00:02:41,540 kukimbia check50 kama sehemu ya usahihi wetu maandiko kwa ajili ya kupima kanuni yako. 53 00:02:41,540 --> 00:02:45,480 Hivyo kama kanuni yako ni kushindwa check50, katika uwezekano wote, 54 00:02:45,480 --> 00:02:47,570 ni pengine ni kwenda kushindwa kuangalia wetu pia. 55 00:02:47,570 --> 00:02:49,320 Wakati mwingine nyie na majibu sahihi. 56 00:02:49,320 --> 00:02:52,200 Kama, katika tamaa, baadhi ya una idadi ya haki, 57 00:02:52,200 --> 00:02:53,960 wewe tu magazeti nje baadhi ya mambo ya ziada. 58 00:02:53,960 --> 00:02:55,940 Na mambo ambayo ziada kweli inashindwa kuangalia, 59 00:02:55,940 --> 00:02:58,440 kwa sababu ya kompyuta haina kweli kujua nini ni kutafuta. 60 00:02:58,440 --> 00:03:00,981 Na hivyo itakuwa tu kukimbia kupitia, kuona kwamba pato yako haina 61 00:03:00,981 --> 00:03:03,810 mechi nini tunatarajia jibu kuwa, na alama yake ni sahihi. 62 00:03:03,810 --> 00:03:06,560 >> Nami najua kuwa kilichotokea katika baadhi ya kesi yako wiki hii. 63 00:03:06,560 --> 00:03:09,870 Kwa hiyo mimi nikarudi na manually regraded kificho kila mtu. 64 00:03:09,870 --> 00:03:12,780 Katika siku zijazo ingawa, tafadhali, tafadhali kuhakikisha 65 00:03:12,780 --> 00:03:14,570 kwamba wewe ni mbio kuangalia 50 juu ya kanuni yako. 66 00:03:14,570 --> 00:03:17,970 Kwa sababu ni aina ya maumivu kwa TA kwa kuwa na kurejea na manually regrade 67 00:03:17,970 --> 00:03:21,197 kila pset moja kwa kila moja, kidogo amekosa mfano. 68 00:03:21,197 --> 00:03:22,530 Hivyo sikuweza kuchukua mbali pointi yoyote. 69 00:03:22,530 --> 00:03:25,210 Nadhani mimi alichukua mbali labda moja au mbili kwa ajili ya kubuni. 70 00:03:25,210 --> 00:03:27,710 Katika siku zijazo ingawa, kama wewe ni kushindwa check50, 71 00:03:27,710 --> 00:03:31,330 pointi zitachukuliwa mbali kwa usahihi. 72 00:03:31,330 --> 00:03:35,020 >> Aidha, psets ni kutokana Ijumaa saa sita mchana. 73 00:03:35,020 --> 00:03:38,990 Nadhani kuna saba dakika Mwishoni mwa kipindi cha neema kwamba sisi kukupa. 74 00:03:38,990 --> 00:03:42,434 Per Harvard muda, wao ni kuruhusiwa kuwa dakika saba mwishoni mwa mwezi kwa kila kitu. 75 00:03:42,434 --> 00:03:44,350 Hivyo hapa katika Yale, tutaweza kuambatana na kuwa vilevile. 76 00:03:44,350 --> 00:03:47,910 Lakini pretty much, saa 00:07, kama pset yako si katika, 77 00:03:47,910 --> 00:03:49,720 itakuja kuwa alama kama marehemu. 78 00:03:49,720 --> 00:03:53,160 Na hivyo wakati ni alama kama marehemu, TA-- mimi nina 79 00:03:53,160 --> 00:03:54,870 bado kwenda kuwa grading psets yako. 80 00:03:54,870 --> 00:03:56,760 Hivyo itabidi bado kuona daraja kuonekana. 81 00:03:56,760 --> 00:03:58,820 Hata hivyo, tunajua kwamba katika mwisho wa muhula, 82 00:03:58,820 --> 00:04:02,270 psets zote marehemu tu kuwa moja kwa moja alizungumzia zaidi hali ilivyo na kompyuta. 83 00:04:02,270 --> 00:04:04,490 >> Sisi kufanya hivyo kwa sababu mbili. 84 00:04:04,490 --> 00:04:09,220 Moja, wakati mwingine tunapata radhi, kama udhuru Mkuu wa, 85 00:04:09,220 --> 00:04:10,762 baadaye kwamba mimi sijui kuhusu bado. 86 00:04:10,762 --> 00:04:13,761 Kwa hiyo sisi kama ili kuhakikisha tuko grading kila kitu tu katika kesi, kama, mimi nina 87 00:04:13,761 --> 00:04:15,080 kukosa kisingizio Mkuu wa. 88 00:04:15,080 --> 00:04:17,000 Na pili, kuweka katika akili, bado unaweza 89 00:04:17,000 --> 00:04:19,370 kushuka pset moja kwamba ina pointi full wigo. 90 00:04:19,370 --> 00:04:21,430 Na hivyo sisi kama daraja wote wa psets yako tu 91 00:04:21,430 --> 00:04:24,730 kuhakikisha kuwa wigo wako kuna na wewe ni kujaribu yao. 92 00:04:24,730 --> 00:04:29,150 Hivyo hata kama ni marehemu, utasikia bado kupata mikopo kwa ajili pointi upeo, nadhani. 93 00:04:29,150 --> 00:04:33,730 >> Hivyo maadili ya hadithi ni, kufanya uhakika psets yako ni katika juu ya muda. 94 00:04:33,730 --> 00:04:38,350 Na kama wao si katika juu ya muda, kujua kwamba siyo kubwa. 95 00:04:38,350 --> 00:04:41,678 Yeah, kabla mimi kusonga mbele, haina mtu yeyote kuwa maswali yoyote kuhusu pset maoni? 96 00:04:41,678 --> 00:04:42,178 Naam. 97 00:04:42,178 --> 00:04:43,630 >> Watazamaji: Je, unaweza kusema sisi unaweza kuacha moja ya psets? 98 00:04:43,630 --> 00:04:44,296 >> ANDI PENG: Naam. 99 00:04:44,296 --> 00:04:47,050 Hivyo kuna psets tisa kwa ujumla katika kipindi cha muhula. 100 00:04:47,050 --> 00:04:50,610 Na kama una wigo points-- hivyo wigo ni haki, 101 00:04:50,610 --> 00:04:53,567 pretty much, ni wewe kujaribu tatizo, ni wewe kuweka katika muda, 102 00:04:53,567 --> 00:04:56,150 Unataka kuonyesha kwamba umefanya alionyesha umesoma spec. 103 00:04:56,150 --> 00:04:57,191 Hiyo ni wigo pretty much. 104 00:04:57,191 --> 00:04:59,370 Na kama wewe ni kutimiza pointi upeo, sisi 105 00:04:59,370 --> 00:05:03,360 unaweza kuacha chini mmoja kati ya wigo kamili. 106 00:05:03,360 --> 00:05:06,790 Hivyo hiyo ni katika faida yako kwa kukamilisha na kujaribu kila pset. 107 00:05:06,790 --> 00:05:10,320 >> Hata upload-- kama hakuna nao kazi, kuzipeleka wote. 108 00:05:10,320 --> 00:05:13,711 Na kisha tutaweza hopefully kuwa na uwezo wa kukupa baadhi ya mambo hayo nyuma. 109 00:05:13,711 --> 00:05:14,210 Baridi. 110 00:05:14,210 --> 00:05:16,780 Yoyote maswali mengine? 111 00:05:16,780 --> 00:05:17,840 Kubwa. 112 00:05:17,840 --> 00:05:21,960 >> Pili, ofisi hours-- chache maelezo ya haraka kuhusu masaa ya ofisi. 113 00:05:21,960 --> 00:05:24,300 Hivyo kwanza, kuja mapema katika wiki. 114 00:05:24,300 --> 00:05:26,909 Hakuna mtu ni milele katika masaa ya ofisi juu ya Jumatatu. 115 00:05:26,909 --> 00:05:28,700 Christabel alikuja masaa ya ofisi jana usiku. 116 00:05:28,700 --> 00:05:29,691 Naam, Christabel. 117 00:05:29,691 --> 00:05:32,190 Na nini tuna katika ofisi masaa jana usiku, Christabel? 118 00:05:32,190 --> 00:05:33,020 >> Watazamaji: Tulikuwa aiskrimu. 119 00:05:33,020 --> 00:05:36,160 >> ANDI PENG: Basi hiyo ni haki, tulikuwa na aiskrimu katika masaa ya ofisi jana usiku. 120 00:05:36,160 --> 00:05:39,390 Wakati Siwezi ahadi kwamba tutaweza kuwa aiskrimu katika masaa ya ofisi 121 00:05:39,390 --> 00:05:43,230 kila wiki, nini naweza ahadi yenu ni kwamba kutakuwa na kwa kiasi kikubwa 122 00:05:43,230 --> 00:05:45,380 bora mwanafunzi TA uwiano. 123 00:05:45,380 --> 00:05:47,650 Kama legit, ni kama 00:57. 124 00:05:47,650 --> 00:05:50,350 Wakati ambapo, kulinganisha kwamba kwa Alhamisi, nimepata kuhusu 150 125 00:05:50,350 --> 00:05:52,830 kweli alisisitiza watoto na hakuna cream barafu. 126 00:05:52,830 --> 00:05:55,360 Na ni tu si za uzalishaji kwa mtu yeyote. 127 00:05:55,360 --> 00:05:58,730 Hivyo maadili ya hadithi ni, kuja mapema kwa masaa ya ofisi na mambo mema 128 00:05:58,730 --> 00:06:00,310 kitatokea. 129 00:06:00,310 --> 00:06:02,110 >> Pia, kuja tayari kuuliza maswali. 130 00:06:02,110 --> 00:06:03,200 Wajua? 131 00:06:03,200 --> 00:06:05,420 Bila kujali TAS, mimi kufikiri, wamekuwa wakisema, 132 00:06:05,420 --> 00:06:10,710 tumekuwa kupata wanandoa wanafunzi wanaokuja katika siku ya Alhamisi katika, kama, 10:50 133 00:06:10,710 --> 00:06:15,100 si baada ya kusoma spec kuwa kama msaada kwangu, nisaidie. 134 00:06:15,100 --> 00:06:18,200 Kwa bahati mbaya katika hatua hiyo, kuna si mengi tunaweza kufanya ili kukusaidia. 135 00:06:18,200 --> 00:06:19,590 Hivyo tafadhali kuja mapema katika wiki. 136 00:06:19,590 --> 00:06:22,040 Kuja mapema ili masaa ya ofisi. 137 00:06:22,040 --> 00:06:23,350 Kuja tayari kuuliza maswali. 138 00:06:23,350 --> 00:06:25,310 Kuhakikisha kwamba, kama mwanafunzi, ni wapi 139 00:06:25,310 --> 00:06:27,620 unahitaji kuwa ili TAS wanaweza kuongoza wewe pamoja, 140 00:06:27,620 --> 00:06:32,850 ambayo ni masaa ya ofisi kile lazima kuwa kura kwa. 141 00:06:32,850 --> 00:06:37,380 >> Pili, hivyo najua maprofesa kama mshangao wetu na vipimo. 142 00:06:37,380 --> 00:06:39,439 Mimi nilikuwa profesa wale kama, yo, kwa njia, 143 00:06:39,439 --> 00:06:41,230 kukumbuka kwamba midterm una Jumatatu ijayo. 144 00:06:41,230 --> 00:06:42,855 Yeah, Sikujua kuhusu kwamba midterm. 145 00:06:42,855 --> 00:06:45,630 Hivyo mimi nina kwenda kuwa kwamba TA kwamba kuwakumbusha Jaribio kwamba wote 146 00:06:45,630 --> 00:06:47,270 0-- kwa sababu, unajua, tuko CS. 147 00:06:47,270 --> 00:06:50,730 Sasa kwa kuwa tumekuwa arrays done, kupata kwa nini ni jaribio 0, si jaribio 1, eh? 148 00:06:50,730 --> 00:06:51,320 SAWA. 149 00:06:51,320 --> 00:06:52,490 Oh, I got baadhi chuckles juu ya kwamba moja. 150 00:06:52,490 --> 00:06:53,120 SAWA. 151 00:06:53,120 --> 00:06:59,710 >> Hivyo Jaribio 0 itakuwa Oktoba 14 kama uko katika sehemu Jumatatu-Jumatano 152 00:06:59,710 --> 00:07:02,920 na Oktoba 15 kama wewe ni katika Jumanne-Alhamisi sehemu. 153 00:07:02,920 --> 00:07:05,630 Hii haina yanahusu kwa wale wa wewe katika Harvard 154 00:07:05,630 --> 00:07:10,350 who-- Nadhani itabidi wote kuwa kuchukua Quizzes yako tarehe 14. 155 00:07:10,350 --> 00:07:13,560 >> Hivyo yeah, wiki ijayo, ikiwa David, katika hotuba, unaendelea, 156 00:07:13,560 --> 00:07:15,747 yeah, hivyo juu ya hilo Jaribio wiki ijayo, nyote 157 00:07:15,747 --> 00:07:17,580 hautakuwa kutishwa kwa sababu wewe alikuja sehemu 158 00:07:17,580 --> 00:07:19,664 na unajua kuwa wako Jaribio 0 ni katika wiki mbili. 159 00:07:19,664 --> 00:07:21,580 Na kutakuwa na mapitio vikao na kila kitu. 160 00:07:21,580 --> 00:07:26,360 Hivyo hakuna wasiwasi kuhusu kuwa na hofu kwa ajili hiyo. 161 00:07:26,360 --> 00:07:29,890 Maswali yoyote kabla, maswali yoyote katika kuhusu masuala yote vifaa, 162 00:07:29,890 --> 00:07:32,591 grading, masaa ya ofisi, sehemu? 163 00:07:32,591 --> 00:07:33,090 Naam. 164 00:07:33,090 --> 00:07:35,100 >> Watazamaji: Hivyo jaribio ni kwenda kuwa wakati wa hotuba? 165 00:07:35,100 --> 00:07:35,766 >> ANDI PENG: Naam. 166 00:07:35,766 --> 00:07:39,460 Hivyo jaribio, nadhani, ni 60 Dakika kura kwa kuwa yanayopangwa wakati 167 00:07:39,460 --> 00:07:42,240 kwamba utasikia tu kuchukua katika ukumbi. 168 00:07:42,240 --> 00:07:44,810 Hivyo huna kuja katika juu ya, kama, bila mpangilio 07:00. 169 00:07:44,810 --> 00:07:46,140 Ni wote nzuri. 170 00:07:46,140 --> 00:07:47,100 Naam. 171 00:07:47,100 --> 00:07:50,060 Baridi. 172 00:07:50,060 --> 00:07:50,840 >> Sawa. 173 00:07:50,840 --> 00:07:54,330 Hivyo sisi ni kwenda kwa kuanzisha dhana ya wewe 174 00:07:54,330 --> 00:08:00,760 wiki hii kwamba Daudi tayari aina ya kuguswa juu katika hotuba wiki hii iliyopita. 175 00:08:00,760 --> 00:08:02,010 Ni wito GDB. 176 00:08:02,010 --> 00:08:05,570 Na jinsi wengi wenu, wakati katika kozi ya kuandika psets yako, 177 00:08:05,570 --> 00:08:09,981 niliona kifungo kubwa kwamba anasema "Debug" juu ya IDE yako? 178 00:08:09,981 --> 00:08:10,480 SAWA. 179 00:08:10,480 --> 00:08:13,770 Hivyo sasa tutaweza kweli kupata unearth siri ya kile kifungo kwa kweli 180 00:08:13,770 --> 00:08:14,270 gani. 181 00:08:14,270 --> 00:08:16,790 Na Mimi kuhakikisha, ni nzuri, nzuri kitu. 182 00:08:16,790 --> 00:08:20,740 >> Hivyo hadi sasa, nadhani kumekuwa na mambo mawili 183 00:08:20,740 --> 00:08:23,320 wanafunzi wamekuwa kawaida kufanya wakati debugging psets. 184 00:08:23,320 --> 00:08:27,635 Moja, wao ama kuongeza katika printf () - hivyo kila mistari michache, 185 00:08:27,635 --> 00:08:29,760 wao kuongeza katika printf () - loo, ni nini kutofautiana hili? 186 00:08:29,760 --> 00:08:32,551 Ah, ni nini kutofautiana hii now-- na wewe aina ya kuona maendeleo 187 00:08:32,551 --> 00:08:33,940 ya kanuni yako kama ni anaendesha. 188 00:08:33,940 --> 00:08:37,030 Au njia ya pili ya watoto kufanya ni kwamba wao tu kuandika jambo zima 189 00:08:37,030 --> 00:08:38,610 na kisha kwenda kama hii mwishoni. 190 00:08:38,610 --> 00:08:39,970 Ni matumaini ni kazi. 191 00:08:39,970 --> 00:08:44,851 Mimi kuhakikisha, GDB ni bora kuliko wote wawili wa mbinu hizo. 192 00:08:44,851 --> 00:08:45,350 Naam. 193 00:08:45,350 --> 00:08:46,980 Hivyo hii itakuwa rafiki yako mpya bora. 194 00:08:46,980 --> 00:08:51,780 Kwa sababu ni jambo zuri kwamba kuibua maonyesho wote 195 00:08:51,780 --> 00:08:54,850 nini kanuni yako ni kufanya katika hatua mahususi 196 00:08:54,850 --> 00:08:57,486 ikiwa ni pamoja kile yote ya kama yako vigezo ni kufanya, 197 00:08:57,486 --> 00:08:59,610 kama kile maadili yao ni, katika hatua hiyo maalum. 198 00:08:59,610 --> 00:09:02,670 Na kwa njia hii, unaweza kweli kuweka breakpoints katika kanuni yako. 199 00:09:02,670 --> 00:09:04,350 Unaweza kukimbia kwa njia ya mstari kwa mstari. 200 00:09:04,350 --> 00:09:07,324 Na GDB tu na kwa wewe, kuonyeshwa kwa ajili yenu, 201 00:09:07,324 --> 00:09:09,490 nini wote wa vigezo yako ni nini wanafanya, 202 00:09:09,490 --> 00:09:10,656 nini kinaendelea katika kanuni. 203 00:09:10,656 --> 00:09:13,240 Na kwa namna, ni sana rahisi kuona 204 00:09:13,240 --> 00:09:17,120 nini kinatokea badala ya printf-ing au kuandika kauli yako. 205 00:09:17,120 --> 00:09:19,160 >> Hivyo tutaweza kufanya mfano wa hii baadaye. 206 00:09:19,160 --> 00:09:20,660 Hivyo hii inaonekana kidogo abstract. 207 00:09:20,660 --> 00:09:23,490 Hakuna wasiwasi, tutaweza kufanya mifano. 208 00:09:23,490 --> 00:09:29,170 Na hivyo kimsingi, tatu kubwa, wengi-kutumika kazi itabidi katika GDB 209 00:09:29,170 --> 00:09:32,500 ni Next, Vuka, na Hatua katika vifungo. 210 00:09:32,500 --> 00:09:34,860 Mimi nina kwenda kichwa juu pale, kwa kweli, hivi sasa. 211 00:09:34,860 --> 00:09:40,930 >> Hivyo unaweza nyie wote kuona kwamba au lazima mimi kuvuta kidogo? 212 00:09:40,930 --> 00:09:43,220 213 00:09:43,220 --> 00:09:44,470 Katika nyuma, je, unaweza kuona kwamba? 214 00:09:44,470 --> 00:09:45,730 Je, mimi kuvuta? 215 00:09:45,730 --> 00:09:46,480 Kidogo tu? 216 00:09:46,480 --> 00:09:49,390 OK, baridi. 217 00:09:49,390 --> 00:09:50,280 Kuna sisi kwenda. 218 00:09:50,280 --> 00:09:50,960 SAWA. 219 00:09:50,960 --> 00:09:57,000 >> Hivyo nina, hapa, yangu utekelezaji kwa tamaa. 220 00:09:57,000 --> 00:10:01,430 Na wakati mengi ya nyie aliandika tamaa katika kitanzi wakati form-- kwamba 221 00:10:01,430 --> 00:10:04,890 Ni njia zinazokubalika kikamilifu kufanya it-- njia nyingine ya kufanya hivyo ni tu 222 00:10:04,890 --> 00:10:06,280 kugawanya katika modulo. 223 00:10:06,280 --> 00:10:09,290 Kwa sababu kisha unaweza kuwa na yako thamani na kisha kuwa salio yako. 224 00:10:09,290 --> 00:10:11,150 Na kisha unaweza tu kuongeza yote pamoja. 225 00:10:11,150 --> 00:10:13,390 Je, mantiki ya nini mimi kufanya hapa kufanya maana kwa kila mtu, 226 00:10:13,390 --> 00:10:14,117 kabla ya kuanza? 227 00:10:14,117 --> 00:10:16,760 228 00:10:16,760 --> 00:10:17,980 Aina ya? 229 00:10:17,980 --> 00:10:18,710 Baridi. 230 00:10:18,710 --> 00:10:19,210 Kubwa. 231 00:10:19,210 --> 00:10:21,290 Ni pretty sexy kipande wa kanuni, napenda kusema. 232 00:10:21,290 --> 00:10:23,502 Kama nilivyosema, Daudi, katika hotuba, baada ya muda, 233 00:10:23,502 --> 00:10:25,960 wewe utakuwa zote kuanza kuona kificho kama kitu ambacho ni nzuri. 234 00:10:25,960 --> 00:10:29,950 Na wakati mwingine wakati unaweza kuona nzuri kanuni, ni hisia ya ajabu kama. 235 00:10:29,950 --> 00:10:35,410 >> Hivyo hata hivyo, wakati kanuni hizi ni sana nzuri, haina kazi vizuri. 236 00:10:35,410 --> 00:10:37,750 Basi hebu kukimbia check50 juu ya hili. 237 00:10:37,750 --> 00:10:39,440 Angalia 50 20-- OOP. 238 00:10:39,440 --> 00:10:43,221 239 00:10:43,221 --> 00:10:43,720 2? 240 00:10:43,720 --> 00:10:44,990 Ni kwamba pset2? 241 00:10:44,990 --> 00:10:46,870 Naam. 242 00:10:46,870 --> 00:10:47,520 Loo, pset1. 243 00:10:47,520 --> 00:10:50,970 244 00:10:50,970 --> 00:10:52,890 SAWA. 245 00:10:52,890 --> 00:10:53,900 Hivyo sisi kukimbia check50. 246 00:10:53,900 --> 00:11:01,550 247 00:11:01,550 --> 00:11:07,170 >> Na kama wewe guys unaweza kuona hapa, ni kushindwa michache ya kesi. 248 00:11:07,170 --> 00:11:10,165 Na kwa baadhi yenu, katika kozi ya kufanya seti tatizo lako, 249 00:11:10,165 --> 00:11:11,110 wewe ni kama, ah, kwa nini si hivyo kazi. 250 00:11:11,110 --> 00:11:13,318 Kwa nini ni kufanya kazi kwa baadhi maadili lakini si kwa wengine? 251 00:11:13,318 --> 00:11:17,760 Naam, GDB ni kwenda kukusaidia takwimu kwa nini pembejeo wale walikuwa si kazi. 252 00:11:17,760 --> 00:11:18,320 >> SAWA. 253 00:11:18,320 --> 00:11:21,640 Basi hebu angalia, mmoja wa hundi nilikuwa kushindwa katika check50 254 00:11:21,640 --> 00:11:24,920 ilikuwa pembejeo thamani ya 0.41. 255 00:11:24,920 --> 00:11:27,830 Hivyo jibu sahihi kwamba unapaswa kuwa kupata ni 4. 256 00:11:27,830 --> 00:11:33,090 Lakini badala kile Mimi uchapishaji nje ni 3-n, ambayo ni sahihi. 257 00:11:33,090 --> 00:11:36,190 Basi hebu kukimbia tu hii mikono, tu kuhakikisha kwamba check50 ni kazi. 258 00:11:36,190 --> 00:11:36,940 Hebu kufanya ./greedy. 259 00:11:36,940 --> 00:11:40,130 260 00:11:40,130 --> 00:11:43,340 Lo, nina kufanya tamaa. 261 00:11:43,340 --> 00:11:43,840 Kuna sisi kwenda. 262 00:11:43,840 --> 00:11:44,381 Sasa ./greedy. 263 00:11:44,381 --> 00:11:46,950 264 00:11:46,950 --> 00:11:47,670 >> Kiasi gani zinadaiwa? 265 00:11:47,670 --> 00:11:49,550 Hebu kufanya 0.41. 266 00:11:49,550 --> 00:11:52,590 Na yep, tunaona hapa kwamba ni outputting 3 267 00:11:52,590 --> 00:11:55,160 wakati jibu sahihi, kwa kweli, lazima 4. 268 00:11:55,160 --> 00:12:01,460 Basi hebu kuingia GDB na kuona ni jinsi sisi wanaweza kwenda juu ya fixing tatizo hili. 269 00:12:01,460 --> 00:12:03,992 >> Hivyo hatua ya kwanza katika Daima debugging kanuni yako 270 00:12:03,992 --> 00:12:05,950 ni kuweka breakpoint, au hatua ambayo wewe 271 00:12:05,950 --> 00:12:09,079 wanataka kompyuta au HatiJava ili kuanza kuangalia. 272 00:12:09,079 --> 00:12:11,120 Hivyo kama wewe si kweli kujua nini tatizo lako ni, 273 00:12:11,120 --> 00:12:14,670 Kwa kawaida, jambo kawaida tunataka kufanya ni kuweka breakpoint yetu katika kuu. 274 00:12:14,670 --> 00:12:18,520 Hivyo kama wewe guys unaweza kuona hii nyekundu kifungo haki pale, 275 00:12:18,520 --> 00:12:22,860 yep, kwamba alikuwa mimi kuweka breakpoint kwa kazi kuu. 276 00:12:22,860 --> 00:12:24,130 Mimi bonyeza hapo. 277 00:12:24,130 --> 00:12:26,130 >> Na kisha siwezi kwenda hadi Debug yangu kifungo. 278 00:12:26,130 --> 00:12:27,036 Mimi kugonga kwamba kifungo. 279 00:12:27,036 --> 00:12:31,710 280 00:12:31,710 --> 00:12:36,555 Hebu zoom nyuma nje kama naweza. 281 00:12:36,555 --> 00:12:38,020 Kuna sisi kwenda. 282 00:12:38,020 --> 00:12:40,730 Hivyo tuna, hapa, jopo juu ya haki. 283 00:12:40,730 --> 00:12:43,680 Samahani, guys katika nyuma, wewe kweli hawezi ona vizuri. 284 00:12:43,680 --> 00:12:49,090 Lakini kimsingi, kila jopo hili kulia unafanya 285 00:12:49,090 --> 00:12:53,130 ni kuweka wimbo wa wote yalionyesha mstari, ambayo ni mstari wa kanuni 286 00:12:53,130 --> 00:12:56,640 kwamba kompyuta sasa mbio, kama vile wote wa vigezo yako 287 00:12:56,640 --> 00:12:57,600 chini hapa. 288 00:12:57,600 --> 00:13:00,487 >> Basi nimepata senti, sarafu, n, wote alitangaza kwa mambo mbalimbali 289 00:13:00,487 --> 00:13:01,070 katika hatua hii. 290 00:13:01,070 --> 00:13:04,850 Hakuna wasiwasi, kwa sababu tuna si kweli initialized yao kwa vigezo yoyote. 291 00:13:04,850 --> 00:13:07,200 Hivyo katika kompyuta yako, yako kompyuta ni kuona tu, 292 00:13:07,200 --> 00:13:14,376 loo, 32767 alikuwa kazi mwisho kutumika ya kwamba kumbukumbu nafasi katika kompyuta yangu. 293 00:13:14,376 --> 00:13:16,000 Na hivyo hapo ndipo senti kwa sasa ni. 294 00:13:16,000 --> 00:13:19,360 Lakini hakuna kwamba mara moja kukimbia kificho, ni lazima kuwa initialized. 295 00:13:19,360 --> 00:13:24,110 >> Basi hebu kwenda kupitia, mstari kwa line, nini kinaendelea hapa. 296 00:13:24,110 --> 00:13:25,350 SAWA. 297 00:13:25,350 --> 00:13:29,400 Hivyo hapa ni tatu vifungo kwamba mimi tu alielezea. 298 00:13:29,400 --> 00:13:34,090 Una kucheza, au kukimbia kazi, kifungo, una Hatua juu ya kifungo, 299 00:13:34,090 --> 00:13:36,600 na wewe pia Hatua katika kifungo. 300 00:13:36,600 --> 00:13:41,260 Na kimsingi, wote watatu wa nao tu kwenda kwa njia kificho yako 301 00:13:41,260 --> 00:13:42,690 na kufanya mambo mbalimbali. 302 00:13:42,690 --> 00:13:45,680 >> Hivyo kawaida, wakati wewe ni debugging, hatutaki kuikumba tu kucheza, 303 00:13:45,680 --> 00:13:47,930 kwa sababu kucheza itakuwa tu kukimbia kanuni yako kwa mwisho wake. 304 00:13:47,930 --> 00:13:49,070 Na kisha utakuwa si kweli kujua nini tatizo lako 305 00:13:49,070 --> 00:13:51,432 ni isipokuwa wewe kuweka breakpoints nyingi. 306 00:13:51,432 --> 00:13:53,890 Kama kuweka breakpoints nyingi, itakuwa tu moja kwa moja 307 00:13:53,890 --> 00:13:56,030 kukimbia kutoka breakpoint moja, ijayo, kwa ijayo. 308 00:13:56,030 --> 00:13:58,030 Lakini katika kesi hii tumekuwa tu kwamba moja, kwa sababu sisi 309 00:13:58,030 --> 00:13:59,970 wanataka kufanya kazi kwa njia yetu kutoka juu kwenda chini kwa chini. 310 00:13:59,970 --> 00:14:04,830 Hivyo sisi ni kwenda kupuuza kwamba kifungo sasa hivi kwa madhumuni ya mpango huu. 311 00:14:04,830 --> 00:14:08,230 >> Hivyo Hatua juu ya kazi tu hatua juu ya kila mstari moja 312 00:14:08,230 --> 00:14:11,510 na anakwambia nini kompyuta ni kufanya. 313 00:14:11,510 --> 00:14:14,630 Hatua katika kazi inakwenda ndani ya kazi halisi 314 00:14:14,630 --> 00:14:16,000 hiyo ni juu ya mstari yako ya kificho. 315 00:14:16,000 --> 00:14:19,070 Hivyo kwa mfano, kama printf (), kuwa ni kazi, haki? 316 00:14:19,070 --> 00:14:21,980 Kama nilitaka hatua kimwili ndani ya printf () kazi, 317 00:14:21,980 --> 00:14:25,610 Napenda kweli kwenda katika kipande cha kificho ambapo printf () iliandikwa na kuona 318 00:14:25,610 --> 00:14:26,730 nini kinaendelea huko. 319 00:14:26,730 --> 00:14:29,924 >> Lakini kwa kawaida, sisi kudhani kwamba kificho kwamba sisi kukupa kazi. 320 00:14:29,924 --> 00:14:31,340 Sisi kudhani printf () ni kazi. 321 00:14:31,340 --> 00:14:33,170 Sisi kudhani kwamba GetInt () ni kazi. 322 00:14:33,170 --> 00:14:35,170 Hivyo hakuna haja ya hatua ndani ya kazi hizo. 323 00:14:35,170 --> 00:14:37,170 Lakini kama kuna kazi kwamba kuandika mwenyewe 324 00:14:37,170 --> 00:14:39,060 kwamba unataka kuangalia nje nini kinaendelea, 325 00:14:39,060 --> 00:14:41,200 wewe unataka hatua ndani ya kazi hiyo. 326 00:14:41,200 --> 00:14:43,940 >> Hivyo sasa hivi tunakwenda tu hatua juu ya kipande cha kanuni. 327 00:14:43,940 --> 00:14:44,485 Basi hebu angalia. 328 00:14:44,485 --> 00:14:46,547 Oh, magazeti, "Oh hai, jinsi mabadiliko mengi zinadaiwa? " 329 00:14:46,547 --> 00:14:47,130 Hatujali. 330 00:14:47,130 --> 00:14:49,830 Tunajua kwamba kufanya kazi, hivyo sisi hatua juu yake. 331 00:14:49,830 --> 00:14:53,290 >> Hivyo n, ambayo ni kuelea yetu kwamba tumekuwa initialized-- au declared-- 332 00:14:53,290 --> 00:14:56,810 juu kwa juu, tuko sasa sawa na kwamba kwa GetFloat (). 333 00:14:56,810 --> 00:14:57,810 Basi hebu hatua ya juu hiyo. 334 00:14:57,810 --> 00:14:59,580 Na tunaona katika chini hapa, mpango 335 00:14:59,580 --> 00:15:03,360 ni kusababisha mimi pembejeo thamani. 336 00:15:03,360 --> 00:15:08,580 Basi hebu pembejeo thamani tunataka mtihani hapa, ambayo ni 0.41. 337 00:15:08,580 --> 00:15:09,160 Kubwa. 338 00:15:09,160 --> 00:15:12,780 >> Hivyo sasa n-- kufanya nyie ona hapa, katika bottom-- ni 339 00:15:12,780 --> 00:15:15,140 stored-- kwa sababu sisi si rounded bado, ni 340 00:15:15,140 --> 00:15:19,540 kuhifadhiwa katika hii kubwa kama kuelea kwamba ni 0.4099999996, 341 00:15:19,540 --> 00:15:22,550 ambayo ni karibu kutosha yetu madhumuni, sasa hivi, kwa 0.41. 342 00:15:22,550 --> 00:15:26,090 Na kisha tutaweza kuona baadaye, kama sisi kuendelea wanazidi juu ya mpango, 343 00:15:26,090 --> 00:15:29,850 baada ya hapa, n imekuwa rounded na senti imekuwa 41. 344 00:15:29,850 --> 00:15:30,350 Kubwa. 345 00:15:30,350 --> 00:15:32,230 Hivyo tunajua kwamba kazi rounding wetu. 346 00:15:32,230 --> 00:15:34,700 Tunajua kwamba tuna idadi sahihi ya senti, 347 00:15:34,700 --> 00:15:36,990 hivyo tunajua kwamba hiyo ni si kweli tatizo. 348 00:15:36,990 --> 00:15:40,050 >> Hivyo tunaendelea wanazidi juu ya katika mpango huu. 349 00:15:40,050 --> 00:15:40,900 Sisi kwenda hapa. 350 00:15:40,900 --> 00:15:46,139 Na hivyo baada ya mstari wa kanuni, sisi anapaswa kujua namna ya robo wengi tuna. 351 00:15:46,139 --> 00:15:46,680 Sisi hatua zaidi. 352 00:15:46,680 --> 00:15:52,040 Na unaona hatuwezi, kwa kweli, na moja robo kwa sababu tumekuwa subtracted 25 353 00:15:52,040 --> 00:15:53,790 kutoka thamani yetu ya awali ya 41. 354 00:15:53,790 --> 00:15:55,890 Na tuna 16 kushoto kwa senti yetu. 355 00:15:55,890 --> 00:15:58,830 >> Je, kila mtu kuelewa jinsi mpango ni wanazidi kupitia 356 00:15:58,830 --> 00:16:02,980 na kwa nini senti sasa imekuwa 16 na kwa nini, sasa, sarafu imekuwa 1? 357 00:16:02,980 --> 00:16:04,610 Ni kila mtu kufuatia mantiki hiyo? 358 00:16:04,610 --> 00:16:05,110 Baridi. 359 00:16:05,110 --> 00:16:07,860 Hivyo kama ya hatua hii, kazi wa programu hiyo, sawa? 360 00:16:07,860 --> 00:16:09,797 Tunajua ni kufanya hasa nini tunataka. 361 00:16:09,797 --> 00:16:11,880 Na hatukuwa kweli na magazeti nje, loo, nini 362 00:16:11,880 --> 00:16:14,430 ni senti katika hatua hii, kile ni sarafu katika hatua hii. 363 00:16:14,430 --> 00:16:17,170 >> Tunaendelea kwenda kwa mpango. 364 00:16:17,170 --> 00:16:18,100 Hatua ya juu. 365 00:16:18,100 --> 00:16:18,620 Baridi. 366 00:16:18,620 --> 00:16:19,700 Sisi kwenda juu ya Dimes. 367 00:16:19,700 --> 00:16:20,200 Kubwa. 368 00:16:20,200 --> 00:16:22,367 Tunaona kwamba ni kuchukuliwa mbali $ 0.10 kwa dime. 369 00:16:22,367 --> 00:16:23,450 Na sasa tuna senti mbili. 370 00:16:23,450 --> 00:16:25,260 Hiyo ni sahihi. 371 00:16:25,260 --> 00:16:31,555 >> Sisi kwenda juu ya pennies na tunaona kwamba tumekuwa got kushoto juu ya senti. 372 00:16:31,555 --> 00:16:32,680 Hmm, hiyo ni ajabu. 373 00:16:32,680 --> 00:16:37,540 Hadi hapa katika mpango, mimi ilitakiwa kuwa subtracted pennies yangu. 374 00:16:37,540 --> 00:16:39,400 Labda mimi tu hakuwa kufanya hivyo mstari wa kulia. 375 00:16:39,400 --> 00:16:42,190 Na ole, unaweza kuona hapa, kwa sababu tunajua 376 00:16:42,190 --> 00:16:44,360 kwamba sisi ni wanazidi kupitia mistari 32 na 33, 377 00:16:44,360 --> 00:16:50,560 hapo ndipo mpango wetu vibaya na vigezo kukimbia. 378 00:16:50,560 --> 00:16:55,136 Ili tuweze kuangalia na kuona, loo, Mimi subtracting senti hapa, 379 00:16:55,136 --> 00:16:57,010 lakini mimi nina kweli kuongeza thamani wangu sarafu. 380 00:16:57,010 --> 00:16:57,860 Mimi na kuongeza kwa senti. 381 00:16:57,860 --> 00:17:00,234 Na sitaki kuongeza senti, nataka kuongeza sarafu. 382 00:17:00,234 --> 00:17:05,420 Hivyo kama sisi mabadiliko hayo kwa sarafu, sisi tumepewa mpango kazi. 383 00:17:05,420 --> 00:17:06,730 Siwezi kukimbia check50. 384 00:17:06,730 --> 00:17:11,063 Unaweza tu kujinasua kutoka katika GDB haki hapa na kisha kukimbia check50 tena. 385 00:17:11,063 --> 00:17:11,938 Mimi nilikuwa tu kufanya hivyo. 386 00:17:11,938 --> 00:17:14,822 387 00:17:14,822 --> 00:17:18,480 Nina kufanya tamaa. 388 00:17:18,480 --> 00:17:19,940 0.41. 389 00:17:19,940 --> 00:17:22,819 Na hapa, ni uchapishaji nje jibu sahihi. 390 00:17:22,819 --> 00:17:26,569 >> Hivyo kama wewe guys unaweza kuona, GDB ni kweli zana yenye nguvu 391 00:17:26,569 --> 00:17:29,940 kwa wakati tuna kificho sana kinachoendelea na vigezo hivyo wengi 392 00:17:29,940 --> 00:17:32,510 kwamba ni vigumu kwa ajili yetu, kama binadamu, kwa kuweka wimbo wa. 393 00:17:32,510 --> 00:17:35,360 Kompyuta, katika GDB HatiJava, ina uwezo 394 00:17:35,360 --> 00:17:37,020 kuweka wimbo wa kila kitu. 395 00:17:37,020 --> 00:17:40,480 Mimi najua, katika Visionaire, nyie pengine anaweza kuwa hit baadhi ya makosa segmentation 396 00:17:40,480 --> 00:17:43,150 kwa sababu wewe walikuwa wanakimbia nje ya mipaka ya safu yako. 397 00:17:43,150 --> 00:17:46,510 Katika mfano wa Kaisari, hiyo ni nini hasa nimekuwa kutekelezwa hapa. 398 00:17:46,510 --> 00:17:50,060 >> Hivyo mimi alisahau kuangalia kwa nini kitatokea kama mimi 399 00:17:50,060 --> 00:17:52,510 hawakuwa na mbili hoja mstari amri. 400 00:17:52,510 --> 00:17:53,880 I just hakuwa na kuweka katika kuangalia kwamba. 401 00:17:53,880 --> 00:17:57,380 Na hivyo kama mimi kukimbia Debug-- mimi kuweka breakpoint yangu kwa haki huko. 402 00:17:57,380 --> 00:17:58,055 Mimi kukimbia Debug. 403 00:17:58,055 --> 00:18:15,880 404 00:18:15,880 --> 00:18:16,550 >> SAWA. 405 00:18:16,550 --> 00:18:17,050 Naam. 406 00:18:17,050 --> 00:18:20,350 Hivyo kweli, GDB ilitakiwa kwa wameniambia kuna 407 00:18:20,350 --> 00:18:22,300 kosa segmentation huko. 408 00:18:22,300 --> 00:18:24,883 Sijui nini kinachoendelea haki pale, lakini wakati mimi mbio hilo, 409 00:18:24,883 --> 00:18:25,590 ilikuwa kufanya kazi. 410 00:18:25,590 --> 00:18:29,410 Wakati kukimbia mstari wa kanuni kupitia na GDB ili tu ghafla kujiondoa juu yenu, 411 00:18:29,410 --> 00:18:31,540 kwenda juu na kuangalia nini makosa nyekundu ni. 412 00:18:31,540 --> 00:18:33,930 Ni nitakuambia, hey, wewe alikuwa segmentation kosa, 413 00:18:33,930 --> 00:18:38,550 ambayo ina maana kwamba alijaribu kupata nafasi katika safu kwamba hayupo. 414 00:18:38,550 --> 00:18:39,050 Naam. 415 00:18:39,050 --> 00:18:43,280 >> Hivyo katika tatizo ijayo kuweka wiki hii, nyie 416 00:18:43,280 --> 00:18:45,600 pengine kuwa na mengi ya vigezo yaliyo karibu. 417 00:18:45,600 --> 00:18:48,560 Wewe si kwenda kuwa na uhakika gani wote maana katika hatua fulani. 418 00:18:48,560 --> 00:18:53,560 Hivyo GDB itakuwa kweli kukusaidia katika kuhesabia nini wote ni sawa na 419 00:18:53,560 --> 00:18:55,940 na kuwa na uwezo wa kuona kwamba kuibua. 420 00:18:55,940 --> 00:19:01,995 Kuna mtu yeyote kuchanganyikiwa juu ya jinsi yoyote ya kuwa alikuwa akifanya kazi? 421 00:19:01,995 --> 00:19:02,495 Baridi. 422 00:19:02,495 --> 00:19:10,121 423 00:19:10,121 --> 00:19:10,620 Sawa. 424 00:19:10,620 --> 00:19:14,260 Kwa hiyo baada ya kuwa, sisi ni kwenda kupiga mbizi haki 425 00:19:14,260 --> 00:19:17,562 ndani ya watu wanne tofauti aina ya aina ya wiki hii. 426 00:19:17,562 --> 00:19:19,520 Ni wangapi wenu, kwanza kabisa, kabla ya kuanza, 427 00:19:19,520 --> 00:19:23,020 wamesoma spec nzima kwa pset3? 428 00:19:23,020 --> 00:19:23,824 SAWA. 429 00:19:23,824 --> 00:19:24,740 Mimi nina fahari ya nyie. 430 00:19:24,740 --> 00:19:29,110 Hiyo ni kama nusu ya darasa, ambayo ni kwa kiasi kikubwa zaidi ya mara ya mwisho. 431 00:19:29,110 --> 00:19:33,950 >> Hivyo hiyo ni kubwa, kwa sababu wakati tunazungumzia kuhusu yaliyomo 432 00:19:33,950 --> 00:19:36,170 katika lecture-- au pole, katika section-- Mimi kama 433 00:19:36,170 --> 00:19:38,210 kuhusisha mengi ya kwamba nyuma kwa nini pset ni 434 00:19:38,210 --> 00:19:40,210 na jinsi gani unataka kutekeleza kwamba katika pset yako. 435 00:19:40,210 --> 00:19:42,400 Hivyo kama wewe kuja kuwa kusoma spec, ni itabidi 436 00:19:42,400 --> 00:19:45,510 kuwa rahisi sana kwa wewe kuelewa nini mimi kuzungumza kuhusu wakati mimi kusema, 437 00:19:45,510 --> 00:19:48,720 loo hey, hii inaweza kuwa kweli sehemu nzuri ya kutekeleza aina hii. 438 00:19:48,720 --> 00:19:52,870 Hivyo wale ambao wamesoma Spec kujua kwamba, kama sehemu ya pset yako, 439 00:19:52,870 --> 00:19:54,900 wewe ni kwenda kuwa na kuandika aina ya namna yo yote. 440 00:19:54,900 --> 00:19:58,670 Hivyo hii inaweza kuwa na manufaa sana kwa mengi ya leo. 441 00:19:58,670 --> 00:20:01,760 >> Hivyo tutaweza kuanza mbali na, kimsingi, aina rahisi zaidi 442 00:20:01,760 --> 00:20:04,580 cha aina, aina ya uteuzi. 443 00:20:04,580 --> 00:20:06,800 Algorithm ya kawaida kwa jinsi tunatarajia kwenda kuhusu hili 444 00:20:06,800 --> 00:20:10,460 is-- Daudi alikwenda kwa njia ya haya yote katika hotuba, hivyo mimi itabidi haraka hoja pamoja 445 00:20:10,460 --> 00:20:13,900 here-- ni kimsingi, wewe safu ya maadili. 446 00:20:13,900 --> 00:20:17,170 Na kisha kupata thamani ndogo zisizochambuliwa 447 00:20:17,170 --> 00:20:20,200 na wewe wabadilishane kwamba thamani na kwanza zisizochambuliwa thamani. 448 00:20:20,200 --> 00:20:22,700 Na kisha tu kuendelea kurudia na wengine wa orodha yako. 449 00:20:22,700 --> 00:20:25,740 >> Na hapa ni maelezo ya Visual jinsi ambavyo kazi. 450 00:20:25,740 --> 00:20:30,460 Hivyo kwa mfano, kama tulikuwa na kuanza na safu ya mambo matano, ripoti 451 00:20:30,460 --> 00:20:35,910 0-4, na 3, 5, 2, 6, na 4 maadili kuwekwa katika array-- hivyo hivi sasa, 452 00:20:35,910 --> 00:20:38,530 sisi ni kwenda tu kwa kudhani kwamba wao ni wote zisizochambuliwa 453 00:20:38,530 --> 00:20:41,130 kwa sababu sisi si majaribio vinginevyo. 454 00:20:41,130 --> 00:20:44,130 >> Hivyo ni jinsi gani aina uteuzi kazi ni kwamba ingekuwa kwanza 455 00:20:44,130 --> 00:20:46,800 kukimbia kwa njia ya ukamilifu wa safu zisizochambuliwa. 456 00:20:46,800 --> 00:20:49,120 Itakuwa kubaini nje thamani ndogo. 457 00:20:49,120 --> 00:20:51,750 Katika kesi hiyo, 3, haki sasa, ni ndogo. 458 00:20:51,750 --> 00:20:52,680 Anapata hadi 5. 459 00:20:52,680 --> 00:20:55,620 Nope, 5 si mkuu than-- au pole, si chini than-- 3. 460 00:20:55,620 --> 00:20:57,779 Hivyo thamani ya chini ni bado 3. 461 00:20:57,779 --> 00:20:58,695 Na kisha kupata 2. 462 00:20:58,695 --> 00:21:00,990 Kompyuta anaona, loo, 2 ni chini ya 3. 463 00:21:00,990 --> 00:21:02,750 2 ni lazima sasa kuwa thamani ya chini. 464 00:21:02,750 --> 00:21:06,630 Na hivyo 2 swaps na kwamba thamani kwanza. 465 00:21:06,630 --> 00:21:10,702 >> Kwa hiyo baada ya kupitisha moja, sisi kwa hakika ona kuwa 2 na 3 ni walibadilishana. 466 00:21:10,702 --> 00:21:13,910 Na sisi ni kwenda tu kuendelea kufanya hii tena na wengine wa safu. 467 00:21:13,910 --> 00:21:17,660 Hivyo sisi ni kwenda kukimbia kwa njia tu bahati minne iliyopita ya safu. 468 00:21:17,660 --> 00:21:20,670 Tutaweza kuona kwamba ni 3 ijayo kiwango cha chini thamani. 469 00:21:20,670 --> 00:21:23,240 Hivyo sisi ni kwenda wabadilishane kwamba pamoja na 4. 470 00:21:23,240 --> 00:21:26,900 Na kisha sisi ni kwenda tu kuweka mbio kwa njia mpaka hatimaye, wewe 471 00:21:26,900 --> 00:21:33,730 kupata safu Iliyopangwa ambao 2, 3, 4, 5, na 6 zote ni vyema. 472 00:21:33,730 --> 00:21:37,530 Je, kila mtu kuelewa mantiki jinsi aina uteuzi kazi? 473 00:21:37,530 --> 00:21:39,669 >> Wewe tu aina fulani ya thamani ya chini. 474 00:21:39,669 --> 00:21:41,210 Wewe ni kuweka wimbo wa nini kwamba ni. 475 00:21:41,210 --> 00:21:45,170 Na wakati wowote kupata hiyo, wewe wabadilishane na thamani ya kwanza katika array-- 476 00:21:45,170 --> 00:21:48,740 au, si value-- kwanza thamani pili katika safu. 477 00:21:48,740 --> 00:21:50,150 Baridi. 478 00:21:50,150 --> 00:21:55,460 >> Hivyo kama wewe guys aina ya aliona kutoka mtazamo kifupi, 479 00:21:55,460 --> 00:21:58,450 tunakwenda pseudocode hii nje. 480 00:21:58,450 --> 00:22:02,510 Hivyo kama wewe guys katika nyuma wanataka kuunda kikundi, kila mtu mezani 481 00:22:02,510 --> 00:22:06,170 huweza kutengeneza mpenzi kidogo, mimi nina kwenda kukupa guys kama dakika tatu 482 00:22:06,170 --> 00:22:08,190 tu kuzungumza kupitia mantiki, kwa Kiingereza, 483 00:22:08,190 --> 00:22:14,161 ya jinsi sisi kuwa na uwezo wa kutekeleza pseudocode kuandika aina uteuzi. 484 00:22:14,161 --> 00:22:14,910 Na kuna pipi. 485 00:22:14,910 --> 00:22:16,118 Tafadhali kuja na kupata pipi. 486 00:22:16,118 --> 00:22:19,520 Kama uko katika nyuma na unataka pipi, siwezi kutupa pipi saa wewe. 487 00:22:19,520 --> 00:22:22,850 Kwa kweli, kufanya you-- baridi. 488 00:22:22,850 --> 00:22:23,552 Oh, pole. 489 00:22:23,552 --> 00:22:26,751 490 00:22:26,751 --> 00:22:27,250 SAWA. 491 00:22:27,250 --> 00:25:23,880 492 00:25:23,880 --> 00:25:27,140 >> Hivyo kama tungependa, kama darasa, kuandika pseudocode 493 00:25:27,140 --> 00:25:30,466 kwa jinsi mtu anaweza mbinu tatizo hili, tu kujisikia huru. 494 00:25:30,466 --> 00:25:32,340 Mimi itabidi kwenda karibu na, ili, watake wanafunzi 495 00:25:32,340 --> 00:25:35,065 kwa mstari wa pili wa nini tunapaswa kufanya. 496 00:25:35,065 --> 00:25:37,840 Hivyo kama wewe guys unataka kuanza mbali, nini jambo la kwanza ni 497 00:25:37,840 --> 00:25:40,600 cha kufanya wakati wewe ni kujaribu kutekeleza njia ya kutatua mpango huu 498 00:25:40,600 --> 00:25:43,480 selectively aina orodha? 499 00:25:43,480 --> 00:25:46,349 Hebu tu kudhani sisi na safu, sawa? 500 00:25:46,349 --> 00:25:49,088 >> Watazamaji: Unataka kuunda baadhi aina ya [inaudible] kwamba wewe ni 501 00:25:49,088 --> 00:25:50,420 mbio kwa njia ya safu yako yote. 502 00:25:50,420 --> 00:25:51,128 >> ANDI PENG: Haki. 503 00:25:51,128 --> 00:25:54,100 Hivyo wewe ni kwenda kutaka iterate njia ya kila nafasi, haki? 504 00:25:54,100 --> 00:26:05,490 Kwa hiyo, kubwa. 505 00:26:05,490 --> 00:26:08,600 Kama wewe guys wanataka kunipa ijayo line-- yeah, katika nyuma. 506 00:26:08,600 --> 00:26:11,414 507 00:26:11,414 --> 00:26:13,290 >> Watazamaji: Angalia yao zote kwa ndogo. 508 00:26:13,290 --> 00:26:14,248 >> ANDI PENG: Kuna sisi kwenda. 509 00:26:14,248 --> 00:26:17,438 Hivyo tunataka kwenda kwa njia na kuangalia kwa kuona nini thamani ya chini ni, sawa? 510 00:26:17,438 --> 00:26:22,110 511 00:26:22,110 --> 00:26:24,840 Mimi nina kwenda abbreviate kwamba kwa "dk." 512 00:26:24,840 --> 00:26:27,658 Nini guys wanataka kufanya baada ya Nimepata thamani ya chini? 513 00:26:27,658 --> 00:26:28,533 >> Watazamaji: [inaudible] 514 00:26:28,533 --> 00:26:29,942 515 00:26:29,942 --> 00:26:33,150 ANDI PENG: Hivyo wewe ni kwenda kutaka kubadili ni pamoja na ya kwanza ya kwamba safu, 516 00:26:33,150 --> 00:26:33,650 sawa? 517 00:26:33,650 --> 00:26:45,120 518 00:26:45,120 --> 00:26:46,850 Hiyo ni mwanzo, mimi nina kwenda kusema. 519 00:26:46,850 --> 00:26:47,220 Sawa. 520 00:26:47,220 --> 00:26:50,386 Hivyo sasa kwamba umefanya swapped kwanza moja, unataka nini cha kufanya baada ya hayo? 521 00:26:50,386 --> 00:26:54,840 Hivyo sasa tunajua kwamba hii moja hapa lazima thamani ndogo, sivyo? 522 00:26:54,840 --> 00:26:58,310 Kisha una wengine ziada wa safu hiyo ni zisizochambuliwa. 523 00:26:58,310 --> 00:27:01,569 Kwa hiyo kile unataka kufanya hapa, kama wewe guys wanataka kunipa mstari baada ya hapo? 524 00:27:01,569 --> 00:27:04,610 Watazamaji: Hivyo basi unataka iterate kupitia salio ya safu. 525 00:27:04,610 --> 00:27:05,276 ANDI PENG: Naam. 526 00:27:05,276 --> 00:27:09,857 Na hivyo ni nini iterating kupitia aina ya kuashiria tutaweza pengine haja? 527 00:27:09,857 --> 00:27:10,440 Ni aina gani of-- 528 00:27:10,440 --> 00:27:12,057 >> Watazamaji: Oh, kutofautiana ziada? 529 00:27:12,057 --> 00:27:13,890 ANDI PENG: Pengine mwingine kwa kitanzi, haki? 530 00:27:13,890 --> 00:27:28,914 Hivyo sisi ni pengine atataka iterate through-- kubwa. 531 00:27:28,914 --> 00:27:31,830 Na kisha wewe ni kwenda kurudi nyuma na pengine kuangalia kiwango cha chini tena, 532 00:27:31,830 --> 00:27:32,100 sawa? 533 00:27:32,100 --> 00:27:34,975 Na wewe ni kwenda kuendelea kurudia hii, kwa sababu mizunguko kwenda tu 534 00:27:34,975 --> 00:27:36,010 kuweka mbio, sawa? 535 00:27:36,010 --> 00:27:39,190 >> Hivyo kama wewe guys unaweza kuona, sisi tu na pseudocode ujumla 536 00:27:39,190 --> 00:27:41,480 jinsi tunataka mpango huu kwa kuangalia. 537 00:27:41,480 --> 00:27:46,646 Iterate hii hapa, tunafanya nini kawaida haja ya kuandika katika kanuni zetu 538 00:27:46,646 --> 00:27:49,270 kama tunataka iterate kupitia safu, ni aina gani ya muundo? 539 00:27:49,270 --> 00:27:51,030 Nadhani Christabel tayari kusema hayo kabla. 540 00:27:51,030 --> 00:27:51,500 >> Watazamaji: A kwa kitanzi. 541 00:27:51,500 --> 00:27:52,160 >> ANDI PENG: A kwa kitanzi? 542 00:27:52,160 --> 00:27:52,770 Hasa. 543 00:27:52,770 --> 00:27:56,060 Hivyo hii pengine ni kwenda kuwa kwa kitanzi. 544 00:27:56,060 --> 00:27:59,240 Ni kuangalia hapa kwenda kuashiria nini? 545 00:27:59,240 --> 00:28:02,536 Kwa kawaida, kama unataka kuangalia kama kitu fulani ni kitu else-- 546 00:28:02,536 --> 00:28:03,270 >> Watazamaji: Kama. 547 00:28:03,270 --> 00:28:06,790 >> ANDI PENG: An kama, sawa? 548 00:28:06,790 --> 00:28:10,790 Na kisha wabadilishane hapa, tutaweza kwenda juu baadaye, kwa sababu Daudi 549 00:28:10,790 --> 00:28:12,770 safari kwa kupitia kwamba katika hotuba pia. 550 00:28:12,770 --> 00:28:14,580 Na kisha iterate pili implies-- 551 00:28:14,580 --> 00:28:15,120 >> Watazamaji: jingine kwa kitanzi. 552 00:28:15,120 --> 00:28:16,745 >> ANDI PENG: --another kwa kitanzi, hasa. 553 00:28:16,745 --> 00:28:19,870 554 00:28:19,870 --> 00:28:22,000 Hivyo kama sisi ni kuangalia wakati huu kwa usahihi, sisi 555 00:28:22,000 --> 00:28:24,680 unaweza kuona kwamba tuko pengine kwenda haja nested kwa kitanzi 556 00:28:24,680 --> 00:28:28,330 na kauli masharti katika huko na kisha kipande halisi ya kificho hiyo ni 557 00:28:28,330 --> 00:28:31,360 kwenda wabadilishane maadili. 558 00:28:31,360 --> 00:28:35,980 Hivyo nimekuwa tu kwa ujumla imeandikwa pseudocode kificho hapa. 559 00:28:35,980 --> 00:28:38,910 Na kisha sisi ni kweli kwenda kimwili, kama darasa, 560 00:28:38,910 --> 00:28:40,700 kujaribu kutekeleza hili leo. 561 00:28:40,700 --> 00:28:42,486 Hebu kwenda nyuma katika IDE hii. 562 00:28:42,486 --> 00:28:49,243 563 00:28:49,243 --> 00:28:50,230 >> Uh-oh. 564 00:28:50,230 --> 00:28:51,754 Kwa nini ni kwamba not-- huko ni. 565 00:28:51,754 --> 00:28:52,253 SAWA. 566 00:28:52,253 --> 00:28:55,834 567 00:28:55,834 --> 00:28:57,500 Samahani, napenda kujaribu kuvuta kidogo zaidi. 568 00:28:57,500 --> 00:28:59,310 Kuna sisi kwenda. 569 00:28:59,310 --> 00:29:05,060 Wote mimi nina kufanya hapa ni Nimekuwa kuundwa mpango ujulikanao "uteuzi / sort.c." 570 00:29:05,060 --> 00:29:10,860 Nimekuwa kuundwa safu ya tisa maadili, 4, 8, 2, 1, 6, 9, 7, 5, 3. 571 00:29:10,860 --> 00:29:14,370 Hivi sasa, kama unaweza kuona, wao ni unordered. 572 00:29:14,370 --> 00:29:17,880 n ni kwenda kuwa idadi hiyo atakwambia kiasi cha maadili 573 00:29:17,880 --> 00:29:18,920 una katika safu yako. 574 00:29:18,920 --> 00:29:20,670 Katika kesi hiyo, tuna maadili tisa. 575 00:29:20,670 --> 00:29:23,760 Na nimekuwa tu got kwa kitanzi hapa kwamba Prints nje safu zisizochambuliwa. 576 00:29:23,760 --> 00:29:28,370 >> Na mwisho, nimekuwa pia alipata kwa kitanzi kwamba tu Prints nje tena. 577 00:29:28,370 --> 00:29:32,070 Hivyo kinadharia, ikiwa mpango huu ni kufanya kazi kwa usahihi, mwishoni, 578 00:29:32,070 --> 00:29:35,670 unapaswa kuona kuchapishwa kwa kitanzi ambao 1, 2, 3, 4, 5, 6, 7, 8, 579 00:29:35,670 --> 00:29:39,310 9 ni yote kwa usahihi ili. 580 00:29:39,310 --> 00:29:43,410 >> Hivyo sisi tumepewa pseudocode wetu hapa. 581 00:29:43,410 --> 00:29:46,090 Je, mtu yeyote wanataka to-- Mimi tu kwenda kuomba volunteers-- 582 00:29:46,090 --> 00:29:49,540 kuniambia nini hasa aina ikiwa tunataka, kwanza, tu iterate 583 00:29:49,540 --> 00:29:52,840 njia ya mwanzo wa safu hii? 584 00:29:52,840 --> 00:29:55,204 Nini mstari wa kanuni mimi nina pengine ni kwenda haja hapa? 585 00:29:55,204 --> 00:29:56,990 >> Watazamaji: [inaudible] 586 00:29:56,990 --> 00:29:59,010 >> ANDI PENG: Yeah, kuhisi bure to-- pole, wewe 587 00:29:59,010 --> 00:30:02,318 hawana kusimama kujisikia up-- bure kuinua sauti yako kidogo. 588 00:30:02,318 --> 00:30:08,190 >> Watazamaji: Kwa int i sawa 0-- 589 00:30:08,190 --> 00:30:10,690 >> ANDI PENG: Yeah, nzuri. 590 00:30:10,690 --> 00:30:15,220 >> Watazamaji: i ni chini ya safu urefu. 591 00:30:15,220 --> 00:30:19,630 >> ANDI PENG: Hivyo kuweka katika akili hapa, kwa sababu sisi 592 00:30:19,630 --> 00:30:23,060 hawana kazi ambayo anatueleza urefu wa safu, 593 00:30:23,060 --> 00:30:25,790 tayari tuna thamani kwamba maduka hilo. 594 00:30:25,790 --> 00:30:27,920 Sawa? 595 00:30:27,920 --> 00:30:31,010 Kitu kingine kushika katika mind-- katika safu 596 00:30:31,010 --> 00:30:33,940 maadili tisa, bahati kile ni? 597 00:30:33,940 --> 00:30:38,720 Hebu tu kusema safu hii ilikuwa 0-3. 598 00:30:38,720 --> 00:30:41,500 Unaweza kuona kwamba mwisho ripoti ni kweli 3. 599 00:30:41,500 --> 00:30:45,530 Siyo 4, ingawa kuna maadili nne katika safu. 600 00:30:45,530 --> 00:30:49,866 >> Hivyo katika hapa, inabidi kuwa makini sana ya nini hali yetu kwa urefu 601 00:30:49,866 --> 00:30:50,490 ni kwenda kuwa. 602 00:30:50,490 --> 00:30:51,948 >> Watazamaji: Je, si ni n bala 1? 603 00:30:51,948 --> 00:30:54,440 ANDI PENG: Ni kwenda n bala 1, hasa. 604 00:30:54,440 --> 00:30:57,379 Je, hiyo mantiki, kwa nini ni n bala 1, kila mtu? 605 00:30:57,379 --> 00:30:58,920 Ni kwa sababu arrays ni sifuri indexed. 606 00:30:58,920 --> 00:31:02,010 Wao kuanza saa 0 na kuelekea kwenye n bala 1. 607 00:31:02,010 --> 00:31:03,210 Yeah, ni kidogo suala gumu. 608 00:31:03,210 --> 00:31:03,730 SAWA. 609 00:31:03,730 --> 00:31:05,929 Na then-- 610 00:31:05,929 --> 00:31:08,054 Watazamaji: Isnt'1 kwamba tayari kuchukuliwa huduma ya, ingawa, 611 00:31:08,054 --> 00:31:11,400 na sio tu kusema "chini ya au sawa na "na kusema tu" chini ya? " 612 00:31:11,400 --> 00:31:13,108 >> ANDI PENG: Hiyo ni mzuri swali. 613 00:31:13,108 --> 00:31:13,630 Kwa hiyo, ndiyo. 614 00:31:13,630 --> 00:31:17,410 Lakini pia, kwa njia hiyo tuko utekelezaji wa haki cheki, 615 00:31:17,410 --> 00:31:19,120 unahitaji kulinganisha maadili mbili. 616 00:31:19,120 --> 00:31:21,009 Kweli hiyo unataka kuondoka "na" tupu. 617 00:31:21,009 --> 00:31:23,050 Kwa sababu kama kulinganisha hii moja, wewe si kwenda 618 00:31:23,050 --> 00:31:25,530 kuwa na kitu chochote baada ya kwa kulinganisha na, sawa? 619 00:31:25,530 --> 00:31:27,460 Naam. 620 00:31:27,460 --> 00:31:29,297 Hivyo i ++. 621 00:31:29,297 --> 00:31:30,380 Hebu kuongeza mabano yetu katika. 622 00:31:30,380 --> 00:31:30,880 Whoops. 623 00:31:30,880 --> 00:31:33,950 624 00:31:33,950 --> 00:31:34,710 Kubwa. 625 00:31:34,710 --> 00:31:39,117 Hivyo tuna mwanzo ya kitanzi yetu ya nje. 626 00:31:39,117 --> 00:31:41,450 Hivyo sasa sisi pengine wanataka kujenga kutofautiana kwa ajili ya kuweka 627 00:31:41,450 --> 00:31:43,085 wimbo wa thamani ndogo, sivyo? 628 00:31:43,085 --> 00:31:45,751 Je, mtu yeyote wanataka kunipa mstari wa kanuni hiyo inaweza kufanya hivyo? 629 00:31:45,751 --> 00:31:48,700 630 00:31:48,700 --> 00:31:53,570 Je, tunahitaji kama sisi ni kwenda kutaka kuhifadhi kitu? 631 00:31:53,570 --> 00:31:55,047 >> Kulia. 632 00:31:55,047 --> 00:31:57,630 Labda jina bora kwa kuwa ingekuwa be-- "temp" works-- kabisa 633 00:31:57,630 --> 00:32:00,655 labda zaidi aptly aitwaye itakuwa, kama tunataka ndogo value-- 634 00:32:00,655 --> 00:32:01,624 >> Watazamaji: Min. 635 00:32:01,624 --> 00:32:02,790 ANDI PENG: dk, kuna sisi kwenda. 636 00:32:02,790 --> 00:32:05,230 dk itakuwa vizuri. 637 00:32:05,230 --> 00:32:08,340 Na hivyo hapa, tunafanya nini wanataka initialize kwa? 638 00:32:08,340 --> 00:32:09,620 Hii ni kidogo suala gumu. 639 00:32:09,620 --> 00:32:13,580 Kwa sababu sasa hivi katika mwanzo wa safu hii, 640 00:32:13,580 --> 00:32:15,730 wewe si inaonekana katika kitu chochote, sawa? 641 00:32:15,730 --> 00:32:19,200 Kwa hiyo kile, moja kwa moja, kama tuko tu juu ya i sawa 0, 642 00:32:19,200 --> 00:32:22,302 je, tunataka initialize kiwango cha chini yetu thamani kwanza kwa? 643 00:32:22,302 --> 00:32:22,802 Watazamaji: i. 644 00:32:22,802 --> 00:32:24,790 ANDI PENG: i, hasa. 645 00:32:24,790 --> 00:32:27,040 Christabel, kwa nini tunataka kwa initialize kwa i? 646 00:32:27,040 --> 00:32:28,510 >> Watazamaji: Kwa sababu, vizuri, sisi ni mapya na 0. 647 00:32:28,510 --> 00:32:31,660 Hivyo kwa sababu hatuna cha kulinganisha kwa, kiwango cha chini kuishia kuwa 0. 648 00:32:31,660 --> 00:32:32,451 >> ANDI PENG: Hasa. 649 00:32:32,451 --> 00:32:34,400 Hivyo yeye ni kweli kabisa. 650 00:32:34,400 --> 00:32:36,780 Kwa sababu tuna si kweli inaonekana katika chochote bado, 651 00:32:36,780 --> 00:32:38,680 sisi hawajui nini cha chini cha thamani yetu ni. 652 00:32:38,680 --> 00:32:41,960 Tunataka tu initialize kwa i, ambayo, kwa sasa, ni haki hapa. 653 00:32:41,960 --> 00:32:44,750 Na kama tunaendelea hoja chini safu hii, 654 00:32:44,750 --> 00:32:48,122 tutaweza kuona kwamba, na kila kupita ziada, i nyongeza. 655 00:32:48,122 --> 00:32:49,830 Na hivyo katika hatua hiyo, i pengine ni kwenda 656 00:32:49,830 --> 00:32:52,329 kutaka kuwa kiwango cha chini, kwa sababu itakuja kuwa chochote 657 00:32:52,329 --> 00:32:54,520 ni mwanzo wa safu zisizochambuliwa. 658 00:32:54,520 --> 00:32:55,270 Baridi. 659 00:32:55,270 --> 00:32:58,720 >> Hivyo sasa tunataka kuongeza a kwa kitanzi hapa kwamba 660 00:32:58,720 --> 00:33:03,225 kwenda iterate kupitia zisizochambuliwa, au maeneo mengine ya safu hii. 661 00:33:03,225 --> 00:33:05,808 Je, mtu yeyote wanataka kunipa mstari wa kanuni hiyo inaweza kufanya hivyo? 662 00:33:05,808 --> 00:33:08,870 663 00:33:08,870 --> 00:33:11,330 Hint-- tunahitaji nini chini hapa? 664 00:33:11,330 --> 00:33:17,320 665 00:33:17,320 --> 00:33:18,820 Nini kinaendelea kwenda katika hii kwa kitanzi? 666 00:33:18,820 --> 00:33:19,465 Naam. 667 00:33:19,465 --> 00:33:21,590 Watazamaji: Hivyo tunatarajia wanataka kuwa integer tofauti, 668 00:33:21,590 --> 00:33:25,080 kwa sababu sisi ni mbio kwa njia ya mapumziko wa safu badala ya i, hivyo labda 669 00:33:25,080 --> 00:33:25,760 j. 670 00:33:25,760 --> 00:33:27,301 >> ANDI PENG: Yeah, j sauti nzuri kwangu. 671 00:33:27,301 --> 00:33:27,850 Sawa? 672 00:33:27,850 --> 00:33:33,930 >> Watazamaji: Hivyo itakuwa i pamoja na 1, kwa sababu wewe ni kuanzia saa thamani ujao. 673 00:33:33,930 --> 00:33:40,395 Na kisha kwa end-- hivyo tena, j ni chini ya n bala 1, na kisha j ++. 674 00:33:40,395 --> 00:33:41,103 ANDI PENG: Mkuu. 675 00:33:41,103 --> 00:33:48,510 676 00:33:48,510 --> 00:33:52,750 >> Na kisha katika hapa, sisi ni kwenda kutaka kuangalia ili kuona kama hali yetu ni alikutana, 677 00:33:52,750 --> 00:33:53,250 sawa? 678 00:33:53,250 --> 00:33:55,740 Sababu unataka mabadiliko ya thamani ya chini 679 00:33:55,740 --> 00:33:58,700 kama ni kweli ndogo kuliko yale wewe ni kulinganisha na, sawa? 680 00:33:58,700 --> 00:34:01,146 Kwa hiyo kile ni sisi kwenda kutaka katika hapa? 681 00:34:01,146 --> 00:34:04,160 682 00:34:04,160 --> 00:34:04,897 Angalia kuona. 683 00:34:04,897 --> 00:34:06,730 Aina gani ya taarifa ni sisi pengine ni kwenda 684 00:34:06,730 --> 00:34:08,389 ti wanataka kutumia kama sisi unataka kuangalia kitu? 685 00:34:08,389 --> 00:34:09,360 >> Watazamaji: An kama taarifa. 686 00:34:09,360 --> 00:34:10,485 >> ANDI PENG: An kama taarifa. 687 00:34:10,485 --> 00:34:13,155 Hivyo if-- na nini kinaendelea kuwa masharti kwamba tunataka ndani ya 688 00:34:13,155 --> 00:34:13,988 ya kama kauli zetu? 689 00:34:13,988 --> 00:34:18,255 690 00:34:18,255 --> 00:34:22,960 >> Watazamaji: Kama thamani ya j ni chini ya thamani ya i-- 691 00:34:22,960 --> 00:34:24,600 >> ANDI PENG: Hasa. 692 00:34:24,600 --> 00:34:27,480 Hivyo if-- hivyo safu hii inaitwa "safu." 693 00:34:27,480 --> 00:34:27,980 Kubwa. 694 00:34:27,980 --> 00:34:30,465 Hivyo kama array-- nini ilikuwa hivyo? 695 00:34:30,465 --> 00:34:31,090 Kusema kwamba tena. 696 00:34:31,090 --> 00:34:39,590 >> Watazamaji: Kama safu-j ni chini ya safu-i, basi tunataka mabadiliko dk. 697 00:34:39,590 --> 00:34:41,590 Hivyo dk itakuwa j. 698 00:34:41,590 --> 00:34:44,590 699 00:34:44,590 --> 00:34:47,249 >> ANDI PENG: Je, hiyo mantiki? 700 00:34:47,249 --> 00:34:48,670 SAWA. 701 00:34:48,670 --> 00:34:52,929 Na sasa chini hapa, sisi kweli wanataka kutekeleza wabadilishane, sawa? 702 00:34:52,929 --> 00:34:58,285 Hivyo kukumbuka, katika hotuba, Daudi, wakati alikuwa anajaribu wabadilishane the-- nini ilikuwa 703 00:34:58,285 --> 00:34:59,996 it-- juisi ya machungwa na milk-- 704 00:34:59,996 --> 00:35:01,150 >> Watazamaji: Hiyo ilikuwa ni ya jumla. 705 00:35:01,150 --> 00:35:02,816 >> ANDI PENG: Yeah, kwamba ilikuwa ni aina ya jumla. 706 00:35:02,816 --> 00:35:05,310 Lakini ilikuwa nzuri dhana kuonyesha wakati. 707 00:35:05,310 --> 00:35:08,430 Hivyo kufikiri ya maadili yako hapa. 708 00:35:08,430 --> 00:35:10,794 Nimepata safu ya dk, safu ya i, 709 00:35:10,794 --> 00:35:12,460 au chochote sisi walikuwa wakijaribu wabadilishane hapa. 710 00:35:12,460 --> 00:35:15,310 Na pengine hawezi kumwaga yao katika kila mmoja kwa wakati mmoja, sawa? 711 00:35:15,310 --> 00:35:17,180 Kwa hiyo kile ni sisi kwenda kwa haja ya kuunda hapa 712 00:35:17,180 --> 00:35:19,126 ili wabadilishane maadili usahihi? 713 00:35:19,126 --> 00:35:19,820 >> Watazamaji: kutofautiana muda. 714 00:35:19,820 --> 00:35:21,370 >> ANDI PENG: kutofautiana muda. 715 00:35:21,370 --> 00:35:22,570 Basi hebu kufanya int temp. 716 00:35:22,570 --> 00:35:25,681 Angalia, hii itakuwa bora muda to-- Ho, nini ilikuwa hivyo? 717 00:35:25,681 --> 00:35:26,180 SAWA. 718 00:35:26,180 --> 00:35:29,800 Hivyo hii ingekuwa bora muda kwa jina kutofautiana "temp." 719 00:35:29,800 --> 00:35:30,730 Basi hebu kufanya int temp. 720 00:35:30,730 --> 00:35:32,563 Je, ni sisi kwenda kuweka temp sawa hapa? 721 00:35:32,563 --> 00:35:34,752 722 00:35:34,752 --> 00:35:35,335 Watazamaji: Min? 723 00:35:35,335 --> 00:35:38,508 724 00:35:38,508 --> 00:35:39,716 ANDI PENG: Ni kidogo suala gumu. 725 00:35:39,716 --> 00:35:43,110 726 00:35:43,110 --> 00:35:44,880 Ni kweli haina jambo katika mwisho. 727 00:35:44,880 --> 00:35:47,690 Haijalishi nini Ili kuchagua wabadilishane katika 728 00:35:47,690 --> 00:35:50,862 muda mrefu kama wewe ni kuhakikisha uko kuweka wimbo wa nini wewe swapping. 729 00:35:50,862 --> 00:35:52,250 >> Watazamaji: Ni inaweza kuwa safu-i. 730 00:35:52,250 --> 00:35:53,666 >> ANDI PENG: Yeah, hebu kufanya safu-i. 731 00:35:53,666 --> 00:35:55,950 732 00:35:55,950 --> 00:35:59,305 Na kisha nini mstari unaofuata wa kanuni tunataka kuwa na hapa? 733 00:35:59,305 --> 00:36:00,680 Watazamaji: safu-i sawa safu-j. 734 00:36:00,680 --> 00:36:07,154 735 00:36:07,154 --> 00:36:08,070 ANDI PENG: Na mwisho? 736 00:36:08,070 --> 00:36:12,070 Watazamaji: safu-j sawa na safu-i. 737 00:36:12,070 --> 00:36:14,525 Watazamaji: Au safu-j sawa safu-temp-- au, temp. 738 00:36:14,525 --> 00:36:17,135 739 00:36:17,135 --> 00:36:19,430 >> ANDI PENG: Sawa. 740 00:36:19,430 --> 00:36:21,510 Basi hebu kukimbia hii na kuona kama ni kwenda kufanya kazi. 741 00:36:21,510 --> 00:36:37,520 742 00:36:37,520 --> 00:36:39,335 Ambapo ni kwamba kinachotokea? 743 00:36:39,335 --> 00:36:40,210 Oh, hiyo ni tatizo. 744 00:36:40,210 --> 00:36:44,320 Angalia, kwenye mstari 40, tuko kujaribu kutumia safu-j? 745 00:36:44,320 --> 00:36:47,022 Lakini wapi j tu zipo katika? 746 00:36:47,022 --> 00:36:48,402 >> Watazamaji: Katika kwa kitanzi. 747 00:36:48,402 --> 00:36:49,110 ANDI PENG: Haki. 748 00:36:49,110 --> 00:36:51,730 Kwa hiyo kile ni sisi kwenda haja ya kufanya? 749 00:36:51,730 --> 00:36:53,170 >> Watazamaji: Define yake nje the-- 750 00:36:53,170 --> 00:36:57,777 751 00:36:57,777 --> 00:37:00,610 Watazamaji: Yeah, mimi nadhani una kutumia mwingine kama kauli, sawa? 752 00:37:00,610 --> 00:37:05,230 Hivyo kama, kama minimum-- sawa, basi mimi nadhani. 753 00:37:05,230 --> 00:37:08,170 754 00:37:08,170 --> 00:37:09,990 >> ANDI PENG: Guys, jaribu kuchukua kuangalia Hebu 755 00:37:09,990 --> 00:37:11,270 kuona, nini kitu tunaweza kufanya hapa? 756 00:37:11,270 --> 00:37:11,811 >> Watazamaji: Sawa. 757 00:37:11,811 --> 00:37:15,900 Hivyo kama kiwango cha chini haina sawa j-- hivyo bado kama kiwango cha chini ni i-- 758 00:37:15,900 --> 00:37:17,570 kisha tunataka kuwa wabadilishane. 759 00:37:17,570 --> 00:37:22,450 760 00:37:22,450 --> 00:37:24,712 >> ANDI PENG: Je, hiyo ni sawa i? 761 00:37:24,712 --> 00:37:25,920 Je, unataka kusema hapa? 762 00:37:25,920 --> 00:37:30,494 >> Watazamaji: Au ndiyo, ikiwa kiwango cha chini hana i si sawa, yeah. 763 00:37:30,494 --> 00:37:39,627 764 00:37:39,627 --> 00:37:40,210 ANDI PENG: Sawa. 765 00:37:40,210 --> 00:37:42,040 Vizuri kwamba kutatua, aina ya matatizo yetu. 766 00:37:42,040 --> 00:37:47,265 Lakini hiyo bado haina kutatua tatizo la kile kinachotokea kama j-- tangu j 767 00:37:47,265 --> 00:37:49,890 haipo nje ya hiyo, ni nini je, tunataka kufanya hivyo? 768 00:37:49,890 --> 00:37:50,698 Kuyatangaza nje? 769 00:37:50,698 --> 00:37:59,410 770 00:37:59,410 --> 00:38:02,730 Hebu jaribu mbio hii. 771 00:38:02,730 --> 00:38:04,435 Uh-oh. 772 00:38:04,435 --> 00:38:06,200 Aina yetu si kazi. 773 00:38:06,200 --> 00:38:10,060 >> Kama unaweza kuona, awali wetu safu alikuwa maadili hayo. 774 00:38:10,060 --> 00:38:14,800 Na baadaye ni lazima kuwa na wamekuwa katika 1, 2, 3, 4, 5, 6, 7, 8, 9. 775 00:38:14,800 --> 00:38:15,530 Siyo kazi. 776 00:38:15,530 --> 00:38:16,030 Ahh. 777 00:38:16,030 --> 00:38:17,184 Tufanye nini? 778 00:38:17,184 --> 00:38:17,850 Watazamaji: Debug. 779 00:38:17,850 --> 00:38:21,787 780 00:38:21,787 --> 00:38:23,370 ANDI PENG: zote haki, tunaweza kujaribu kuwa. 781 00:38:23,370 --> 00:38:25,030 Tunaweza Debug. 782 00:38:25,030 --> 00:38:26,042 Kuvuta nje kidogo. 783 00:38:26,042 --> 00:38:31,177 784 00:38:31,177 --> 00:38:33,656 Hebu kuweka breakpoint yetu. 785 00:38:33,656 --> 00:38:37,280 Hebu kwenda like-- sawa. 786 00:38:37,280 --> 00:38:40,444 >> Hivyo kwa sababu sisi tayari kujua kuwa mistari haya, 15 kwa njia ya 22 787 00:38:40,444 --> 00:38:43,610 ni working-- kwa sababu wote mimi nina kufanya ni tu iterating kupitia na printing-- 788 00:38:43,610 --> 00:38:45,406 Siwezi kwenda mbele na ruka hiyo. 789 00:38:45,406 --> 00:38:47,280 Hebu kuanza katika mstari wa 25. 790 00:38:47,280 --> 00:38:48,712 OOP, napenda kujikwamua huo. 791 00:38:48,712 --> 00:38:51,598 792 00:38:51,598 --> 00:38:54,057 >> Watazamaji: Hivyo breakpoint ya ambapo debugging kuanza? 793 00:38:54,057 --> 00:38:54,890 ANDI PENG: Au vituo. 794 00:38:54,890 --> 00:38:55,670 Watazamaji: Au vituo. 795 00:38:55,670 --> 00:38:55,930 ANDI PENG: Naam. 796 00:38:55,930 --> 00:38:58,640 Unaweza kuweka breakpoints nyingi na inaweza tu kuruka kutoka moja hadi nyingine. 797 00:38:58,640 --> 00:39:01,590 Lakini katika kesi hii hatujui ambapo kosa kinachotokea. 798 00:39:01,590 --> 00:39:03,780 Hivyo sisi tu wanataka kuanza kutoka juu kwenda chini. 799 00:39:03,780 --> 00:39:05,020 Yep. 800 00:39:05,020 --> 00:39:05,550 SAWA. 801 00:39:05,550 --> 00:39:08,460 >> Hivyo mstari huu hapa, tunaweza kuingilia kati. 802 00:39:08,460 --> 00:39:11,499 Unaweza kuona chini hapa, sisi tumepewa safu. 803 00:39:11,499 --> 00:39:13,290 Hayo ni maadili walio katika safu. 804 00:39:13,290 --> 00:39:16,360 Je, unaweza kuona kwamba, jinsi ripoti 0, ni sambamba na value-- loo, 805 00:39:16,360 --> 00:39:17,526 Mimi nina kwenda kujaribu kuvuta. 806 00:39:17,526 --> 00:39:20,650 Pole, ni vigumu kweli kwa see-- katika safu ripoti 0, 807 00:39:20,650 --> 00:39:24,090 tuna thamani ya 4 na kisha kadhalika na kadhalika. 808 00:39:24,090 --> 00:39:25,670 Tuna vigezo yetu ya ndani. 809 00:39:25,670 --> 00:39:28,570 Sasa hivi i ni sawa na 0, ambayo sisi unataka kuwa ni. 810 00:39:28,570 --> 00:39:31,540 811 00:39:31,540 --> 00:39:33,690 >> Na hivyo hebu kuweka wanazidi kupitia. 812 00:39:33,690 --> 00:39:36,850 Kiwango cha chini yetu ni sawa na 0, ambayo sisi pia unataka kuwa ni. 813 00:39:36,850 --> 00:39:39,470 814 00:39:39,470 --> 00:39:45,560 Na kisha sisi kuingia wa pili yetu kwa kitanzi, ikiwa safu-j ni chini ya safu-i, 815 00:39:45,560 --> 00:39:46,380 ambayo haikuwa hivyo. 816 00:39:46,380 --> 00:39:48,130 Hivyo, unaweza kuona jinsi gani kwamba skipped juu kwamba? 817 00:39:48,130 --> 00:39:52,430 >> Watazamaji: Hivyo lazima kama kiwango cha chini, kila that-- hawapaswi kuwa 818 00:39:52,430 --> 00:39:55,424 kuwa ndani ya kwanza kwa kitanzi? 819 00:39:55,424 --> 00:39:57,340 ANDI PENG: Hapana, kwa sababu wewe bado wanataka mtihani. 820 00:39:57,340 --> 00:40:00,329 Unataka kufanya kulinganisha kila muda, hata baada ya kukimbia kwa njia hiyo. 821 00:40:00,329 --> 00:40:02,620 Wewe hawataki tu ya kufanya hivyo siku ya kwanza kupita-kwa njia ya. 822 00:40:02,620 --> 00:40:05,240 Unataka kufanya hivyo kwa kupita kila ziada tena. 823 00:40:05,240 --> 00:40:07,198 Hivyo unataka kuangalia kwa hali yako ndani ya. 824 00:40:07,198 --> 00:40:11,610 825 00:40:11,610 --> 00:40:13,746 Hivyo sisi ni kwenda tu kwa kuweka mbio kupitia hapa. 826 00:40:13,746 --> 00:40:17,337 827 00:40:17,337 --> 00:40:18,420 Mimi nitakupa guys ladha. 828 00:40:18,420 --> 00:40:23,910 Ni ina nini na ukweli kwamba wakati wewe ni kuangalia masharti yako, 829 00:40:23,910 --> 00:40:26,600 wewe si kuangalia kwa ripoti sahihi. 830 00:40:26,600 --> 00:40:32,510 Hivyo sasa hivi uko kuangalia kwa safu ripoti ya j ni chini ya safu 831 00:40:32,510 --> 00:40:33,970 ripoti ya i. 832 00:40:33,970 --> 00:40:36,580 Lakini unafanya nini hadi saa mwanzo wa kwa kitanzi? 833 00:40:36,580 --> 00:40:38,260 Si wewe kuweka j sawa na i? 834 00:40:38,260 --> 00:40:41,260 835 00:40:41,260 --> 00:40:45,415 >> Yeah, hivyo tunaweza kweli kujinasua HatiJava hapa. 836 00:40:45,415 --> 00:40:47,040 Basi hebu tuangalie pseudocode yetu. 837 00:40:47,040 --> 00:40:50,070 838 00:40:50,070 --> 00:40:52,580 For-- tunakwenda kuanza saa i sawa 0. 839 00:40:52,580 --> 00:40:54,760 Tunakwenda kwenda n bala 1. 840 00:40:54,760 --> 00:40:58,040 Hebu angalia, je tuna kuwa sawa? 841 00:40:58,040 --> 00:40:59,580 Yep, kwamba alikuwa sahihi. 842 00:40:59,580 --> 00:41:02,080 >> Hivyo basi ndani ya hapa, tuko kwenda kujenga thamani ya chini 843 00:41:02,080 --> 00:41:03,630 na kuweka kwamba sawa na i. 844 00:41:03,630 --> 00:41:04,950 Je, sisi kufanya hivyo? 845 00:41:04,950 --> 00:41:06,270 Yep, alifanya hivyo. 846 00:41:06,270 --> 00:41:10,430 Sasa katika wetu wa ndani kwa kitanzi, tuko kwenda kufanya j sawa na i na n bala 1. 847 00:41:10,430 --> 00:41:11,950 Je, sisi kufanya hivyo? 848 00:41:11,950 --> 00:41:15,540 Kwa hakika, sisi alifanya hivyo. 849 00:41:15,540 --> 00:41:19,922 >> Hivyo hata hivyo, ni sisi kulinganisha hapa? 850 00:41:19,922 --> 00:41:20,925 >> Watazamaji: j pamoja na 1. 851 00:41:20,925 --> 00:41:21,716 ANDI PENG: Hasa. 852 00:41:21,716 --> 00:41:24,184 853 00:41:24,184 --> 00:41:27,350 Na kisha wewe ni kwenda unataka kuweka kiwango cha chini yako sawa na j pamoja na 1 vilevile. 854 00:41:27,350 --> 00:41:31,057 855 00:41:31,057 --> 00:41:32,640 Basi, mimi nikaenda kupitia kwamba kweli haraka. 856 00:41:32,640 --> 00:41:36,190 Je, guys kuelewa kwa nini ni j pamoja na 1? 857 00:41:36,190 --> 00:41:36,890 SAWA. 858 00:41:36,890 --> 00:41:40,700 >> Hivyo katika safu yako, katika kupita yako kwanza kwa njia, 859 00:41:40,700 --> 00:41:44,850 yako kwa kitanzi, kwa int i sawa 0, hebu tu 860 00:41:44,850 --> 00:41:46,740 kudhani hii haijawahi iliyopita bado. 861 00:41:46,740 --> 00:41:53,180 862 00:41:53,180 --> 00:41:56,760 Tuna safu ya, kabisa, zisizochambuliwa mambo manne tu, sawa? 863 00:41:56,760 --> 00:42:00,760 Hivyo tunataka initialize i sawa na 0. 864 00:42:00,760 --> 00:42:03,650 Na i ni kwenda tu kukimbia kwa njia ya kitanzi hii. 865 00:42:03,650 --> 00:42:08,560 Na hivyo katika kupita kwanza, tunakwenda initialize variable kuitwa "dk" 866 00:42:08,560 --> 00:42:11,245 kwamba pia ni sawa na i, kwa sababu hatuna thamani ya chini. 867 00:42:11,245 --> 00:42:12,870 Hivyo hiyo ni sasa sawa na 0 vilevile. 868 00:42:12,870 --> 00:42:16,182 869 00:42:16,182 --> 00:42:17,640 Na kisha tunakwenda kupitia. 870 00:42:17,640 --> 00:42:19,270 Na tunataka iterate tena. 871 00:42:19,270 --> 00:42:22,900 Sasa kwa kuwa tumekuwa kupatikana nini kiwango cha chini yetu ni, tunataka iterate kupitia 872 00:42:22,900 --> 00:42:25,190 tena ili kuona kama ni kulinganisha, sawa? 873 00:42:25,190 --> 00:42:40,440 Hivyo j, hapa, ni kwenda i sawa, ambayo ni 0. 874 00:42:40,440 --> 00:42:46,320 Na kisha kama safu j pamoja na i, ambayo ni moja kwamba ijayo juu, kama chini 875 00:42:46,320 --> 00:42:49,270 kuliko yale kiwango cha chini sasa wako thamani ya kitu, unataka wabadilishane. 876 00:42:49,270 --> 00:42:56,850 >> Basi hebu tu kusema tumekuwa got, kama, 2, 5, 1, 8. 877 00:42:56,850 --> 00:43:01,610 Hivi sasa, i ni sawa na 0 na j ni sawa na 0. 878 00:43:01,610 --> 00:43:05,210 Na hiyo ndiyo thamani yetu kiwango cha chini. 879 00:43:05,210 --> 00:43:09,950 Kama safu-j pamoja i-- hivyo kama moja hiyo ni baada ya moja sisi ni kuangalia 880 00:43:09,950 --> 00:43:13,450 ni mkubwa kuliko moja kabla yake, itakuja kuwa kiwango cha chini. 881 00:43:13,450 --> 00:43:18,120 >> Hivyo hapa tunaona kwamba 5 si chini ya hapo. 882 00:43:18,120 --> 00:43:19,730 Hivyo ni kwenda kwa kuwa 5. 883 00:43:19,730 --> 00:43:23,580 Tunaona kwamba 1 ni chini ya 2, sawa? 884 00:43:23,580 --> 00:43:32,970 Hivyo sasa tunajua kwamba kiwango cha chini yetu ni kwenda kuwa thamani index saa 0, 1, 2. 885 00:43:32,970 --> 00:43:34,030 Yeah? 886 00:43:34,030 --> 00:43:39,170 Na kisha wakati kupata chini hapa, unaweza wabadilishane maadili sahihi. 887 00:43:39,170 --> 00:43:42,610 >> Hivyo wakati nyie walikuwa kuwa tu j kabla, walikuwa hawaangalii moja 888 00:43:42,610 --> 00:43:43,260 baada yake. 889 00:43:43,260 --> 00:43:44,520 Wewe walikuwa kuangalia thamani sawa, ambayo 890 00:43:44,520 --> 00:43:46,290 Hii ndiyo sababu ni tu si kufanya kitu chochote. 891 00:43:46,290 --> 00:43:49,721 Je, hiyo mantiki kwa kila mtu, kwa nini sisi zinahitajika kuwa pamoja na 1 huko? 892 00:43:49,721 --> 00:43:50,220 SAWA. 893 00:43:50,220 --> 00:43:53,345 Sasa hebu kukimbia tu njia hiyo kufanya uhakika mapumziko ya kificho ni sahihi. 894 00:43:53,345 --> 00:44:04,424 895 00:44:04,424 --> 00:44:05,340 Kwa nini kuwa kinachotokea? 896 00:44:05,340 --> 00:44:14,780 897 00:44:14,780 --> 00:44:16,364 Ah, ni dk haki hapa. 898 00:44:16,364 --> 00:44:17,780 Tulikuwa kulinganisha thamani vibaya. 899 00:44:17,780 --> 00:44:24,944 900 00:44:24,944 --> 00:44:25,906 Oh no. 901 00:44:25,906 --> 00:44:30,720 902 00:44:30,720 --> 00:44:33,482 >> Oh yeah, chini hapa tulikuwa swapping maadili vibaya pia. 903 00:44:33,482 --> 00:44:34,940 Kwa sababu sisi walikuwa kuangalia i na j. 904 00:44:34,940 --> 00:44:36,440 Hao ndio tulikuwa kuangalia. 905 00:44:36,440 --> 00:44:39,160 Sisi kwa kweli unataka wabadilishane kiwango cha chini, kiwango cha chini ya sasa, 906 00:44:39,160 --> 00:44:40,550 na chochote nje moja ni. 907 00:44:40,550 --> 00:44:59,510 908 00:44:59,510 --> 00:45:05,402 Na kama nyie unaweza kuona chini hapa, tuna safu Iliyopangwa. 909 00:45:05,402 --> 00:45:07,110 Ni tu alikuwa na kufanya na ukweli kwamba wakati 910 00:45:07,110 --> 00:45:09,350 tulikuwa kuangalia maadili tulikuwa kulinganisha, 911 00:45:09,350 --> 00:45:11,226 sisi si kuangalia maadili ya haki. 912 00:45:11,226 --> 00:45:13,850 Tulikuwa tukiangalia moja sawa hapa, si kweli swapping yake. 913 00:45:13,850 --> 00:45:17,135 Una kuangalia moja ijayo kwa hiyo na kisha unaweza wabadilishane. 914 00:45:17,135 --> 00:45:19,260 Hivyo kwamba ni nini ilikuwa ni aina ya bugging kificho yetu kabla. 915 00:45:19,260 --> 00:45:22,460 Na nini mimi hapa ni kila kitu HatiJava wangefanya kwa wewe 916 00:45:22,460 --> 00:45:23,810 Mimi tu alifanya hivyo juu ya bodi, kwa sababu ni rahisi 917 00:45:23,810 --> 00:45:26,320 kuona badala ya kujaribu kuvuta juu ya HatiJava. 918 00:45:26,320 --> 00:45:29,391 Je, hiyo mantiki kwa kila mtu? 919 00:45:29,391 --> 00:45:29,890 Baridi. 920 00:45:29,890 --> 00:45:34,800 921 00:45:34,800 --> 00:45:35,410 >> Sawa. 922 00:45:35,410 --> 00:45:41,070 Tunaweza kuendelea na kuzungumza juu ya asymptotic nukuu, ambayo 923 00:45:41,070 --> 00:45:44,580 ni njia tu ya dhana ya kusema runtimes wa wote wa aina hii. 924 00:45:44,580 --> 00:45:47,650 Hivyo najua Daudi, katika hotuba, kuguswa juu runtimes. 925 00:45:47,650 --> 00:45:52,124 Katika safari hiyo alipitia fomula nzima ya jinsi ya mahesabu runtimes. 926 00:45:52,124 --> 00:45:53,040 Hakuna wasiwasi juu ya hilo. 927 00:45:53,040 --> 00:45:54,660 Kama wewe ni kweli wadadisi juu ya jinsi kazi, 928 00:45:54,660 --> 00:45:55,810 kujisikia huru kuzungumza na mimi baada ya sehemu. 929 00:45:55,810 --> 00:45:57,560 Tunaweza kutembea kwa njia ya kanuni kwa pamoja. 930 00:45:57,560 --> 00:46:00,689 Lakini nyie wote wana kwa kweli kujua ni kwamba n squared zaidi ya 2 931 00:46:00,689 --> 00:46:01,980 ni kitu kimoja kama n squared. 932 00:46:01,980 --> 00:46:04,710 Kwa sababu idadi kubwa, exponent, kukua zaidi. 933 00:46:04,710 --> 00:46:06,590 Na hivyo kwa madhumuni yetu, zote sisi huduma ya juu 934 00:46:06,590 --> 00:46:09,470 ni kwamba idadi kubwa hiyo kuongezeka. 935 00:46:09,470 --> 00:46:13,340 >> Kwa hiyo kile ni bora kesi Runtime ya uteuzi aina? 936 00:46:13,340 --> 00:46:15,830 Kama wewe ni kwenda kuwa na iterate kupitia orodha 937 00:46:15,830 --> 00:46:18,712 na kisha iterate kupitia wengine wa orodha hiyo, 938 00:46:18,712 --> 00:46:20,420 mara ngapi ni wewe kwenda pengine, 939 00:46:20,420 --> 00:46:24,612 katika case-- mbaya zaidi katika bora kesi, sorry-- kukimbia kwa njia ya? 940 00:46:24,612 --> 00:46:27,070 Labda swali bora ni kuuliza, ni nini hali mbaya 941 00:46:27,070 --> 00:46:28,153 Runtime ya uteuzi aina. 942 00:46:28,153 --> 00:46:29,366 Watazamaji: n squared. 943 00:46:29,366 --> 00:46:30,740 ANDI PENG: Ni n squared, haki. 944 00:46:30,740 --> 00:46:36,986 Hivyo njia rahisi kufikiria hii ni kama, wakati wowote una mbili Furushi kwa tanzi, 945 00:46:36,986 --> 00:46:38,110 itakuja kuwa n squared. 946 00:46:38,110 --> 00:46:40,386 Kwa sababu ni wewe si tu mbio kwa njia ya mara nyingine tena, 947 00:46:40,386 --> 00:46:42,260 una kwenda nyuma karibu na kukimbia kwa njia hiyo 948 00:46:42,260 --> 00:46:44,980 kwa mara nyingine tena ndani ya kwa kila thamani. 949 00:46:44,980 --> 00:46:48,640 Hivyo katika kesi hiyo, wewe ni mbio n Mara n squared, ambayo is-- pole, 950 00:46:48,640 --> 00:46:50,505 n mara n, ambayo ni sawa na n squared. 951 00:46:50,505 --> 00:46:53,230 952 00:46:53,230 --> 00:46:56,360 >> Na aina pia ni kidogo kipekee kwa maana 953 00:46:56,360 --> 00:46:59,774 kwamba haijalishi kama hizi maadili ni tayari kwa utaratibu. 954 00:46:59,774 --> 00:47:01,440 Ni bado kwenda kukimbia kupitia anyways. 955 00:47:01,440 --> 00:47:03,872 Hebu tu kusema hii ilikuwa 1, 2, 3, 4. 956 00:47:03,872 --> 00:47:07,080 Bila kujali kama au si ilikuwa ni katika Ili, bado ingekuwa mbio kwa njia ya 957 00:47:07,080 --> 00:47:08,620 na bado kuchunguzwa thamani ya chini. 958 00:47:08,620 --> 00:47:10,100 Ingekuwa na sawa idadi ya hundi 959 00:47:10,100 --> 00:47:12,780 kila wakati, hata kama ni hawakuwa kweli kugusa kitu chochote. 960 00:47:12,780 --> 00:47:16,940 >> Hivyo katika kesi hiyo, bora na mbaya zaidi runtimes ni kweli sawa. 961 00:47:16,940 --> 00:47:19,160 Hivyo Runtime inatarajiwa ya uteuzi aina, 962 00:47:19,160 --> 00:47:23,790 ambayo sisi mteule na ishara ya theta, theta, katika kesi hii, 963 00:47:23,790 --> 00:47:24,790 pia kuwa n squared. 964 00:47:24,790 --> 00:47:26,480 Yote matatu ya hizi itakuwa n squared. 965 00:47:26,480 --> 00:47:29,653 Ni kwa nini kila mtu wazi Runtime ni n squared? 966 00:47:29,653 --> 00:47:33,360 967 00:47:33,360 --> 00:47:33,980 >> Sawa. 968 00:47:33,980 --> 00:47:39,120 Hivyo mimi nina kwenda tu haraka kukimbia njia ya mapumziko ya kila aina. 969 00:47:39,120 --> 00:47:41,137 Algorithm kwa Bubble sort-- kumbuka, 970 00:47:41,137 --> 00:47:43,220 hii ilikuwa ni moja ya kwanza Daudi akaenda ng'ambo katika hotuba. 971 00:47:43,220 --> 00:47:46,000 Kimsingi, hatua kupitia orodha nzima 972 00:47:46,000 --> 00:47:48,950 na wewe swap-- wewe tu kulinganisha mbili kwa wakati mmoja. 973 00:47:48,950 --> 00:47:51,350 Kama mtu ni mkubwa, kuliko wewe tu wabadilishane yao. 974 00:47:51,350 --> 00:47:53,590 Hivyo kama haya ni makubwa, ungekuwa wabadilishane. 975 00:47:53,590 --> 00:47:56,180 Mimi nimepata rasmi hapa hapa. 976 00:47:56,180 --> 00:47:59,100 >> Basi hebu tu kusema alikuwa na 8, 6, 4, 2. 977 00:47:59,100 --> 00:48:00,571 Wewe d kulinganisha 8 na 6. 978 00:48:00,571 --> 00:48:01,570 Wewe d haja ya kubadilishana nao. 979 00:48:01,570 --> 00:48:02,610 Ungependa kulinganisha 8 na 4. 980 00:48:02,610 --> 00:48:03,609 Wewe d haja ya kubadilishana nao. 981 00:48:03,609 --> 00:48:07,000 Kama una wabadilishane 8 na 2, kuwabadilisha pia. 982 00:48:07,000 --> 00:48:10,760 Hivyo kwa mantiki hiyo, unaweza kuona, kucheza nje kwa kipindi cha muda mrefu, 983 00:48:10,760 --> 00:48:13,730 jinsi maadili aina ya Bubble ncha, ambayo ni kwa nini sisi kuiita 984 00:48:13,730 --> 00:48:15,320 Bubble aina. 985 00:48:15,320 --> 00:48:19,950 >> Tunataka tu kukimbia kwa njia tena juu ya kupita wetu wa pili, na kupita wetu wa tatu, 986 00:48:19,950 --> 00:48:21,150 na kupita yetu ya nne. 987 00:48:21,150 --> 00:48:25,820 Kimsingi, Bubble anaendesha aina tu mpaka hatuwezi kufanya swaps yoyote zaidi. 988 00:48:25,820 --> 00:48:31,109 Hivyo kwa maana kwamba, hii ni pseudocode ujumla kwa ajili yake. 989 00:48:31,109 --> 00:48:32,650 Hakuna wasiwasi, haya yote itakuwa online. 990 00:48:32,650 --> 00:48:34,990 Hatuna kwa kweli kwenda juu ya hili. 991 00:48:34,990 --> 00:48:38,134 >> Sisi tu initialize kukabiliana kutofautiana kwamba kuanza saa 0. 992 00:48:38,134 --> 00:48:39,800 Na sisi iterate kupitia safu nzima. 993 00:48:39,800 --> 00:48:43,420 Na kama thamani moja is-- kama hii thamani ni mkubwa kuliko thamani ya kuwa, 994 00:48:43,420 --> 00:48:44,610 wewe ni kwenda wabadilishane yao. 995 00:48:44,610 --> 00:48:46,860 Na kisha wewe tu kwenda kuendelea. 996 00:48:46,860 --> 00:48:47,970 Na wewe ni kwenda kuhesabu. 997 00:48:47,970 --> 00:48:50,845 Na wewe ni kwenda tu kuendelea kufanya hii wakati kukabiliana ni mkubwa 998 00:48:50,845 --> 00:48:53,345 kuliko 0, ambayo ina maana kwamba kila wakati una wabadilishane, 999 00:48:53,345 --> 00:48:55,220 unajua unataka kwenda nyuma na kuangalia tena. 1000 00:48:55,220 --> 00:48:59,510 Unataka kuweka kuangalia mpaka unajua kwamba huna wabadilishane tena. 1001 00:48:59,510 --> 00:49:05,570 >> Kwa hiyo kile ni bora na mbaya zaidi kesi runtimes kwa Bubble aina? 1002 00:49:05,570 --> 00:49:09,300 Na hint-- huu ni tofauti kutoka uteuzi aina katika akili 1003 00:49:09,300 --> 00:49:11,810 kwamba baadhi ya majibu haya mawili si sawa. 1004 00:49:11,810 --> 00:49:14,709 Fikiria juu ya nini kitatokea katika kesi kama hiyo ilikuwa tayari Iliyopangwa. 1005 00:49:14,709 --> 00:49:16,500 Na kufikiri kuhusu nini kitafanyika kama ilivyokuwa 1006 00:49:16,500 --> 00:49:18,372 katika kesi ambayo haikuwa yamepangwa. 1007 00:49:18,372 --> 00:49:20,580 Na unaweza aina ya kuendesha kupitia kwa nini kinatokea. 1008 00:49:20,580 --> 00:49:22,954 Mimi nitakupa guys, kama, 30 sekunde kufikiri kuhusu hilo. 1009 00:49:22,954 --> 00:49:52,330 1010 00:49:52,330 --> 00:49:53,540 >> SAWA. 1011 00:49:53,540 --> 00:49:57,462 Je, mtu yeyote kuwa na nadhani katika nini kesi mbaya Runtime ya Bubble aina ni? 1012 00:49:57,462 --> 00:49:57,962 Naam. 1013 00:49:57,962 --> 00:50:07,810 >> Watazamaji: Je, ni kuwa, kama, n mara n bala 1 au kitu kama hicho? 1014 00:50:07,810 --> 00:50:10,650 Kama, kila wakati anaendesha, ni tu, kama, wabadilishane moja chini 1015 00:50:10,650 --> 00:50:10,960 kwamba chochote hivyo. 1016 00:50:10,960 --> 00:50:12,668 >> ANDI PENG: Yeah, hivyo wewe ni haki kabisa. 1017 00:50:12,668 --> 00:50:15,940 Na hii ni kesi ambayo yako Jibu lilikuwa kweli ngumu zaidi 1018 00:50:15,940 --> 00:50:17,240 ya moja tunahitaji kuwapa. 1019 00:50:17,240 --> 00:50:19,772 Hivyo ni kwenda kwa run-- mimi nina kwenda kufuta yote haya hapa. 1020 00:50:19,772 --> 00:50:20,480 Ni kila mtu mwema? 1021 00:50:20,480 --> 00:50:21,869 Naweza kufuta hili? 1022 00:50:21,869 --> 00:50:22,368 SAWA. 1023 00:50:22,368 --> 00:50:27,904 1024 00:50:27,904 --> 00:50:30,320 Wewe ni kwenda kukimbia kwa njia ya n Mara kwa mara ya kwanza, sawa? 1025 00:50:30,320 --> 00:50:33,200 Na wao wanaenda kukimbia kwa njia ya n bala 1 mara ya pili, sawa? 1026 00:50:33,200 --> 00:50:37,130 Na kisha wewe ni kwenda kuweka kwenda, n yangu 2, nakadhalika. 1027 00:50:37,130 --> 00:50:40,210 Daudi alifanya hivyo katika hotuba, ambapo, kama wewe aliongeza up maadili wale wote, 1028 00:50:40,210 --> 00:50:48,080 kupata kitu ambacho ni like-- yeah-- zaidi ya 2, ambayo kimsingi tu inapunguza 1029 00:50:48,080 --> 00:50:49,784 chini ya n squared. 1030 00:50:49,784 --> 00:50:51,700 Wewe ni kwenda kupata sehemu weird katika huko. 1031 00:50:51,700 --> 00:50:53,892 Na hivyo tu kujua kwamba n squared daima 1032 00:50:53,892 --> 00:50:55,350 inachukua precedence juu ya sehemu. 1033 00:50:55,350 --> 00:50:58,450 Na hivyo katika kesi hii, mbaya Runtime itakuwa n squared. 1034 00:50:58,450 --> 00:51:00,210 Kama ilivyokuwa katika kushuka ili, kufikiri, wewe 1035 00:51:00,210 --> 00:51:02,530 Una kufanya wabadilishane kila wakati. 1036 00:51:02,530 --> 00:51:05,170 >> Nini itakuwa, uwezekano, bora kesi Runtime? 1037 00:51:05,170 --> 00:51:08,580 Hebu sema tu, kama orodha alikuwa tayari ili, gani Runtime kuwa? 1038 00:51:08,580 --> 00:51:09,565 >> Watazamaji: n. 1039 00:51:09,565 --> 00:51:10,690 ANDI PENG: Ni n, hasa. 1040 00:51:10,690 --> 00:51:11,600 Na kwa nini ni n? 1041 00:51:11,600 --> 00:51:13,850 Watazamaji: Kwa sababu wewe tu kuwa na kuangalia juu ya kila mmoja. 1042 00:51:13,850 --> 00:51:14,770 ANDI PENG: Hasa. 1043 00:51:14,770 --> 00:51:17,150 Hivyo katika bora Runtime, kama orodha hii alikuwa tayari 1044 00:51:17,150 --> 00:51:20,270 sorted-- hebu sema 1, 2, 3, 4-- wewe ingekuwa tu kwenda kwa njia ya, ungekuwa kuangalia, 1045 00:51:20,270 --> 00:51:21,720 ungependa kuona, loo, wote sufuria nje. 1046 00:51:21,720 --> 00:51:22,636 Sikuwa na wabadilishane. 1047 00:51:22,636 --> 00:51:23,370 Nimemaliza. 1048 00:51:23,370 --> 00:51:26,500 Hivyo katika kesi hiyo, ni tu n au idadi ya hatua wewe tu 1049 00:51:26,500 --> 00:51:29,870 alikuwa na kuangalia katika orodha ya kwanza. 1050 00:51:29,870 --> 00:51:33,990 >> Na baada, sisi sasa kugonga kuingizwa aina, ambapo 1051 00:51:33,990 --> 00:51:39,260 algorithm kimsingi ni kwa mgawanyiko ndani yamepangwa na zisizochambuliwa sehemu. 1052 00:51:39,260 --> 00:51:42,810 Na kisha moja kwa moja, maadili zisizochambuliwa ni 1053 00:51:42,810 --> 00:51:46,880 kuingizwa katika sahihi zao vyeo katika mwanzo wa orodha. 1054 00:51:46,880 --> 00:51:52,120 >> Hivyo kwa mfano, tuna orodha ya 3, 5, 2, 6, 4 tena. 1055 00:51:52,120 --> 00:51:54,750 Tunajua kwamba ni sasa zisizochambuliwa kwa sababu tumekuwa tu 1056 00:51:54,750 --> 00:51:57,030 kuanza kuangalia saa yake. 1057 00:51:57,030 --> 00:52:00,610 Sisi kuangalia na tunajua kwamba thamani kwanza ni yamepangwa, sawa? 1058 00:52:00,610 --> 00:52:04,190 Kama wewe ni tu kuangalia safu ya ukubwa moja, unajua kwamba ni yamepangwa. 1059 00:52:04,190 --> 00:52:08,230 >> Hivyo basi tunajua kwamba wengine wanne ni zisizochambuliwa. 1060 00:52:08,230 --> 00:52:10,980 Sisi kwenda kwa njia na tunaona thamani hiyo. 1061 00:52:10,980 --> 00:52:11,730 Hebu kwenda nyuma. 1062 00:52:11,730 --> 00:52:13,130 Kuona kwamba thamani ya 5? 1063 00:52:13,130 --> 00:52:14,110 Sisi kuangalia yake. 1064 00:52:14,110 --> 00:52:15,204 Sisi kulinganisha kwa 3. 1065 00:52:15,204 --> 00:52:17,870 Tunajua kwamba ni mkubwa kuliko 3, hivyo tunajua kwamba hiyo ni vyema. 1066 00:52:17,870 --> 00:52:22,940 Hivyo sisi sasa tunajua kuwa mbili ya kwanza ni vyema na mitatu iliyopita si. 1067 00:52:22,940 --> 00:52:24,270 >> Sisi kuangalia 2. 1068 00:52:24,270 --> 00:52:25,720 Sisi kwanza kuangalia ni kwa 5. 1069 00:52:25,720 --> 00:52:26,700 Je, ni chini ya 5? 1070 00:52:26,700 --> 00:52:27,240 Siyo. 1071 00:52:27,240 --> 00:52:29,510 Hivyo tuna kuweka kuangalia chini. 1072 00:52:29,510 --> 00:52:30,940 Basi angalia 2 mbali 3. 1073 00:52:30,940 --> 00:52:31,850 Je, ni chini ya? 1074 00:52:31,850 --> 00:52:32,350 Hakuna 1075 00:52:32,350 --> 00:52:35,430 Hivyo unajua 2 ana kuingizwa ndani ya mbele na 3 na 5 1076 00:52:35,430 --> 00:52:38,200 wote wana kwa kusukuma nje. 1077 00:52:38,200 --> 00:52:42,190 Kufanya hivyo tena na 6 na 4. 1078 00:52:42,190 --> 00:52:48,962 Na sisi tu kuendelea kuangalia kimsingi, ambapo sisi tu kuangalia, kuangalia, kuangalia. 1079 00:52:48,962 --> 00:52:51,170 Na mpaka ni katika haki msimamo, sisi aina ya tu 1080 00:52:51,170 --> 00:52:54,890 kuingiza ndani ya nafasi ya haki, ambayo ni wapi jina la ulitoka. 1081 00:52:54,890 --> 00:52:59,830 >> Hivyo hiyo ni algorithm, pseudocode per se, aina ya, 1082 00:52:59,830 --> 00:53:04,990 juu ya jinsi gani tunataka kutekeleza kuingizwa aina. 1083 00:53:04,990 --> 00:53:05,954 Pseudocode ni hapa. 1084 00:53:05,954 --> 00:53:06,620 Ni wote online. 1085 00:53:06,620 --> 00:53:10,720 Hakuna wasiwasi kama wewe guys ni kujaribu nakala hii chini. 1086 00:53:10,720 --> 00:53:14,500 Hivyo mara nyingine tena, huo question-- nini Itakuwa bora na runtimes mbaya 1087 00:53:14,500 --> 00:53:16,120 kwa kuingizwa aina? 1088 00:53:16,120 --> 00:53:17,750 Ni sawa na swali la mwisho. 1089 00:53:17,750 --> 00:53:20,479 Mimi nitakupa guys, kama, 30 sekunde kufikiri kuhusu huu pia. 1090 00:53:20,479 --> 00:53:47,150 1091 00:53:47,150 --> 00:53:50,071 >> OK Je, mtu yeyote wanataka nipe mbaya Runtime? 1092 00:53:50,071 --> 00:53:50,570 Naam. 1093 00:53:50,570 --> 00:53:51,490 >> Watazamaji: n squared. 1094 00:53:51,490 --> 00:53:52,573 >> ANDI PENG: Ni n squared. 1095 00:53:52,573 --> 00:53:53,730 Na kwa nini ni n squared? 1096 00:53:53,730 --> 00:53:57,562 >> Watazamaji: Kwa sababu katika ili reverse, una 1097 00:53:57,562 --> 00:54:02,619 kwenda kwa nyakati n n, ambayo is-- 1098 00:54:02,619 --> 00:54:03,660 ANDI PENG: Yeah, kwa uhakika. 1099 00:54:03,660 --> 00:54:06,610 Jambo hivyo kama hicho katika aina Bubble. 1100 00:54:06,610 --> 00:54:08,720 Kama orodha hii ni katika utaratibu wa kushuka, wewe ni 1101 00:54:08,720 --> 00:54:11,240 kwenda na kuangalia mara moja kwanza. 1102 00:54:11,240 --> 00:54:13,470 Na kisha kwa kila thamani ya ziada, wewe ni 1103 00:54:13,470 --> 00:54:16,390 kwenda na kuangalia ni juu ya kila thamani moja, sawa? 1104 00:54:16,390 --> 00:54:20,290 Na hivyo kabisa, wewe ni kwenda kufanya mara n kupita mwingine n kupita, ambayo 1105 00:54:20,290 --> 00:54:21,750 ni n squared. 1106 00:54:21,750 --> 00:54:22,860 Je kuhusu kesi bora? 1107 00:54:22,860 --> 00:54:24,360 Naam. 1108 00:54:24,360 --> 00:54:28,840 >> Watazamaji: N bala 1, kwa sababu Wa kwanza tayari mraba. 1109 00:54:28,840 --> 00:54:30,270 >> ANDI PENG: Kwa hiyo, karibu. 1110 00:54:30,270 --> 00:54:31,850 Jibu ni kweli n. 1111 00:54:31,850 --> 00:54:37,189 Kwa sababu wakati mmoja kwanza ni yamepangwa, inaweza actually-- ni 1112 00:54:37,189 --> 00:54:38,980 sisi tu lucked nje, katika mfano ile, 2 1113 00:54:38,980 --> 00:54:40,930 kilichotokea kwa kuwa idadi ndogo. 1114 00:54:40,930 --> 00:54:43,680 Lakini hiyo si mara zote kuwa kesi. 1115 00:54:43,680 --> 00:54:48,040 Kama 2 tayari Iliyopangwa katika mwanzo lakini ukiangalia na kuna 1 hapa, 1116 00:54:48,040 --> 00:54:49,144 1 ni kwenda mapema yake. 1117 00:54:49,144 --> 00:54:51,060 Na ni kwenda mwisho up kuwa bumped anyways. 1118 00:54:51,060 --> 00:54:56,250 >> Hivyo katika bora kesi, ni kweli tu kwenda kuwa n. 1119 00:54:56,250 --> 00:54:59,090 Kama una 1, 2, 3, 4, 5, 6, 7, 8, uko 1120 00:54:59,090 --> 00:55:00,940 kwenda kukimbia kupitia orodha hiyo nzima mara moja 1121 00:55:00,940 --> 00:55:03,430 kuangalia ili kuona kama faini kila kitu. 1122 00:55:03,430 --> 00:55:07,390 Ni kila mtu wazi juu ya mbio nyakati za uteuzi vile vile? 1123 00:55:07,390 --> 00:55:09,960 Najua mimi nina kwenda kupitia hizi kweli kasi. 1124 00:55:09,960 --> 00:55:13,330 Lakini tu kujua kwamba kama unajua dhana ujumla, unapaswa kuwa nzuri. 1125 00:55:13,330 --> 00:55:16,070 SAWA. 1126 00:55:16,070 --> 00:55:19,790 Hivyo mimi itabidi kukupa guys labda, kama, dakika ya kuzungumza na majirani wako 1127 00:55:19,790 --> 00:55:21,890 juu ya nini ni baadhi tu ya tofauti kubwa 1128 00:55:21,890 --> 00:55:23,540 kati ya aina hizi za kila aina. 1129 00:55:23,540 --> 00:56:24,571 1130 00:56:24,571 --> 00:56:25,570 Tutaweza kwenda juu kwamba hivi karibuni. 1131 00:56:25,570 --> 00:56:26,444 Watazamaji: Oh, Sawa. 1132 00:56:26,444 --> 00:56:27,320 ANDI PENG: Naam. 1133 00:56:27,320 --> 00:56:28,380 SAWA. 1134 00:56:28,380 --> 00:56:33,420 Baridi, hebu kuitisha kama darasa. 1135 00:56:33,420 --> 00:56:34,330 SAWA. 1136 00:56:34,330 --> 00:56:37,579 Hivyo hii ilikuwa ni aina ya sifunge swali katika akili 1137 00:56:37,579 --> 00:56:39,120 kwamba kuna kura ya majibu yao. 1138 00:56:39,120 --> 00:56:40,746 Na tutaweza kwenda juu baadhi yao kwa ufupi. 1139 00:56:40,746 --> 00:56:43,411 Mimi nilitaka kupata nyie kufikiri juu ya nini tofauti 1140 00:56:43,411 --> 00:56:44,530 aina zote tatu za kila aina. 1141 00:56:44,530 --> 00:56:47,440 Kisha nikasikia, pia, mkubwa question-- nini kuunganisha aina gani? 1142 00:56:47,440 --> 00:56:50,110 Mkuu swali, kwa sababu hiyo nini sisi ni kufunika ijayo. 1143 00:56:50,110 --> 00:56:52,850 >> Hivyo kuunganisha aina ni moja aina hiyo kazi 1144 00:56:52,850 --> 00:56:56,100 tofauti sana kutoka aina nyingine. 1145 00:56:56,100 --> 00:56:58,180 Kama wewe guys unaweza see-- Daudi kufanya hivyo demo 1146 00:56:58,180 --> 00:57:01,130 ambako alikuwa yote ya baridi noises ya kuona jinsi kuunganisha 1147 00:57:01,130 --> 00:57:04,010 aina mbio, kama, kubwa kasi zaidi kuliko nyingine aina mbili? 1148 00:57:04,010 --> 00:57:04,510 SAWA. 1149 00:57:04,510 --> 00:57:07,580 Hivyo hiyo ni kwa sababu kuunganisha aina ya zana kwamba mgawanyiko 1150 00:57:07,580 --> 00:57:11,020 na kushinda dhana kwamba tumekuwa kuongelea mengi katika hotuba. 1151 00:57:11,020 --> 00:57:14,550 Katika kwamba maana ya kwamba sisi kama kufanya kazi nadhifu, si vigumu, wakati wewe kugawanya 1152 00:57:14,550 --> 00:57:18,120 na kushinda matatizo, na kuvunja yao chini, na kisha kuziweka pamoja, 1153 00:57:18,120 --> 00:57:19,930 mambo mema daima kutokea. 1154 00:57:19,930 --> 00:57:21,960 >> Hivyo njia kwamba kuunganisha aina kimsingi kazi 1155 00:57:21,960 --> 00:57:24,660 ni kwamba mgawanyiko zisizochambuliwa safu katika nusu. 1156 00:57:24,660 --> 00:57:26,500 Na kisha ni got nusu mbili za arrays. 1157 00:57:26,500 --> 00:57:28,220 Na ni haki wale aina nusu mbili. 1158 00:57:28,220 --> 00:57:31,750 Ni kuvaa tu kugawa katika nusu, katika nusu, katika nusu mpaka kila kitu ni yamepangwa 1159 00:57:31,750 --> 00:57:33,680 na kisha recursively kuiweka wote kwa pamoja. 1160 00:57:33,680 --> 00:57:36,550 >> Hivyo hiyo ni kweli abstract. 1161 00:57:36,550 --> 00:57:38,750 Hivyo hii ni kidogo tu ya pseudocode. 1162 00:57:38,750 --> 00:57:41,040 Je, hiyo mantiki katika njia ni mbio? 1163 00:57:41,040 --> 00:57:43,870 Basi hebu tu kusema una safu ya vipengele n, haki? 1164 00:57:43,870 --> 00:57:45,450 Kama n ni chini ya 2, unaweza kurudi. 1165 00:57:45,450 --> 00:57:49,040 Kwa sababu unajua kwamba kama kuna jambo moja tu, ni lazima kutatuliwa. 1166 00:57:49,040 --> 00:57:52,600 Kingine chochote, wewe kutatua nusu kushoto, na kisha kutatua nusu ya haki, 1167 00:57:52,600 --> 00:57:54,140 na kisha kuunganisha. 1168 00:57:54,140 --> 00:57:56,979 >> Hivyo wakati kwamba inaonekana kweli ni rahisi, katika hali halisi, kufikiri kuhusu ni 1169 00:57:56,979 --> 00:58:00,270 aina ya magumu. Kwa sababu wewe ni kama, vizuri, hiyo ni aina ya mbio juu ya yenyewe. 1170 00:58:00,270 --> 00:58:00,769 Sawa? 1171 00:58:00,769 --> 00:58:02,430 Ni mbio juu ya yenyewe. 1172 00:58:02,430 --> 00:58:05,479 Hivyo kwa maana kwamba, Daudi kuguswa juu ya kujirudia katika darasa. 1173 00:58:05,479 --> 00:58:07,270 Na hiyo ndiyo dhana tutaweza majadiliano juu zaidi. 1174 00:58:07,270 --> 00:58:11,430 Ni kwamba hii, mistari hizi mbili hapa, kwa kweli ni tu mpango 1175 00:58:11,430 --> 00:58:13,860 kuwaambia ni kukimbia yenyewe na pembejeo mbalimbali. 1176 00:58:13,860 --> 00:58:17,230 Hivyo badala ya kukimbia yenyewe na ukamilifu wa mambo n, 1177 00:58:17,230 --> 00:58:20,530 unaweza kuvunja chini katika nusu kushoto na nusu haki 1178 00:58:20,530 --> 00:58:22,680 na kisha kukimbia tena. 1179 00:58:22,680 --> 00:58:26,050 >> Na kisha tutaangalia ni kuibua, kwa sababu mimi nina mwanafunzi Visual. 1180 00:58:26,050 --> 00:58:27,270 Ni kazi bora kwa ajili yangu. 1181 00:58:27,270 --> 00:58:29,890 Hivyo tutaangalia mfano Visual hapa. 1182 00:58:29,890 --> 00:58:36,237 >> Hebu sema tuna safu, sita vipengele, 3, 5, 2, 6, 4, 1, si yamepangwa. 1183 00:58:36,237 --> 00:58:37,820 Haki wote, kuna mengi kwenye ukurasa huu. 1184 00:58:37,820 --> 00:58:43,179 Hivyo kama wewe guys unaweza kuangalia Hatua ya kwanza hapa, 3, 5, 2, 6, 4, 1, 1185 00:58:43,179 --> 00:58:44,220 unaweza kupasuliwa katika nusu. 1186 00:58:44,220 --> 00:58:45,976 Una 3, 5, 2, 6, 4, 1. 1187 00:58:45,976 --> 00:58:48,850 Unajua kwamba hawa aren't-- wewe sijui kama wao ni yamepangwa au la, 1188 00:58:48,850 --> 00:58:52,517 hivyo kuweka kuvunja yao chini, katika nusu, katika nusu, katika nusu, mpaka hatimaye, 1189 00:58:52,517 --> 00:58:53,600 wewe tu na kipengele moja. 1190 00:58:53,600 --> 00:58:56,790 Na kipengele moja daima ni vyema, sawa? 1191 00:58:56,790 --> 00:59:01,560 >> Hivyo tunajua kwamba 3, 5, 2, 4, 6, 1, kwa wenyewe, ni vyema. 1192 00:59:01,560 --> 00:59:05,870 Na sasa tunaweza kuziweka nyuma pamoja. 1193 00:59:05,870 --> 00:59:07,510 Hivyo tunajua 3, 5. 1194 00:59:07,510 --> 00:59:08,510 Sisi kuweka wale pamoja. 1195 00:59:08,510 --> 00:59:09,617 Tunajua kwamba Iliyopangwa. 1196 00:59:09,617 --> 00:59:10,450 Ya 2 bado yapo. 1197 00:59:10,450 --> 00:59:11,830 Tunaweza kuweka 4 na 6 pamoja. 1198 00:59:11,830 --> 00:59:13,996 Tunajua kwamba hiyo ni vyema, hivyo sisi kuweka kwamba pamoja. 1199 00:59:13,996 --> 00:59:14,940 Na 1 ni huko. 1200 00:59:14,940 --> 00:59:18,720 >> Na kisha tu kuangalia nusu hizi mbili hapa hapa. 1201 00:59:18,720 --> 00:59:21,300 Una 3, 5, 2, 2, 3, 5. 1202 00:59:21,300 --> 00:59:23,465 Unaweza tu kulinganisha mwanzo wa kila kitu. 1203 00:59:23,465 --> 00:59:26,340 Kwa sababu unajua kwamba hii ni Iliyopangwa na unajua kwamba hiyo ni vyema. 1204 00:59:26,340 --> 00:59:29,360 Hivyo basi huna hata kuwa na kulinganisha 5, wewe tu kulinganisha 3. 1205 00:59:29,360 --> 00:59:32,070 Na 2 ni chini ya 3, hivyo unajua 2 lazima uende katika mwisho. 1206 00:59:32,070 --> 00:59:33,120 >> Same kitu zaidi ya hapo. 1207 00:59:33,120 --> 00:59:34,740 1 lazima uende hapa. 1208 00:59:34,740 --> 00:59:37,330 Na kisha wakati wewe kwenda kuweka wale maadili mbili kwa pamoja, 1209 00:59:37,330 --> 00:59:39,950 unajua kwamba hii ni yamepangwa na unajua kwamba kwamba ni yamepangwa. 1210 00:59:39,950 --> 00:59:43,240 Hivyo basi 1 na 2, 1 ni chini ya 2. 1211 00:59:43,240 --> 00:59:45,570 Hiyo atakwambia kwamba 1 anatakiwa kwenda juu ya mwishoni mwa hii 1212 00:59:45,570 --> 00:59:47,480 bila hata kuangalia 3 au 5. 1213 00:59:47,480 --> 00:59:50,100 Na kisha 4, unaweza tu kuangalia, unaendelea haki katika hapa. 1214 00:59:50,100 --> 00:59:51,480 Huwezi kuwa na kuangalia 5. 1215 00:59:51,480 --> 00:59:52,570 Same kitu na 6. 1216 00:59:52,570 --> 00:59:55,860 Unajua kwamba 6-- tu haina haja ya kuwa inaonekana. 1217 00:59:55,860 --> 00:59:57,870 >> Na hivyo kwa njia hiyo, uko tu kuokoa mwenyewe 1218 00:59:57,870 --> 00:59:59,526 mengi ya hatua wakati wewe ni kulinganisha. 1219 00:59:59,526 --> 01:00:02,150 Huwezi kuwa na kulinganisha kila kipengele dhidi mambo mengine. 1220 01:00:02,150 --> 01:00:05,230 Wewe tu kulinganisha dhidi ya wale kwamba unahitaji kulinganisha dhidi ya. 1221 01:00:05,230 --> 01:00:06,870 Hivyo hiyo ni aina ya dhana ya kufikirika. 1222 01:00:06,870 --> 01:00:10,540 Hakuna wasiwasi kama si kabisa kupiga wewe haki bado. 1223 01:00:10,540 --> 01:00:14,740 Lakini kwa ujumla, hii ni jinsi aina kuunganisha kazi. 1224 01:00:14,740 --> 01:00:17,750 Maswali, maswali ya haraka, kabla mimi hoja juu ya? 1225 01:00:17,750 --> 01:00:18,550 Naam. 1226 01:00:18,550 --> 01:00:22,230 >> Watazamaji: Hivyo wewe alisema kwamba kuchukua 1, na kisha 4, na 6 1227 01:00:22,230 --> 01:00:23,860 na kuziweka katika. 1228 01:00:23,860 --> 01:00:26,800 Hivyo si those-- si wewe kuangalia yao 1229 01:00:26,800 --> 01:00:28,544 kama mambo tofauti, si kwa ujumla? 1230 01:00:28,544 --> 01:00:29,210 ANDI PENG: Naam. 1231 01:00:29,210 --> 01:00:32,020 Hivyo nini kinatokea ni kwamba kimsingi 1232 01:00:32,020 --> 01:00:33,650 ni kujenga bidhaa mpya safu. 1233 01:00:33,650 --> 01:00:36,690 Hivyo, unajua kwamba, hapa, nina arrays wawili wa ukubwa 3, sawa? 1234 01:00:36,690 --> 01:00:39,600 Hivyo, unajua kwamba safu yangu Iliyopangwa anahitaji kuwa na mambo sita. 1235 01:00:39,600 --> 01:00:42,270 Hivyo tu kujenga Kiasi mpya wa kumbukumbu. 1236 01:00:42,270 --> 01:00:44,270 Hivyo wewe ni aina ya kama kuwa fujo ya kumbukumbu, 1237 01:00:44,270 --> 01:00:46,186 lakini hiyo haina jambo kwa sababu ni ndogo sana. 1238 01:00:46,186 --> 01:00:48,590 Hivyo ukiangalia 1 na ukiangalia 2. 1239 01:00:48,590 --> 01:00:50,770 Na unajua kwamba 1 ni chini ya 2. 1240 01:00:50,770 --> 01:00:53,840 Hivyo, unajua kwamba unapaswa kwenda katika 1 mwanzo wa wale wote. 1241 01:00:53,840 --> 01:00:55,850 >> Huwezi hata haja ya tuangalie 3 na 5. 1242 01:00:55,850 --> 01:00:57,400 Hivyo unajua 1 unaendelea huko. 1243 01:00:57,400 --> 01:00:59,300 Basi kimsingi Night mbali 1. 1244 01:00:59,300 --> 01:01:00,370 Ni, kama, amekufa kwetu. 1245 01:01:00,370 --> 01:01:03,690 Kisha sisi tu 2, 3, 5, na kisha 4 na 6. 1246 01:01:03,690 --> 01:01:06,270 Na kisha, unajua kwamba, wewe kulinganisha 4 na 2, 1247 01:01:06,270 --> 01:01:07,560 loo, 2 aende huko. 1248 01:01:07,560 --> 01:01:09,685 Hivyo plop 2 chini, kuwakata ni mbali. 1249 01:01:09,685 --> 01:01:12,060 Hivyo basi wewe tu na 3 na 5 katika 4 na 6. 1250 01:01:12,060 --> 01:01:14,650 Na wewe tu kuendelea ukataji ni mbali mpaka akawapanga. 1251 01:01:14,650 --> 01:01:17,110 >> Watazamaji: Hivyo wewe tu daima kulinganisha [inaudible]? 1252 01:01:17,110 --> 01:01:17,710 >> ANDI PENG: Hasa. 1253 01:01:17,710 --> 01:01:19,590 Hivyo kwa maana kwamba, wewe ni kulinganisha tu, kimsingi, 1254 01:01:19,590 --> 01:01:21,240 namba moja dhidi namba nyingine. 1255 01:01:21,240 --> 01:01:22,990 Na kwa sababu unajua kwamba ni vyema, wewe 1256 01:01:22,990 --> 01:01:24,350 hawana kuangalia njia wote wa idadi. 1257 01:01:24,350 --> 01:01:25,870 Wewe tu na kuangalia moja ya kwanza. 1258 01:01:25,870 --> 01:01:27,582 Na kisha unaweza tu plop yao chini, kwa sababu unajua 1259 01:01:27,582 --> 01:01:29,640 wao ni ambapo wao wanahitaji mali. 1260 01:01:29,640 --> 01:01:31,030 Naam. 1261 01:01:31,030 --> 01:01:32,920 Nzuri swali. 1262 01:01:32,920 --> 01:01:35,290 >> Na kisha kama mmoja wenu ni kidogo kabambe, 1263 01:01:35,290 --> 01:01:38,660 kujisikia huru na kuangalia kanuni hii. 1264 01:01:38,660 --> 01:01:40,680 Hii ni kweli utekelezaji wa kimwili 1265 01:01:40,680 --> 01:01:42,150 jinsi tunataka kuandika kuunganisha aina. 1266 01:01:42,150 --> 01:01:44,070 Na unaweza kuona, ni mfupi sana. 1267 01:01:44,070 --> 01:01:46,310 Lakini mawazo nyuma ni ni pretty ngumu. 1268 01:01:46,310 --> 01:01:50,865 Hivyo kama wewe kujisikia kama kuchora hii nje katika kazi yako ya nyumbani usiku wa leo, kujisikia huru na. 1269 01:01:50,865 --> 01:01:54,050 1270 01:01:54,050 --> 01:01:54,740 >> SAWA. 1271 01:01:54,740 --> 01:01:58,070 Basi Daudi pia wakaenda upande wa pili huu katika hotuba. 1272 01:01:58,070 --> 01:02:00,660 Je, ni kesi bora runtimes, kesi runtimes mbaya, 1273 01:02:00,660 --> 01:02:05,680 na runtimes inatarajiwa ya kuunganisha aina? 1274 01:02:05,680 --> 01:02:07,260 Sekunde kadhaa kufikiri. 1275 01:02:07,260 --> 01:02:11,198 Hii ni vigumu, lakini aina ya Intuitive kama wewe kufikiri juu yake. 1276 01:02:11,198 --> 01:02:20,090 1277 01:02:20,090 --> 01:02:23,054 Sawa. 1278 01:02:23,054 --> 01:02:25,269 >> Watazamaji: Je, hali mbaya n logi n? 1279 01:02:25,269 --> 01:02:26,060 ANDI PENG: Hasa. 1280 01:02:26,060 --> 01:02:29,380 Na kwa nini ni n logi n. 1281 01:02:29,380 --> 01:02:32,230 >> Watazamaji: Je, si ni sababu inakuwa exponentially kasi, 1282 01:02:32,230 --> 01:02:35,390 hivyo ni kama kazi ya kwamba badala ya tu tu kuwa n 1283 01:02:35,390 --> 01:02:37,529 mraba au kitu? 1284 01:02:37,529 --> 01:02:38,320 ANDI PENG: Hasa. 1285 01:02:38,320 --> 01:02:40,750 Hivyo sababu Runtime juu ya hii ni n logi 1286 01:02:40,750 --> 01:02:44,310 n ni because-- wewe ni nini kufanya katika hatua zote hizi? 1287 01:02:44,310 --> 01:02:46,190 Wewe ni tu ukataji katika nusu, sawa? 1288 01:02:46,190 --> 01:02:48,750 Na hivyo wakati sisi ni kufanya kuingia, wote ni kufanya 1289 01:02:48,750 --> 01:02:53,150 ni kugawa tatizo katika nusu, katika nusu, katika nusu, katika nusu zaidi. 1290 01:02:53,150 --> 01:02:56,430 Na kwa maana hiyo, unaweza aina ya kuondoa mfano linear 1291 01:02:56,430 --> 01:02:57,510 kwamba sisi tumekuwa kutumia. 1292 01:02:57,510 --> 01:03:00,254 Kwa sababu wakati wewe kuwakata mambo katika nusu, ni gogo. 1293 01:03:00,254 --> 01:03:02,420 Hiyo tu hisabati njia ya anayewakilisha hilo. 1294 01:03:02,420 --> 01:03:06,310 >> Na kisha hatimaye, mwishoni, wewe ni maamuzi tu moja kupita jana kupitia 1295 01:03:06,310 --> 01:03:07,930 kuweka wote ili, haki? 1296 01:03:07,930 --> 01:03:10,330 Na hivyo kama wewe tu na kuangalia jambo moja, kwamba ni n. 1297 01:03:10,330 --> 01:03:13,420 Na hivyo wewe ni aina ya kuzidisha pamoja mawili. 1298 01:03:13,420 --> 01:03:17,660 Hivyo ni kama nimepata kuwa mwisho kuangalia kwa n chini hapa na logi ya n 1299 01:03:17,660 --> 01:03:18,390 hapa. 1300 01:03:18,390 --> 01:03:21,060 Na kama wewe kuzidisha yao, hiyo ni n logi n. 1301 01:03:21,060 --> 01:03:26,100 >> Na hivyo kesi bora na mbaya zaidi kesi na inatarajiwa wote ni n logi n. 1302 01:03:26,100 --> 01:03:27,943 Ni pia kama aina nyingine. 1303 01:03:27,943 --> 01:03:30,090 Ni kama uteuzi aina kwa maana kwamba 1304 01:03:30,090 --> 01:03:32,131 Haijalishi nini yako orodha ni, ni kwenda tu 1305 01:03:32,131 --> 01:03:34,801 kufanya kitu kimoja kila wakati. 1306 01:03:34,801 --> 01:03:35,300 SAWA. 1307 01:03:35,300 --> 01:03:39,950 Hivyo kama wewe guys unaweza kuona, hata kama aina yake kuwa tumeenda through-- n 1308 01:03:39,950 --> 01:03:41,660 mraba, siyo ufanisi sana. 1309 01:03:41,660 --> 01:03:47,060 Na hata hii n n gogo ni si bora zaidi. 1310 01:03:47,060 --> 01:03:49,720 Kama nyie ni wadadisi, kuna taratibu aina 1311 01:03:49,720 --> 01:03:54,310 kwamba ni hivyo ufanisi kwamba wao ni karibu kimsingi gorofa katika Runtime. 1312 01:03:54,310 --> 01:03:55,420 >> Nimepata baadhi logi n ya. 1313 01:03:55,420 --> 01:03:58,190 Nimepata baadhi gogo logi n ya. 1314 01:03:58,190 --> 01:04:00,330 Sisi wala kugusa juu yao katika darasa hili hivi sasa. 1315 01:04:00,330 --> 01:04:02,663 Lakini kama nyie ni wadadisi, kujisikia huru na google, nini 1316 01:04:02,663 --> 01:04:04,392 ufanisi zaidi kuchagua taratibu. 1317 01:04:04,392 --> 01:04:06,350 Sijui, kuna baadhi ya wale kweli funny, 1318 01:04:06,350 --> 01:04:09,860 like-- kuna baadhi kweli funny wale ambao watu kufanya. 1319 01:04:09,860 --> 01:04:12,210 Na wewe ajabu jinsi milele mawazo ya kwamba. 1320 01:04:12,210 --> 01:04:15,730 Hivyo google, kama una baadhi ya vipuri muda, juu ya nini ni baadhi ya njia funny 1321 01:04:15,730 --> 01:04:17,730 kwamba people-- kama vile ufanisi watu ways-- 1322 01:04:17,730 --> 01:04:20,371 wameweza kutekeleza aina. 1323 01:04:20,371 --> 01:04:20,870 SAWA. 1324 01:04:20,870 --> 01:04:22,880 Na hapa ni tu sehemu kidogo chati. 1325 01:04:22,880 --> 01:04:26,850 Najua nyote, kabla ya kuwa jaribio 0, itakuwa katika chumba yako pengine kujaribu 1326 01:04:26,850 --> 01:04:27,960 kukariri hiyo. 1327 01:04:27,960 --> 01:04:30,940 Hivyo hiyo ni nzuri katika huko kwa nyie. 1328 01:04:30,940 --> 01:04:37,120 Tu usisahau mantiki hiyo made-- kwa nini wale idadi yalikuwa yanatokea. 1329 01:04:37,120 --> 01:04:39,870 Kama wewe ni daima waliopotea, tu kufanya uhakika unajua nini aina ni. 1330 01:04:39,870 --> 01:04:40,820 Na unaweza kukimbia kwa njia ya nao katika akili yako 1331 01:04:40,820 --> 01:04:42,903 kufikiri kwa nini wale majibu ni majibu hayo. 1332 01:04:42,903 --> 01:04:46,250 1333 01:04:46,250 --> 01:04:47,600 >> Sawa. 1334 01:04:47,600 --> 01:04:49,680 Hivyo sisi ni kwenda kutoa hoja juu ya, hatimaye, kwa kutafuta. 1335 01:04:49,680 --> 01:04:51,638 Kwa sababu kama wale wa wewe ambao kusoma pset, 1336 01:04:51,638 --> 01:04:55,175 kutafuta pia ni sehemu ya Tatizo wiki hii seti. 1337 01:04:55,175 --> 01:04:57,300 Itabidi kuulizwa kutekeleza aina mbili za upekuzi. 1338 01:04:57,300 --> 01:05:00,070 Moja ni kutafuta linear na moja ni la mapacha. 1339 01:05:00,070 --> 01:05:01,760 >> Hivyo tafuta linear ni haki rahisi. 1340 01:05:01,760 --> 01:05:04,070 Wewe tu unataka kutafuta kipengele ya orodha ya kuona kama wewe kupata hiyo. 1341 01:05:04,070 --> 01:05:05,444 Wewe tu na iterate kupitia. 1342 01:05:05,444 --> 01:05:08,170 Na kama ni sawa na kitu, unaweza tu kurudi, sawa? 1343 01:05:08,170 --> 01:05:10,890 Lakini moja ambayo tuko wengi nia ya kuzungumza juu ya 1344 01:05:10,890 --> 01:05:14,550 ni kutafuta binary, haki, ambayo ni kugawanya na kushinda utaratibu ambao 1345 01:05:14,550 --> 01:05:18,190 Daudi alikuwa wakiandamana katika hotuba. 1346 01:05:18,190 --> 01:05:20,810 >> Kumbuka kitabu cha simu mfano kwamba yeye anaendelea kulea, 1347 01:05:20,810 --> 01:05:23,960 mtu yeyote kwamba yeye aina ya akihangaika kidogo juu ya mwaka uliopita, 1348 01:05:23,960 --> 01:05:27,530 ambapo kugawanya tatizo katika nusu, katika nusu, katika nusu, tena na tena, 1349 01:05:27,530 --> 01:05:30,730 mpaka kupata nini wewe kuangalia kwa? 1350 01:05:30,730 --> 01:05:33,727 Na nimepata Runtime ya kuwa vilevile. 1351 01:05:33,727 --> 01:05:35,810 Na unaweza kuona, ni kwa kiasi kikubwa ufanisi zaidi 1352 01:05:35,810 --> 01:05:39,080 kuliko aina nyingine yoyote ya utafutaji. 1353 01:05:39,080 --> 01:05:41,880 >> Hivyo njia kwamba tunataka kwenda juu utekelezaji wa tafuta binary 1354 01:05:41,880 --> 01:05:46,510 ni, kama tulikuwa na safu, ripoti 0-6, mambo saba, 1355 01:05:46,510 --> 01:05:49,790 tunaweza kuangalia katikati, right-- pole, ikiwa swali letu first-- 1356 01:05:49,790 --> 01:05:53,840 kama tunataka kuuliza swali la, je safu vyenye kipengele cha 7, 1357 01:05:53,840 --> 01:05:56,840 ni wazi, kuwa binadamu, na kuwa na kama safu ndogo, ni rahisi kwa sisi 1358 01:05:56,840 --> 01:05:58,210 kusema ndiyo. 1359 01:05:58,210 --> 01:06:05,750 Lakini njia ya kutekeleza mapacha search itakuwa kuangalia katikati. 1360 01:06:05,750 --> 01:06:08,020 >> Tunajua kwamba ripoti ya 3 ni katikati, kwa sababu sisi 1361 01:06:08,020 --> 01:06:09,270 kujua kuna mambo saba. 1362 01:06:09,270 --> 01:06:10,670 Nini 7 kugawanywa na 2? 1363 01:06:10,670 --> 01:06:12,850 Unaweza Night mbali kwamba ziada 1. 1364 01:06:12,850 --> 01:06:14,850 Nimepata 3 katikati. 1365 01:06:14,850 --> 01:06:17,590 Hivyo ni safu ya 3 sawa na 7? 1366 01:06:17,590 --> 01:06:18,900 Sio, sawa? 1367 01:06:18,900 --> 01:06:21,050 Lakini tunaweza kufanya michache ya hundi. 1368 01:06:21,050 --> 01:06:25,380 Ni safu ya 3 chini ya 7 au ni safu ya 3 kubwa zaidi kuliko 7? 1369 01:06:25,380 --> 01:06:27,240 >> Tunajua kwamba ni chini ya 7. 1370 01:06:27,240 --> 01:06:30,259 Hivyo tunajua kwamba, loo, ni lazima kuwa katika nusu kushoto. 1371 01:06:30,259 --> 01:06:32,300 Tunajua kwamba ni lazima katika nusu haki, sawa? 1372 01:06:32,300 --> 01:06:34,662 Ili tuweze tu Night mbali nusu safu. 1373 01:06:34,662 --> 01:06:36,370 Hatuwezi hata kuwa na kuangalia ni tena. 1374 01:06:36,370 --> 01:06:38,711 Kwa sababu tunajua kwamba nusu ya problem-- yetu 1375 01:06:38,711 --> 01:06:41,210 Tunajua kwamba jibu ni katika nusu haki ya tatizo letu. 1376 01:06:41,210 --> 01:06:42,580 Hivyo sisi tu kuangalia kwamba sasa. 1377 01:06:42,580 --> 01:06:44,860 >> Hivyo sasa sisi kuangalia katikati ya nini kushoto. 1378 01:06:44,860 --> 01:06:46,880 Hiyo ripoti 5. 1379 01:06:46,880 --> 01:06:50,200 Sisi kufanya kuangalia huo tena na tunaona kwamba ni ndogo. 1380 01:06:50,200 --> 01:06:52,050 Hivyo sisi kuangalia kwa upande wa kushoto wa jambo hilo. 1381 01:06:52,050 --> 01:06:53,430 Na kisha tunaona kuangalia kwamba. 1382 01:06:53,430 --> 01:06:57,600 Ni safu thamani katika ripoti 4 sawa na 7? 1383 01:06:57,600 --> 01:06:58,260 Ni. 1384 01:06:58,260 --> 01:07:03,580 Ili tuweze kurudi kweli, kwa sababu tulikuta thamani katika orodha yetu. 1385 01:07:03,580 --> 01:07:06,738 Je, njia nilikwenda kupitia kwamba mantiki watu wote? 1386 01:07:06,738 --> 01:07:08,760 SAWA. 1387 01:07:08,760 --> 01:07:11,670 Mimi nitakupa guys labda, kama, tatu, dakika nne kufikiri 1388 01:07:11,670 --> 01:07:13,270 jinsi ya pseudocode hii katika. 1389 01:07:13,270 --> 01:07:18,070 >> Hivyo kufikiria mimi aliuliza wewe kuandika kazi kuitwa search () kwamba alirudi 1390 01:07:18,070 --> 01:07:20,640 thamani, thamani Boolean, hiyo ilikuwa kweli au false-- kama, 1391 01:07:20,640 --> 01:07:22,970 kweli kama wewe kupatikana thamani, uongo kama wewe hakufanya hivyo. 1392 01:07:22,970 --> 01:07:25,230 Na kisha ungekuwa kupita katika thamani wewe 1393 01:07:25,230 --> 01:07:28,410 walikuwa wanatafuta katika maadili, ambayo ni array-- loo, mimi dhahiri kuweka 1394 01:07:28,410 --> 01:07:29,410 kuwa katika mahali sahihi. 1395 01:07:29,410 --> 01:07:29,580 SAWA. 1396 01:07:29,580 --> 01:07:31,829 Anyways, kwamba wanapaswa kuwa na Imekuwa na haki ya maadili. 1397 01:07:31,829 --> 01:07:36,280 Na kisha int n ni idadi ya vipengele katika safu hiyo. 1398 01:07:36,280 --> 01:07:39,430 Jinsi gani unaweza kwenda kuhusu kujaribu kwa pseudocode kwamba tatizo katika? 1399 01:07:39,430 --> 01:07:41,630 Mimi nitakupa guys kama dakika tatu kwa kufanya hivyo. 1400 01:07:41,630 --> 01:08:00,137 1401 01:08:00,137 --> 01:08:02,595 Hapana, nadhani kuna only-- yeah, kuna moja haki hapa. 1402 01:08:02,595 --> 01:08:03,261 Watazamaji: Je, mimi? 1403 01:08:03,261 --> 01:08:04,388 ANDI PENG: Yeah, I got wewe. 1404 01:08:04,388 --> 01:08:09,410 1405 01:08:09,410 --> 01:08:11,050 Ni kwamba kufanya kazi? 1406 01:08:11,050 --> 01:08:12,290 OK, baridi. 1407 01:08:12,290 --> 01:10:43,590 1408 01:10:43,590 --> 01:10:44,720 >> SAWA. 1409 01:10:44,720 --> 01:10:47,630 Guys wote haki, tuko kwenda kwa nguvu dhidi yake katika. 1410 01:10:47,630 --> 01:10:49,730 SAWA. 1411 01:10:49,730 --> 01:10:54,020 Hivyo kudhani sisi tumepewa hii nzuri safu kidogo na N maadili ndani yake. 1412 01:10:54,020 --> 01:10:55,170 Sikuwa kuteka mistari. 1413 01:10:55,170 --> 01:10:58,649 Lakini jinsi gani sisi kwenda juu kujaribu kuandika hii? 1414 01:10:58,649 --> 01:11:00,440 Je, mtu yeyote wanataka nipe mstari wa kwanza? 1415 01:11:00,440 --> 01:11:02,814 Kama unataka nipe mstari wa kwanza wa pseudocode hii. 1416 01:11:02,814 --> 01:11:06,563 1417 01:11:06,563 --> 01:11:08,430 >> Watazamaji: [inaudible] 1418 01:11:08,430 --> 01:11:10,138 Watazamaji: Wewe d wanataka iterate through-- 1419 01:11:10,138 --> 01:11:11,094 Watazamaji: Mwingine tu kwa kitanzi? 1420 01:11:11,094 --> 01:11:11,760 Watazamaji: --for. 1421 01:11:11,760 --> 01:11:15,880 1422 01:11:15,880 --> 01:11:17,780 >> ANDI PENG: Hivyo hii moja kidogo suala gumu. 1423 01:11:17,780 --> 01:11:23,130 Fikiria about-- unataka kuweka mbio kitanzi hii 1424 01:11:23,130 --> 01:11:27,950 tena na tena mpaka lini? 1425 01:11:27,950 --> 01:11:30,819 >> Watazamaji: Hadi [inaudible] thamani ni sawa na thamani hiyo. 1426 01:11:30,819 --> 01:11:31,610 ANDI PENG: Hasa. 1427 01:11:31,610 --> 01:11:33,900 Hivyo unaweza kweli write-- tu tunaweza hata kurahisisha zaidi. 1428 01:11:33,900 --> 01:11:35,630 Tunaweza tu kufanya kitanzi wakati, sawa? 1429 01:11:35,630 --> 01:11:39,380 Hivyo unaweza tu loop-- Tunajua kwamba ni wakati. 1430 01:11:39,380 --> 01:11:42,850 Lakini kwa sasa hivi, mimi nina kwenda kusema "kitanzi" - kupitia nini? 1431 01:11:42,850 --> 01:11:46,640 Kitanzi until-- nini kuishia hali yetu? 1432 01:11:46,640 --> 01:11:47,510 Nadhani walisikia maneno hayo. 1433 01:11:47,510 --> 01:11:48,530 Mimi kusikia mtu kusema hayo. 1434 01:11:48,530 --> 01:11:51,255 >> Watazamaji: Maadili sawa na katikati. 1435 01:11:51,255 --> 01:11:52,255 ANDI PENG: Sema tena. 1436 01:11:52,255 --> 01:11:54,470 Watazamaji: Au, mpaka thamani wewe ni kutafuta 1437 01:11:54,470 --> 01:11:58,470 kwa ni sawa na thamani ya kati. 1438 01:11:58,470 --> 01:12:00,280 >> ANDI PENG: Je, kama siyo katika huko? 1439 01:12:00,280 --> 01:12:03,113 Nini kama wewe ni kutafuta thamani kwa kweli si katika safu hii? 1440 01:12:03,113 --> 01:12:05,890 Watazamaji: kurudi 1. 1441 01:12:05,890 --> 01:12:08,850 >> ANDI PENG: Lakini je, tunataka kitanzi mpaka kama tuna hali? 1442 01:12:08,850 --> 01:12:09,350 Naam. 1443 01:12:09,350 --> 01:12:11,239 >> Watazamaji: Hadi kuna thamani moja tu? 1444 01:12:11,239 --> 01:12:13,530 ANDI PENG: Unaweza kitanzi until-- ili kujua kwamba wewe ni 1445 01:12:13,530 --> 01:12:15,714 kwenda na thamani max, sawa? 1446 01:12:15,714 --> 01:12:18,130 Na unajua kwamba wewe ni kwenda kuwa na dk thamani, sawa? 1447 01:12:18,130 --> 01:12:20,379 Kwa sababu pia, hiyo ni kitu I forgot kusema hapo awali, 1448 01:12:20,379 --> 01:12:22,640 kuwa kitu ambacho ni muhimu kuhusu tafuta binary 1449 01:12:22,640 --> 01:12:24,182 ni kwamba safu yako tayari Iliyopangwa. 1450 01:12:24,182 --> 01:12:26,973 Kwa sababu hakuna njia ya kufanya hii kama uko maadili tu bila mpangilio. 1451 01:12:26,973 --> 01:12:29,190 Huwezi kujua kama mtu ni kubwa kuliko mengine, haki? 1452 01:12:29,190 --> 01:12:32,720 >> Hivyo, unajua kwamba max yako na mins yako ni hapa, sawa? 1453 01:12:32,720 --> 01:12:35,590 Kama ni kwenda kuwa kurekebisha max yako katika dakika yako na mid-- 1454 01:12:35,590 --> 01:12:38,470 hebu tu kudhani yako Katikati thamani ya here-- haki 1455 01:12:38,470 --> 01:12:43,910 wewe ni kwenda kimsingi kitanzi mpaka kiwango cha chini yako ni 1456 01:12:43,910 --> 01:12:47,510 karibu sawa na max yako, haki, au kama max yako sio sawa na dk yako. 1457 01:12:47,510 --> 01:12:48,040 Sawa? 1458 01:12:48,040 --> 01:12:51,340 Kwa sababu wakati kinachotokea, unajua kwamba umefanya hatimaye kugonga thamani sawa. 1459 01:12:51,340 --> 01:12:59,135 Kwa hiyo unataka kitanzi mpaka dk yako ni chini ya au sawa to-- oops, 1460 01:12:59,135 --> 01:13:01,510 si chini ya au sawa na, njia nyingine around-- max ni. 1461 01:13:01,510 --> 01:13:15,110 1462 01:13:15,110 --> 01:13:16,160 >> Je, hiyo mantiki? 1463 01:13:16,160 --> 01:13:18,810 Mimi alichukua inajaribu wachache kupata haki hiyo. 1464 01:13:18,810 --> 01:13:21,869 Lakini kitanzi mpaka max thamani yako kimsingi ni karibu chini 1465 01:13:21,869 --> 01:13:23,410 kuliko au sawa na kiwango cha chini yako, sawa? 1466 01:13:23,410 --> 01:13:25,201 Hapo ndipo unajua kwamba umefanya converged. 1467 01:13:25,201 --> 01:13:29,290 Watazamaji: Wakati ingekuwa upeo yako thamani kuwa chini ya kiwango cha chini? 1468 01:13:29,290 --> 01:13:31,040 ANDI PENG: Mkizishika kurekebisha hayo, ambayo 1469 01:13:31,040 --> 01:13:32,380 ni nini sisi ni kwenda kuwa kufanya katika hili. 1470 01:13:32,380 --> 01:13:33,460 Je, hiyo mantiki? 1471 01:13:33,460 --> 01:13:35,750 Kiwango cha chini na max ni baadhi tu ya integers kwamba sisi ni pengine 1472 01:13:35,750 --> 01:13:39,260 atataka kuunda kuweka wimbo wa ambapo sisi ni kuangalia. 1473 01:13:39,260 --> 01:13:41,790 Kwa sababu safu ipo bila kujali nini sisi ni kufanya. 1474 01:13:41,790 --> 01:13:45,030 Kama, sisi siyo kweli kimwili chopping off safu, sawa? 1475 01:13:45,030 --> 01:13:47,261 Sisi ni kurekebisha tu ambapo sisi ni kuangalia. 1476 01:13:47,261 --> 01:13:48,136 Je, hiyo mantiki? 1477 01:13:48,136 --> 01:13:48,472 >> Watazamaji: Naam. 1478 01:13:48,472 --> 01:13:49,110 >> ANDI PENG: Sawa. 1479 01:13:49,110 --> 01:13:57,090 Hivyo kama hiyo ni sharti kwa kitanzi yetu, je, tunataka ndani ya kitanzi hii? 1480 01:13:57,090 --> 01:13:58,700 Je, ni sisi kwenda kuwa kutaka kufanya? 1481 01:13:58,700 --> 01:14:02,390 Hivyo sasa hivi, sisi tumepewa max na min, haki, 1482 01:14:02,390 --> 01:14:04,962 pengine umba hapa mahali fulani. 1483 01:14:04,962 --> 01:14:07,170 Tunakwenda pengine wanataka kupata katikati, sawa? 1484 01:14:07,170 --> 01:14:08,450 Je ni vipi tuna kwenda kuwa uwezo wa kupata katikati? 1485 01:14:08,450 --> 01:14:09,491 Nini mathematical-- 1486 01:14:09,491 --> 01:14:11,079 Watazamaji: Max pamoja na dk kugawanywa na 2. 1487 01:14:11,079 --> 01:14:11,870 ANDI PENG: Hasa. 1488 01:14:11,870 --> 01:14:20,300 1489 01:14:20,300 --> 01:14:21,620 Je, hiyo mantiki? 1490 01:14:21,620 --> 01:14:25,780 Na je, nyie kuona kwa nini sisi hakuwa tu use-- kwa nini sisi alifanya hivyo 1491 01:14:25,780 --> 01:14:27,850 badala ya kufanya tu n kugawanywa na 2? 1492 01:14:27,850 --> 01:14:30,310 Ni kwa sababu n ni thamani ambayo inaenda kukaa sawa. 1493 01:14:30,310 --> 01:14:30,979 Sawa? 1494 01:14:30,979 --> 01:14:34,020 Lakini kama sisi kurekebisha kiwango cha chini yetu na maadili ya kiwango cha juu, wao ni kwenda na mabadiliko. 1495 01:14:34,020 --> 01:14:36,040 Na matokeo yake, katikati yetu ni kwenda na mabadiliko pia. 1496 01:14:36,040 --> 01:14:37,873 Hivyo ndiyo sababu tunataka kufanya haki hii hapa. 1497 01:14:37,873 --> 01:14:38,510 SAWA. 1498 01:14:38,510 --> 01:14:41,600 >> Na kisha, kwa kuwa sasa tumekuwa kupatikana our-- yeah. 1499 01:14:41,600 --> 01:14:44,270 >> Watazamaji: Tu question-- haraka unaposema dk na max, 1500 01:14:44,270 --> 01:14:46,410 ni sisi kuchukua kwamba ni tayari Iliyopangwa? 1501 01:14:46,410 --> 01:14:48,400 >> ANDI PENG: Yeah, hiyo ni kweli sharti kwa ajili ya kutafuta binary, 1502 01:14:48,400 --> 01:14:49,816 kwamba una kujua ni yamepangwa. 1503 01:14:49,816 --> 01:14:53,660 Ambayo ni kwa nini aina, wewe kuandika katika yako tatizo kuweka mbele utafutaji wako mapacha. 1504 01:14:53,660 --> 01:14:55,910 SAWA. 1505 01:14:55,910 --> 01:14:58,876 Hivyo sasa kwamba sisi kujua wapi midpoint yetu ni, je, unataka kufanya hapa? 1506 01:14:58,876 --> 01:15:01,789 1507 01:15:01,789 --> 01:15:04,319 >> Watazamaji: Tunataka kulinganisha kwamba kwa mtu mwingine. 1508 01:15:04,319 --> 01:15:05,110 ANDI PENG: Hasa. 1509 01:15:05,110 --> 01:15:12,280 Hivyo wewe ni kwenda kulinganisha Katikati ya thamani, sawa? 1510 01:15:12,280 --> 01:15:14,900 1511 01:15:14,900 --> 01:15:18,670 Na nini kwamba kuwaambia yetu wakati sisi kulinganisha? 1512 01:15:18,670 --> 01:15:22,226 Je, tunataka kufanya baadaye? 1513 01:15:22,226 --> 01:15:25,389 >> Watazamaji: Kama thamani ni kubwa kuliko katikati, tunataka ukate. 1514 01:15:25,389 --> 01:15:26,180 ANDI PENG: Hasa. 1515 01:15:26,180 --> 01:15:33,940 Hivyo kama thamani ni kubwa kuliko katikati, tuko 1516 01:15:33,940 --> 01:15:36,550 atataka mabadiliko hayo kiwango cha chini na maxes, sawa? 1517 01:15:36,550 --> 01:15:38,980 Je, tunataka mabadiliko? 1518 01:15:38,980 --> 01:15:42,145 Hivyo, ikiwa tunajua thamani ya kitu mahali fulani humu, je wewe sisi kubadilika? 1519 01:15:42,145 --> 01:15:44,758 Tunataka mabadiliko yetu kiwango cha chini kuwa katikati, sawa? 1520 01:15:44,758 --> 01:15:49,420 1521 01:15:49,420 --> 01:15:54,292 Na kisha mwingine, ikiwa ni katika hii nusu, je tunataka mabadiliko? 1522 01:15:54,292 --> 01:15:55,306 >> Watazamaji: upeo wako. 1523 01:15:55,306 --> 01:15:55,972 ANDI PENG: Naam. 1524 01:15:55,972 --> 01:16:02,597 1525 01:16:02,597 --> 01:16:04,680 Na kisha utaenda tu kuweka looping, sawa? 1526 01:16:04,680 --> 01:16:08,920 Kwa sababu sasa, baada ya iteration moja kupitia, nimepata max hapa. 1527 01:16:08,920 --> 01:16:10,760 Na kisha unaweza recalculate katikati. 1528 01:16:10,760 --> 01:16:11,990 Na kisha unaweza kulinganisha. 1529 01:16:11,990 --> 01:16:14,766 Na wewe ni kwenda kuendelea mpaka dakika na maxes 1530 01:16:14,766 --> 01:16:15,890 kuwa kimsingi converged. 1531 01:16:15,890 --> 01:16:17,890 Na kwamba wakati unajua kwamba umefanya kugonga mwisho wake. 1532 01:16:17,890 --> 01:16:20,280 Na ama Nimepata ni au una si katika hatua hiyo. 1533 01:16:20,280 --> 01:16:23,170 >> Je, hii maana kufanya kila mtu? 1534 01:16:23,170 --> 01:16:26,020 1535 01:16:26,020 --> 01:16:26,770 SAWA. 1536 01:16:26,770 --> 01:16:27,900 Hii ni pretty muhimu, kwa sababu itabidi 1537 01:16:27,900 --> 01:16:29,760 kuandika hii katika kanuni yako usiku wa leo. 1538 01:16:29,760 --> 01:16:32,660 Lakini wewe guys kuwa nzuri hisia ya kile unapaswa kufanya, 1539 01:16:32,660 --> 01:16:34,051 ambayo ni nzuri. 1540 01:16:34,051 --> 01:16:34,550 SAWA. 1541 01:16:34,550 --> 01:16:38,840 Hivyo sisi tumepewa kuhusu saba Dakika kushoto sehemu. 1542 01:16:38,840 --> 01:16:43,170 Hivyo sisi ni kwenda kuzungumza kuhusu pset hii kwamba tutaweza kuwa kufanya. 1543 01:16:43,170 --> 01:16:46,410 Hivyo pset imegawanywa katika sehemu mbili. 1544 01:16:46,410 --> 01:16:50,230 Nusu ya kwanza inahusisha utekelezaji wa kupata 1545 01:16:50,230 --> 01:16:54,210 ambao kuandika tafuta linear, a tafuta binary, na algorithm kuchagua. 1546 01:16:54,210 --> 01:16:56,690 >> Hivyo hii ni mara ya kwanza wakati katika pset ambapo 1547 01:16:56,690 --> 01:17:00,050 tutaweza kuwa kutoa nyie kile kinachoitwa usambazaji kificho, ambayo ni kanuni 1548 01:17:00,050 --> 01:17:02,740 kwamba tuna kabla ya kuandikwa, lakini tu kushoto baadhi ya vipande mbali 1549 01:17:02,740 --> 01:17:04,635 kwa wewe kumaliza kuandika. 1550 01:17:04,635 --> 01:17:07,510 Hivyo nyie, wakati ukiangalia hii kanuni, unaweza kupata kweli hofu. 1551 01:17:07,510 --> 01:17:08,630 Kama wewe ni tu kama, ahh, mimi hawajui nini kwamba anafanya, 1552 01:17:08,630 --> 01:17:11,670 Sijui, kama, ambayo inaonekana ngumu, ahh, kupumzika. 1553 01:17:11,670 --> 01:17:12,170 Ni sawa. 1554 01:17:12,170 --> 01:17:12,930 Kusoma spec. 1555 01:17:12,930 --> 01:17:16,920 Spec kueleza kwa wewe hasa nini yote ya programu hizi ni kufanya. 1556 01:17:16,920 --> 01:17:20,560 >> Kwa mfano, generate.c ni mpango kwamba atakuja na pset yako. 1557 01:17:20,560 --> 01:17:24,060 Wewe si kweli kuwa na kugusa, lakini unapaswa kuelewa nini ni kufanya. 1558 01:17:24,060 --> 01:17:28,550 Na generate.c, kila ni kufanya ni ama kuzalisha idadi random 1559 01:17:28,550 --> 01:17:32,400 au unaweza kuwapa mbegu, kama prearranged idadi hiyo inachukua, 1560 01:17:32,400 --> 01:17:34,140 na inazalisha idadi zaidi. 1561 01:17:34,140 --> 01:17:37,170 Hivyo kuna njia mahususi kwa kutekeleza generate.c ambao 1562 01:17:37,170 --> 01:17:42,760 unaweza tu kufanya rundo la idadi kwa wewe mtihani mbinu yako mengine juu ya. 1563 01:17:42,760 --> 01:17:45,900 >> Hivyo kama alitaka, kwa mfano, mtihani kupata yako, 1564 01:17:45,900 --> 01:17:48,970 wewe unataka kukimbia generate.c, kuzalisha rundo la idadi, 1565 01:17:48,970 --> 01:17:50,880 na kisha kukimbia wasaidizi wako kazi. 1566 01:17:50,880 --> 01:17:53,930 Wasaidizi wako kazi ni mahali ambapo wewe ni kweli kimwili kuandika kanuni. 1567 01:17:53,930 --> 01:17:59,330 Na kufikiria wasaidizi kama jalada la maktaba wewe ni kuandika kwamba kupata ni wito. 1568 01:17:59,330 --> 01:18:02,950 Na hivyo ndani ya helpers.c, utasikia kufanya kutafuta na kuchagua. 1569 01:18:02,950 --> 01:18:06,500 >> Na kisha wewe ni kwenda kimsingi tu kuweka wote pamoja. 1570 01:18:06,500 --> 01:18:10,350 Spec atakuambia jinsi ya kuweka kwamba katika mstari amri. 1571 01:18:10,350 --> 01:18:14,880 Na wewe utakuwa na uwezo wa kupima kama au si aina yako na utafutaji ni kazi. 1572 01:18:14,880 --> 01:18:15,870 Baridi. 1573 01:18:15,870 --> 01:18:18,720 Kuna mtu yeyote tayari kuanza na matatizo yaliyojitokeza au maswali 1574 01:18:18,720 --> 01:18:20,520 wao wana haki sasa na hili? 1575 01:18:20,520 --> 01:18:21,020 SAWA. 1576 01:18:21,020 --> 01:18:21,476 >> Watazamaji: Ngoja. 1577 01:18:21,476 --> 01:18:21,932 Nina swali. 1578 01:18:21,932 --> 01:18:22,844 >> ANDI PENG: Naam. 1579 01:18:22,844 --> 01:18:28,390 >> Watazamaji: Hivyo mimi ilianza kufanya tafuta linear katika helpers.c 1580 01:18:28,390 --> 01:18:29,670 Jambo hilo lilikuwa haifanyi kazi. 1581 01:18:29,670 --> 01:18:34,590 Lakini kisha baadaye, nimeona sisi tu na kufuta na kufanya search binary. 1582 01:18:34,590 --> 01:18:36,991 Hivyo jambo gani kama hana kazi? 1583 01:18:36,991 --> 01:18:39,700 1584 01:18:39,700 --> 01:18:41,510 >> ANDI PENG: muda Jibu ni hapana. 1585 01:18:41,510 --> 01:18:42,642 Lakini kwa kuwa tuko not-- 1586 01:18:42,642 --> 01:18:44,350 Watazamaji: Lakini hakuna mtu kweli kuangalia. 1587 01:18:44,350 --> 01:18:46,058 ANDI PENG: Tuko kamwe kwenda kuona kwamba. 1588 01:18:46,058 --> 01:18:49,590 Lakini pengine wanataka kufanya uhakika utafutaji wako ni kazi. 1589 01:18:49,590 --> 01:18:51,700 Kwa sababu kama linear yako search hana kazi, 1590 01:18:51,700 --> 01:18:54,410 basi nafasi ni mapacha yako search si kwenda kufanya kazi pamoja. 1591 01:18:54,410 --> 01:18:56,646 Kwa sababu una sawa mantiki Katika barua hizo mbili. 1592 01:18:56,646 --> 01:18:58,020 Na hakuna, haina kweli jambo. 1593 01:18:58,020 --> 01:19:01,300 Hivyo wale tu utasikia kugeuka katika ni aina na tafuta binary. 1594 01:19:01,300 --> 01:19:02,490 Naam. 1595 01:19:02,490 --> 01:19:06,610 >> Na pia, mengi ya watoto walikuwa kujaribu kukusanya helpers.c. 1596 01:19:06,610 --> 01:19:09,550 Wewe si kweli kuruhusiwa kufanya hivyo, kwa sababu helpers.c 1597 01:19:09,550 --> 01:19:11,200 hana kazi kuu. 1598 01:19:11,200 --> 01:19:13,550 Na hivyo unapaswa tu kuwa kweli kuandaa 1599 01:19:13,550 --> 01:19:18,670 kuzalisha na kupata, kwa sababu kupata wito helpers.c na kazi ndani yake. 1600 01:19:18,670 --> 01:19:20,790 Hivyo kwamba inafanya debugging maumivu katika kitako. 1601 01:19:20,790 --> 01:19:22,422 Lakini hiyo ni nini sisi kufanya. 1602 01:19:22,422 --> 01:19:23,880 Watazamaji: Wewe tu kufanya yote, sawa? 1603 01:19:23,880 --> 01:19:27,290 ANDI PENG: Unaweza tu kufanya yote pia, yeah. 1604 01:19:27,290 --> 01:19:28,060 SAWA. 1605 01:19:28,060 --> 01:19:32,570 Hivyo hiyo ni katika suala la nini pset ni kuuliza wewe wote kufanya. 1606 01:19:32,570 --> 01:19:35,160 Kama una maswali yoyote, jisikie huru kuuliza mimi baada ya sehemu. 1607 01:19:35,160 --> 01:19:37,580 Nitakuwa hapa kwa, kama, dakika 20. 1608 01:19:37,580 --> 01:19:40,500 >> Na ndiyo, pset ya kweli siyo mbaya. 1609 01:19:40,500 --> 01:19:41,680 Nyie lazima OK. 1610 01:19:41,680 --> 01:19:43,250 Haya, tu kufuata miongozo. 1611 01:19:43,250 --> 01:19:47,840 Aina ya kuwa na hisia ya, kifikra, nini lazima kuwa kinachotokea na wewe utakuwa na faini. 1612 01:19:47,840 --> 01:19:48,690 Je, si kuwa pia hofu. 1613 01:19:48,690 --> 01:19:50,220 Kuna mengi ya kificho tayari imeandikwa huko. 1614 01:19:50,220 --> 01:19:53,011 Je, si kuwa pia hofu kama huna kuelewa nini yote ya kwamba maana. 1615 01:19:53,011 --> 01:19:54,749 Kama ni mengi, ni kabisa faini. 1616 01:19:54,749 --> 01:19:55,790 Na kuja saa za ofisi. 1617 01:19:55,790 --> 01:19:57,520 Tutaweza kukusaidia kuangalia. 1618 01:19:57,520 --> 01:20:00,810 >> Watazamaji: Kwa ziada kazi, je, sisi kuangalia wale up? 1619 01:20:00,810 --> 01:20:03,417 >> ANDI PENG: Yeah, wale walio katika kanuni. 1620 01:20:03,417 --> 01:20:05,750 Katika mchezo wa 15, nusu ya ni tayari imeandikwa kwa ajili yenu. 1621 01:20:05,750 --> 01:20:09,310 Hivyo kazi hizo ni Tayari katika kanuni. 1622 01:20:09,310 --> 01:20:12,020 Yep. 1623 01:20:12,020 --> 01:20:12,520 Sawa. 1624 01:20:12,520 --> 01:20:14,000 Naam, bora ya bahati. 1625 01:20:14,000 --> 01:20:15,180 Ni siku disgusting. 1626 01:20:15,180 --> 01:20:19,370 Hivyo hopefully nyie sijisikii pia mbaya kuhusu kukaa ndani na coding. 1627 01:20:19,370 --> 01:20:22,133