1 00:00:00,000 --> 00:00:11,100 2 00:00:11,100 --> 00:00:12,300 >> SPIKA 1: Hey kila mtu! 3 00:00:12,300 --> 00:00:13,890 Karibu tena kwa sehemu. 4 00:00:13,890 --> 00:00:17,480 Nimefurahi kuona hivyo wengi wenu wote hapa, na kila mtu ambaye ni kuangalia online. 5 00:00:17,480 --> 00:00:18,760 6 00:00:18,760 --> 00:00:20,920 Hivyo, kama kawaida kuwakaribisha nyuma. 7 00:00:20,920 --> 00:00:24,360 Natumaini kwamba wote walikuwa lovely mwishoni mwa wiki, kamili ya mapumziko, relaxation. 8 00:00:24,360 --> 00:00:26,026 Ilikuwa nzuri nje jana. 9 00:00:26,026 --> 00:00:27,525 Hivyo, Natumaini walifurahia nje. 10 00:00:27,525 --> 00:00:28,840 11 00:00:28,840 --> 00:00:30,610 >> Hivyo kwanza ya wanandoa wa matangazo. 12 00:00:30,610 --> 00:00:31,920 13 00:00:31,920 --> 00:00:32,700 Grading. 14 00:00:32,700 --> 00:00:37,350 Hivyo, wengi wa unapaswa kuwa na kujipatia email kutoka kwangu kuhusu Scratch yako pset, 15 00:00:37,350 --> 00:00:39,920 vilevile grading kwa pset 1. 16 00:00:39,920 --> 00:00:41,000 17 00:00:41,000 --> 00:00:42,220 Hivyo, wanandoa tu mambo. 18 00:00:42,220 --> 00:00:45,150 Kuwa na uhakika wa kutumia check50 katika style50. 19 00:00:45,150 --> 00:00:47,250 Hizi ni maana ya kuwa rasilimali kwa ajili ya guys, 20 00:00:47,250 --> 00:00:50,660 kuhakikisha kwamba wewe ni kupata pointi kama wengi kama unaweza 21 00:00:50,660 --> 00:00:52,390 bila bila kupoteza kwao. 22 00:00:52,390 --> 00:00:54,407 Hivyo, mambo kama style ni muhimu sana. 23 00:00:54,407 --> 00:00:55,740 Sisi ni kwenda kuchukua mbali kwa ajili yake. 24 00:00:55,740 --> 00:00:58,115 Baadhi ya unaweza kuwa tayari niliona kwamba kutoka pset yako. 25 00:00:58,115 --> 00:00:58,920 26 00:00:58,920 --> 00:01:01,450 Na check50 ni tu njia rahisi kweli kuhakikisha 27 00:01:01,450 --> 00:01:05,050 kwamba sisi ni kweli kurudi nini mahitaji ya kurudishwa kwa mtumiaji, 28 00:01:05,050 --> 00:01:06,690 na kwamba kila kitu s kufanya kazi vizuri. 29 00:01:06,690 --> 00:01:08,690 30 00:01:08,690 --> 00:01:12,040 >> Kumbuka pili, kuhakikisha yako kuweka mambo folder sahihi. 31 00:01:12,040 --> 00:01:14,470 Inafanya maisha yangu tu kidogo zaidi vigumu 32 00:01:14,470 --> 00:01:18,836 kama wewe upload pset 2 katika pset 1 kwa sababu wakati mimi kushusha mambo, 33 00:01:18,836 --> 00:01:20,085 hawana kushusha usahihi. 34 00:01:20,085 --> 00:01:21,690 35 00:01:21,690 --> 00:01:24,560 Na Mimi najua ni wonky kidogo katika mfumo wa kupata kutumika, 36 00:01:24,560 --> 00:01:26,950 lakini tu kuwa super makini, kama tu kwa ajili yangu, 37 00:01:26,950 --> 00:01:30,080 hivyo kwamba wakati wewe ni kupata barua pepe katika kama 2:00 na mimi nina grading. 38 00:01:30,080 --> 00:01:33,710 Kama si kusababisha nina kuangalia pande zote kwa pset yako. 39 00:01:33,710 --> 00:01:34,440 Baridi. 40 00:01:34,440 --> 00:01:37,270 >> Najua ni mapema, lakini mimi kabisa got kuchukuliwa mbali ulinzi 41 00:01:37,270 --> 00:01:40,800 na insha hiyo kutokana Ijumaa hii, kwamba maprofesa wangu walikuwa tu kama, oh yeah. 42 00:01:40,800 --> 00:01:42,550 Kumbuka, una insha kutokana siku ya Ijumaa. 43 00:01:42,550 --> 00:01:45,780 Hivyo, najua hakuna mtu anapenda kufikiri juu ya midterms, 44 00:01:45,780 --> 00:01:50,620 lakini jaribio lako la kwanza ni juu ya Oktoba 15, ambayo Oktoba kuanzia wiki hii. 45 00:01:50,620 --> 00:01:53,290 Hivyo, inaweza kuwa mapema kuliko ilivyotarajiwa ni yote. 46 00:01:53,290 --> 00:01:57,510 Hivyo kwamba wewe si kutupwa mbali ulinzi wakati Mimi kutaja sehemu ya pili ya wiki kuwa oh, 47 00:01:57,510 --> 00:02:00,560 Jaribio wiki ijayo yako, nilifikiri Ningependa kukupa kidogo zaidi 48 00:02:00,560 --> 00:02:01,500 ya vichwa hadi sasa. 49 00:02:01,500 --> 00:02:02,970 50 00:02:02,970 --> 00:02:04,660 >> Hivyo, tatizo lako kuweka, namba tatu. 51 00:02:04,660 --> 00:02:07,070 Jinsi watu kusoma spec nje ya udadisi? 52 00:02:07,070 --> 00:02:08,560 53 00:02:08,560 --> 00:02:09,199 OK. 54 00:02:09,199 --> 00:02:10,229 Sisi got michache. 55 00:02:10,229 --> 00:02:12,320 Aina ya chini kutoka mwisho wiki lakini hiyo ni sawa. 56 00:02:12,320 --> 00:02:13,650 Najua ilikuwa nzuri nje. 57 00:02:13,650 --> 00:02:15,120 58 00:02:15,120 --> 00:02:16,660 Hivyo kuvunja nje. 59 00:02:16,660 --> 00:02:21,010 Dhahiri baada ya kupata kufanyika leo kusoma spec yako angalau 60 00:02:21,010 --> 00:02:25,240 kujaribu kama kushusha usambazaji kificho na kukimbia 61 00:02:25,240 --> 00:02:27,430 kama awali kwanza Jambo kwamba wao kuuliza wewe. 62 00:02:27,430 --> 00:02:28,681 63 00:02:28,681 --> 00:02:32,590 Kwa sababu sisi ni kutumia usambazaji kificho na maktaba 64 00:02:32,590 --> 00:02:36,790 kwamba tumekuwa tu imekuwa using-- --It tu mara ya pili tumefanya pset hii, 65 00:02:36,790 --> 00:02:38,650 mambo mambo yanaweza kutokea na appliance yako, 66 00:02:38,650 --> 00:02:41,370 na unataka kupata kwamba nje sasa dhidi ya baadaye. 67 00:02:41,370 --> 00:02:45,570 >> Kwa sababu kama ni Alhamisi usiku au ni Jumatano usiku na kwa sababu baadhi ya 68 00:02:45,570 --> 00:02:48,912 appliance yako tu haina unataka kukimbia na maktaba 69 00:02:48,912 --> 00:02:50,620 au na usambazaji kanuni, kwamba njia 70 00:02:50,620 --> 00:02:52,309 unaweza hata kuanza kufanya coding. 71 00:02:52,309 --> 00:02:54,100 Sababu huwezi kuangalia kuona kama ni kazi. 72 00:02:54,100 --> 00:02:55,975 Yako si gonna kuwa na uwezo ili kuona kama inaandaa. 73 00:02:55,975 --> 00:03:00,500 Unataka kuchukua huduma ya wale mapema katika wiki, wakati bado unaweza email yangu 74 00:03:00,500 --> 00:03:03,100 au moja ya TFS mengine, na tunaweza kupata wale fasta. 75 00:03:03,100 --> 00:03:05,410 Kwa sababu wale ni masuala kwamba ni kwenda kuacha wewe 76 00:03:05,410 --> 00:03:07,120 kutoka kufanya maendeleo yoyote halisi. 77 00:03:07,120 --> 00:03:10,055 Si kama mdudu moja, kwamba unaweza tu aina ya ruka juu. 78 00:03:10,055 --> 00:03:10,712 79 00:03:10,712 --> 00:03:13,420 Kama wewe ni kuwa masuala na yako appliance au usambazaji kificho, 80 00:03:13,420 --> 00:03:16,211 kweli unataka kupata kwamba kuchukuliwa huduma ya mapema kuliko baadaye. 81 00:03:16,211 --> 00:03:20,410 Hivyo hata kama wewe si gonna kweli kuanza coding, download usambazaji 82 00:03:20,410 --> 00:03:24,040 kanuni, kusoma spec, kuhakikisha kila kitu s kufanya kazi huko. 83 00:03:24,040 --> 00:03:25,134 OK? 84 00:03:25,134 --> 00:03:27,675 Kama unaweza tu kufanya hivyo, mimi ahadi ya maisha yako itakuwa rahisi. 85 00:03:27,675 --> 00:03:28,800 86 00:03:28,800 --> 00:03:31,410 Na hivyo pengine wewe kwenda kufanya hivyo sasa hivi haki? 87 00:03:31,410 --> 00:03:32,100 OK. 88 00:03:32,100 --> 00:03:33,950 Hivyo, maswali yoyote huko? 89 00:03:33,950 --> 00:03:35,850 Yoyote ya mambo vifaa? 90 00:03:35,850 --> 00:03:36,910 Kila mtu mzuri? 91 00:03:36,910 --> 00:03:38,270 OK. 92 00:03:38,270 --> 00:03:41,700 >> Icyitonderwa kwa wale wa wewe katika chumba na online. 93 00:03:41,700 --> 00:03:45,437 Mimi nina kwenda kujaribu kubadili kati ya PowerPoint katika appliance 94 00:03:45,437 --> 00:03:47,270 kwa sababu sisi ni kwenda kuwa kufanya baadhi ya coding 95 00:03:47,270 --> 00:03:53,630 leo na mahitaji ya wengi wa watumiaji Pendekezo uchaguzi mimi alimtuma nje wiki iliyopita. 96 00:03:53,630 --> 00:03:55,480 Hivyo, sisi kufanya baadhi ya coding. 97 00:03:55,480 --> 00:03:57,800 Hivyo, kama wewe guys pia wanataka kwa moto hadi vifaa yako, 98 00:03:57,800 --> 00:04:02,910 na unapaswa kuwa got email kutoka kwangu, na sampuli faili. 99 00:04:02,910 --> 00:04:04,310 Tafadhali jisikie huru kufanya hivyo. 100 00:04:04,310 --> 00:04:07,340 >> Hivyo, sisi ni kwenda kuzungumza kuhusu GDB, ambayo ni HatiJava. 101 00:04:07,340 --> 00:04:09,970 Ni kwenda kukusaidia aina ya takwimu nje ambapo 102 00:04:09,970 --> 00:04:11,860 mambo ni kwenda vibaya katika kanuni yako. 103 00:04:11,860 --> 00:04:15,370 Ni kweli tu njia kwa ajili ya wewe hatua kupitia kanuni yako kama kinatokea, 104 00:04:15,370 --> 00:04:19,100 na kuwa na uwezo wa magazeti nje vigezo au kuona nini hasa kinachotokea 105 00:04:19,100 --> 00:04:22,980 chini ya kofia mistari mpango wako kukimbia tu, ni kama faulting, 106 00:04:22,980 --> 00:04:25,030 na wewe ni kama, hakuna wazo nini kilichotokea tu hapa. 107 00:04:25,030 --> 00:04:26,730 Sijui nini line alishindwa katika. 108 00:04:26,730 --> 00:04:29,040 Sijui ambapo potoka. 109 00:04:29,040 --> 00:04:31,280 Hivyo, GDB ni kwenda kukusaidia na kwamba. 110 00:04:31,280 --> 00:04:35,240 Pia, kama wewe kuamua kuendelea ndiyo, na kuchukua 61, 111 00:04:35,240 --> 00:04:38,430 itakuwa kweli, kweli kuwa yako rafiki bora, sababu naweza kukuambia 112 00:04:38,430 --> 00:04:40,840 kwa sababu mimi nina kwenda kupitia darasa hilo. 113 00:04:40,840 --> 00:04:43,620 >> Sisi ni kwenda kuangalia binary tafuta, ambayo kama wewe guys kukumbuka 114 00:04:43,620 --> 00:04:47,540 kubwa kitabu cha simu mfano tamasha kutoka darasa. 115 00:04:47,540 --> 00:04:50,620 Tutaweza kuwa utekelezaji huo, na kutembea kwa njia ya kuwa kidogo zaidi, 116 00:04:50,620 --> 00:04:54,650 na kisha tunakwenda kupitia wanne aina mbalimbali, ambayo ni Bubble, 117 00:04:54,650 --> 00:04:56,285 Uteuzi, Insertion, na kuunganisha. 118 00:04:56,285 --> 00:04:57,830 119 00:04:57,830 --> 00:04:58,330 Baridi. 120 00:04:58,330 --> 00:05:00,390 Hivyo, GDB kama nilivyoeleza, ni HatiJava. 121 00:05:00,390 --> 00:05:01,400 122 00:05:01,400 --> 00:05:09,370 Na haya ni aina ya kubwa mambo, kazi kubwa au amri 123 00:05:09,370 --> 00:05:13,240 kwamba matumizi ya ndani ya GDB, na mimi kutembea wewe kupitia demo yake katika pili. 124 00:05:13,240 --> 00:05:15,360 >> Hivyo, hii si tu kwenda kukaa abstract. 125 00:05:15,360 --> 00:05:18,000 Mimi itabidi kujaribu na kufanya hivyo kama halisi kama inawezekana kwa wewe guys. 126 00:05:18,000 --> 00:05:19,870 Hivyo, kuvunja. 127 00:05:19,870 --> 00:05:22,200 Utakuwa ama kuwa mapumziko kama, baadhi ya idadi, ambayo 128 00:05:22,200 --> 00:05:26,900 inawakilisha line katika mpango wako, au unaweza jina kazi. 129 00:05:26,900 --> 00:05:30,150 Hivyo, kama wewe kusema kuvunja kuu, itakuwa kuacha katika kuu, 130 00:05:30,150 --> 00:05:32,400 na basi wewe kutembea kwa njia ya kazi hiyo. 131 00:05:32,400 --> 00:05:36,350 >> Kadhalika, kama una baadhi ya nje kazi kama Swap au Cube, 132 00:05:36,350 --> 00:05:38,450 kwamba sisi inaonekana katika wiki iliyopita. 133 00:05:38,450 --> 00:05:41,780 Kama umesema kuvunja mmoja wa wale, wakati wowote mpango wako hits kwamba, 134 00:05:41,780 --> 00:05:44,290 utakuwa kusubiri kwa wewe kuwaambia nini cha kufanya. 135 00:05:44,290 --> 00:05:47,860 Kabla itakuwa tu nitafanya hivyo inaweza kweli hatua ndani ya kazi 136 00:05:47,860 --> 00:05:49,020 na kuona nini kinaendelea. 137 00:05:49,020 --> 00:05:50,370 138 00:05:50,370 --> 00:05:53,515 Hivyo, Next, tu skips juu ya mstari wa pili, huenda juu ya utendaji. 139 00:05:53,515 --> 00:05:54,730 140 00:05:54,730 --> 00:05:55,560 Hatua. 141 00:05:55,560 --> 00:05:56,810 Haya yote ni abstract kidogo. 142 00:05:56,810 --> 00:06:00,530 Hivyo, mimi nina kwenda tu kukimbia kwa njia yao, lakini utaona yao katika matumizi ya pili. 143 00:06:00,530 --> 00:06:01,810 >> Hatua katika kazi. 144 00:06:01,810 --> 00:06:04,170 Hivyo kama mimi alikuwa akisema, kama na Swap, ingekuwa 145 00:06:04,170 --> 00:06:07,110 kuruhusu kweli kama wewe ni kama kimwili wanazidi ndani, 146 00:06:07,110 --> 00:06:10,990 unaweza fujo na vigezo wale, magazeti nini wao, kuona nini kinaendelea. 147 00:06:10,990 --> 00:06:12,140 148 00:06:12,140 --> 00:06:14,830 Orodha ya mapenzi halisi tu magazeti nje kificho jirani. 149 00:06:14,830 --> 00:06:17,570 Hivyo, kama wewe aina ya kusahau ambapo wewe ni katika mpango wako, 150 00:06:17,570 --> 00:06:19,880 au wewe wanashangaa nini kinaendelea karibu yake, 151 00:06:19,880 --> 00:06:23,790 hii tu magazeti nje sehemu ya kama mistari mitano au sita kuzunguka. 152 00:06:23,790 --> 00:06:26,080 Hivyo, unaweza kupata oriented kuhusu ambapo wewe ni. 153 00:06:26,080 --> 00:06:27,230 154 00:06:27,230 --> 00:06:28,650 >> Magazeti baadhi ya kutofautiana. 155 00:06:28,650 --> 00:06:34,590 Hivyo, kama una muhimu kama katika Kaisari, kwamba tutaangalia. 156 00:06:34,590 --> 00:06:36,220 Unaweza kusema this muhimu katika hatua yoyote. 157 00:06:36,220 --> 00:06:40,070 Ni nitakuambia nini thamani ni hivyo kwamba, labda mahali fulani njiani, 158 00:06:40,070 --> 00:06:42,070 you overwrote muhimu yako. 159 00:06:42,070 --> 00:06:45,495 Unaweza kweli kuwaambia kwamba kwa sababu unaweza kweli kuchunguza thamani hiyo. 160 00:06:45,495 --> 00:06:46,500 161 00:06:46,500 --> 00:06:48,780 >> Katika wenyeji, tu prints nje vigezo lako. 162 00:06:48,780 --> 00:06:53,120 Hivyo, wakati wowote wewe ni ndani ya kitanzi, na wewe tu wanataka kuona kama, oh. 163 00:06:53,120 --> 00:06:54,270 Mimi yangu ni nini? 164 00:06:54,270 --> 00:06:57,020 Ni thamani hii muhimu nini kwamba mimi initialize hapa? 165 00:06:57,020 --> 00:06:58,537 Ujumbe katika hatua hii ni nini? 166 00:06:58,537 --> 00:07:00,370 Itakuwa tu magazeti yote ya wale, ili 167 00:07:00,370 --> 00:07:04,330 hawana mmoja mmoja kusema, this I. this Ujumbe. 168 00:07:04,330 --> 00:07:04,970 Magazeti muhimu. 169 00:07:04,970 --> 00:07:06,190 170 00:07:06,190 --> 00:07:07,700 Na kisha kuonyesha. 171 00:07:07,700 --> 00:07:10,370 Nini kwamba hana ni kama wewe hatua kupitia mpango, 172 00:07:10,370 --> 00:07:13,980 utakuwa tu kuhakikisha kwamba ni Inaonekana baadhi ya kutofautiana fulani 173 00:07:13,980 --> 00:07:14,780 katika kila hatua. 174 00:07:14,780 --> 00:07:17,160 Ili also-- --it ni aina ya mkato ambapo 175 00:07:17,160 --> 00:07:19,530 huna kuendelea kama, oh. 176 00:07:19,530 --> 00:07:23,150 Magazeti muhimu au this I. Ni tu moja kwa moja kufanya hivyo kwa ajili yenu. 177 00:07:23,150 --> 00:07:25,959 >> Hivyo, pamoja na kwamba, tunakwenda kuona jinsi hii unaendelea. 178 00:07:25,959 --> 00:07:28,000 Mimi nina kwenda kujaribu na kubadili juu ya appliance yangu. 179 00:07:28,000 --> 00:07:30,200 180 00:07:30,200 --> 00:07:31,271 Kuona kama naweza kufanya hivyo. 181 00:07:31,271 --> 00:07:31,770 Wote. 182 00:07:31,770 --> 00:07:40,970 183 00:07:40,970 --> 00:07:42,370 Sisi ni kwenda tu kwa kioo yake. 184 00:07:42,370 --> 00:07:44,530 Kuna kitu mambo juu ya mbali yangu anyways. 185 00:07:44,530 --> 00:07:49,600 186 00:07:49,600 --> 00:07:50,100 OK. 187 00:07:50,100 --> 00:07:57,030 188 00:07:57,030 --> 00:08:01,054 Hii inahitaji kuwa hii moja. 189 00:08:01,054 --> 00:08:01,795 Ni hivyo vidogo. 190 00:08:01,795 --> 00:08:03,730 191 00:08:03,730 --> 00:08:05,120 Hebu angalia kama tunaweza kufanya hivyo. 192 00:08:05,120 --> 00:08:09,970 193 00:08:09,970 --> 00:08:10,940 >> OK. 194 00:08:10,940 --> 00:08:15,305 Alice ni wazi wanajitahidi hapa kidogo tu, 195 00:08:15,305 --> 00:08:17,995 lakini tutaweza kupata katika momento. 196 00:08:17,995 --> 00:08:20,810 197 00:08:20,810 --> 00:08:22,020 OK. 198 00:08:22,020 --> 00:08:25,900 Sisi ni kwenda tu kuongeza hii. 199 00:08:25,900 --> 00:08:28,770 200 00:08:28,770 --> 00:08:29,380 OK. 201 00:08:29,380 --> 00:08:31,679 Unaweza kila mtu aina ya kuona kwamba? 202 00:08:31,679 --> 00:08:32,470 Labda kidogo? 203 00:08:32,470 --> 00:08:33,594 Najua ni kidogo kidogo. 204 00:08:33,594 --> 00:08:34,570 205 00:08:34,570 --> 00:08:37,530 Huwezi kabisa kufikiri jinsi ya kufanya hii kubwa. 206 00:08:37,530 --> 00:08:38,350 Kama mtu anajua. 207 00:08:38,350 --> 00:08:40,309 Je, mtu yeyote kujua jinsi ya kufanya hivyo kubwa? 208 00:08:40,309 --> 00:08:40,932 OK. 209 00:08:40,932 --> 00:08:42,140 Tunakwenda unaendelea nayo. 210 00:08:42,140 --> 00:08:45,801 Haijalishi anyways kwa sababu ni tu hiyo ni kificho kwamba wewe guys lazima 211 00:08:45,801 --> 00:08:46,300 kuwa. 212 00:08:46,300 --> 00:08:48,310 >> Nini muhimu zaidi ni terminal hapa. 213 00:08:48,310 --> 00:08:52,840 214 00:08:52,840 --> 00:08:58,690 Na sisi hapa nini ni ndogo sana? 215 00:08:58,690 --> 00:09:02,325 216 00:09:02,325 --> 00:09:02,825 Vipimo. 217 00:09:02,825 --> 00:09:07,920 218 00:09:07,920 --> 00:09:08,420 Oh. 219 00:09:08,420 --> 00:09:09,500 Kweli Ike. 220 00:09:09,500 --> 00:09:10,880 Jinsi ya hii? 221 00:09:10,880 --> 00:09:11,770 Nje ya hapo. 222 00:09:11,770 --> 00:09:19,370 223 00:09:19,370 --> 00:09:21,810 Ni kwamba bora kwa kila mtu? 224 00:09:21,810 --> 00:09:22,525 OK ,. 225 00:09:22,525 --> 00:09:23,025 Baridi. 226 00:09:23,025 --> 00:09:25,830 227 00:09:25,830 --> 00:09:28,220 >> Unajua wakati uko katika CS matatizo darasa kiufundi 228 00:09:28,220 --> 00:09:32,971 ni aina ya sehemu ya the-- Hivyo, hebu wazi huu. 229 00:09:32,971 --> 00:09:33,470 OK. 230 00:09:33,470 --> 00:09:38,060 Hivyo, haki hapa katika sehemu, ambayo tulikuwa hapa. 231 00:09:38,060 --> 00:09:40,830 Caesar ni faili la kutekelezwa. 232 00:09:40,830 --> 00:09:41,800 Hivyo mimi alifanya hivyo. 233 00:09:41,800 --> 00:09:46,370 Hivyo, jambo moja kwa kutambua na GDB ni kwamba ni kazi tu juu ya executable faili. 234 00:09:46,370 --> 00:09:48,040 Hivyo, huwezi kuendesha kwenye DOTSY. 235 00:09:48,040 --> 00:09:50,532 Una kweli kufanya kuhakikisha kwamba kanuni yako inaandaa, 236 00:09:50,532 --> 00:09:51,865 na kwamba kweli anaweza kukimbia. 237 00:09:51,865 --> 00:09:52,970 238 00:09:52,970 --> 00:09:56,186 >> Hivyo, kuhakikisha kwamba kama hana kukusanya, kupata kukusanya, 239 00:09:56,186 --> 00:09:57,810 ili uweze aina ya kukimbia kwa njia hiyo. 240 00:09:57,810 --> 00:10:04,590 Hivyo, kuanza GDB, wote kufanya, Gloria aina GDB, na kisha tu 241 00:10:04,590 --> 00:10:06,250 faili kwamba unataka. 242 00:10:06,250 --> 00:10:08,240 Mimi daima misspell Kaisari. 243 00:10:08,240 --> 00:10:11,730 Lakini unataka kuhakikisha tangu ni executable, 244 00:10:11,730 --> 00:10:14,210 ti ya dot flash ili ina maana wewe kwenda 245 00:10:14,210 --> 00:10:19,240 kuendesha CSI wewe kwenda kutekeleza hii files ama kwa HatiJava. 246 00:10:19,240 --> 00:10:19,910 OK. 247 00:10:19,910 --> 00:10:22,885 Hivyo, huna kwamba, unaweza kupata aina hii ya gibberish. 248 00:10:22,885 --> 00:10:24,250 249 00:10:24,250 --> 00:10:25,750 Ni tu mambo yote kuhusu HatiJava. 250 00:10:25,750 --> 00:10:28,200 Wewe si kweli kuwa kwa wasiwasi kuhusu hilo hivi sasa. 251 00:10:28,200 --> 00:10:31,460 Na kama unaweza kuona, tuna hii parens wazi, Pato la Taifa, parens karibu, 252 00:10:31,460 --> 00:10:34,690 na aina tu ya inaonekana kama mstari amri yetu, haki? 253 00:10:34,690 --> 00:10:37,010 >> Hivyo, nini tunataka do-- --So, Jambo la kwanza 254 00:10:37,010 --> 00:10:39,570 ni tunataka kuchagua mahali kuivunja. 255 00:10:39,570 --> 00:10:42,332 Hivyo, kuna mdudu moja katika mpango huu Kaisari 256 00:10:42,332 --> 00:10:44,290 kwamba mimi kuanzisha, kwamba tunakwenda kupata nje. 257 00:10:44,290 --> 00:10:45,330 258 00:10:45,330 --> 00:10:56,350 Ni nini haina ni inachukua pembejeo Barfoo katika mechi zote, na kwa sababu baadhi ya 259 00:10:56,350 --> 00:11:01,950 haina mabadiliko ya A. Ni tu majani peke yake, Je kila kitu kingine sahihi, 260 00:11:01,950 --> 00:11:03,980 lakini barua ya pili A bado unchanged. 261 00:11:03,980 --> 00:11:07,120 Hivyo, sisi ni kwenda kujaribu na takwimu kwa nini kuwa ni. 262 00:11:07,120 --> 00:11:10,440 Hivyo, jambo la kwanza kawaida wanataka kufanya wakati wowote kuanza GDB 263 00:11:10,440 --> 00:11:12,010 ni takwimu nje ambapo kuivunja. 264 00:11:12,010 --> 00:11:14,956 >> Hivyo Kaisari ni mpango pretty mfupi. 265 00:11:14,956 --> 00:11:16,330 Sisi tu kuwa na kazi moja, haki? 266 00:11:16,330 --> 00:11:18,520 Ilikuwa ni kazi yetu katika Kaisari nini? 267 00:11:18,520 --> 00:11:19,590 268 00:11:19,590 --> 00:11:24,350 Kuna kazi moja tu, Kuu haki ni? 269 00:11:24,350 --> 00:11:26,490 Kuu ni kazi kwa ajili ya programu yako yote. 270 00:11:26,490 --> 00:11:29,230 Kama hakuwa na Kuu, mimi ili kuwa na wasiwasi kidogo sasa hivi, 271 00:11:29,230 --> 00:11:31,000 lakini Natumaini wote walikuwa Kuu huko. 272 00:11:31,000 --> 00:11:34,150 Hivyo, nini tunaweza kufanya sisi ni wanaweza kuvunja tu Kuu, tu kama hiyo. 273 00:11:34,150 --> 00:11:35,190 Hivyo, anasema, OK. 274 00:11:35,190 --> 00:11:37,430 Sisi kuweka moja wetu breakpoint huko. 275 00:11:37,430 --> 00:11:42,870 >> Hivyo, sasa jambo kukumbuka ni Caesar inachukua amri moja hoja line haki 276 00:11:42,870 --> 00:11:45,150 na hatujafanya kwamba popote bado. 277 00:11:45,150 --> 00:11:47,560 Hivyo, nini kufanya ni wakati wewe kweli kwenda kukimbia 278 00:11:47,560 --> 00:11:51,540 mpango, mpango wowote kwamba wewe ni mbio katika GDB kwamba mahitaji ya mstari amri 279 00:11:51,540 --> 00:11:55,010 hoja, wewe kwenda pembejeo wakati wewe kwanza kuanza mbio hiyo. 280 00:11:55,010 --> 00:11:59,280 Hivyo, katika kesi hii, sisi kufanya Kukimbia na ufunguo wa tatu. 281 00:11:59,280 --> 00:12:00,770 282 00:12:00,770 --> 00:12:02,040 Na itakuwa kweli kuanza. 283 00:12:02,040 --> 00:12:08,480 >> Hivyo, kama unaweza kuona hapa, tuna Kama RC si sawa na 2. 284 00:12:08,480 --> 00:12:12,210 Hivyo kama wewe guys wote wana kwamba faili kwamba mimi alimtuma nje up 285 00:12:12,210 --> 00:12:15,100 utaona kwamba hiyo ni kama mstari wa kwanza kazi yetu kuu, haki? 286 00:12:15,100 --> 00:12:17,890 Ni kuangalia kuona kama tuna idadi sahihi ya hoja. 287 00:12:17,890 --> 00:12:20,620 Hivyo, kama wewe wanashangaa kama RC ni sahihi, 288 00:12:20,620 --> 00:12:23,250 unaweza kufanya kitu kama this RC. 289 00:12:23,250 --> 00:12:24,380 290 00:12:24,380 --> 00:12:28,640 RC ni mbili, ambayo ni kile sisi inatarajiwa, haki? 291 00:12:28,640 --> 00:12:32,010 >> Hivyo, tunaweza kwenda Next, na kuendelea kupitia. 292 00:12:32,010 --> 00:12:33,200 Hivyo, tuna baadhi ya muhimu huko. 293 00:12:33,200 --> 00:12:34,260 294 00:12:34,260 --> 00:12:37,090 Na tunaweza magazeti nje ufunguo wetu kuhakikisha kwamba ni sahihi. 295 00:12:37,090 --> 00:12:38,380 296 00:12:38,380 --> 00:12:39,500 Kuvutia. 297 00:12:39,500 --> 00:12:41,210 Si kabisa kile sisi inatarajiwa. 298 00:12:41,210 --> 00:12:44,810 Hivyo, jambo moja kwa kutambua na GDB pia, ni 299 00:12:44,810 --> 00:12:49,000 kwamba si kweli mpaka hit Next, kwamba line ya kuwa wewe tu aliona 300 00:12:49,000 --> 00:12:50,720 ni kweli kunyongwa. 301 00:12:50,720 --> 00:12:53,870 Hivyo, katika kesi hii muhimu haijawahi kupewa bado. 302 00:12:53,870 --> 00:12:57,050 Hivyo, muhimu ni baadhi ya thamani ya takataka kwamba unaweza kuona chini huko. 303 00:12:57,050 --> 00:13:03,680 Hasi $ 120-- --It ya bilioni moja na kitu mambo isiyo ya kawaida haki? 304 00:13:03,680 --> 00:13:05,340 Ni si muhimu kwamba sisi ilivyotarajiwa. 305 00:13:05,340 --> 00:13:10,720 Lakini kama sisi hit Next, na kisha sisi kujaribu na this muhimu, ni ya tatu. 306 00:13:10,720 --> 00:13:11,710 >> Kila mtu kuona kwamba? 307 00:13:11,710 --> 00:13:13,780 Hivyo, kama wewe kupata kitu kwamba wewe ni kama, kusubiri. 308 00:13:13,780 --> 00:13:15,540 Hii ni kabisa makosa, na mimi sijui 309 00:13:15,540 --> 00:13:20,150 jinsi hili lingetokea kwa sababu yote nataka kufanya ni kuwapa posta, kutofautiana, 310 00:13:20,150 --> 00:13:22,900 kujaribu kupiga Next, jaribu uchapishaji tena, na kuona kama kwamba kazi. 311 00:13:22,900 --> 00:13:27,830 Kwa sababu ni kwenda tu kutekeleza na kweli hawawajui kitu baada ya wewe 312 00:13:27,830 --> 00:13:29,340 kugonga Next. 313 00:13:29,340 --> 00:13:30,336 Mantiki kwa kila mtu? 314 00:13:30,336 --> 00:13:30,836 Uh huh? 315 00:13:30,836 --> 00:13:33,220 >> SPIKA 2: Wakati random namba haina maana gani? 316 00:13:33,220 --> 00:13:34,790 >> SPIKA 1: Ni tu random. 317 00:13:34,790 --> 00:13:35,710 Ni tu takataka. 318 00:13:35,710 --> 00:13:38,320 Ni tu kitu ambacho yako kompyuta Watapiga hawawajui. 319 00:13:38,320 --> 00:13:39,721 320 00:13:39,721 --> 00:13:40,220 Baridi. 321 00:13:40,220 --> 00:13:45,760 Hivyo, sasa tunaweza kusonga kupitia, na hivyo sasa tuna hii Nakala GetString wazi. 322 00:13:45,760 --> 00:13:48,600 Hivyo, napenda tu kuanzisha nini kitatokea wakati sisi kugonga Ifwatayo hapa. 323 00:13:48,600 --> 00:13:51,320 GDB yetu aina ya kutoweka, haki? 324 00:13:51,320 --> 00:13:55,720 Hii ni kwa sababu GetString sasa utekelezaji, haki? 325 00:13:55,720 --> 00:14:01,460 Hivyo, wakati tuliona Nakala wazi ni sawa na GetString, parens wazi na parens, 326 00:14:01,460 --> 00:14:04,380 na sisi hit Next, ambayo ina kweli kunyongwa sasa. 327 00:14:04,380 --> 00:14:06,580 Hivyo, ni kusubiri kwa sisi pembejeo kitu. 328 00:14:06,580 --> 00:14:13,560 >> Hivyo, sisi ni kwenda pembejeo chakula yetu ambayo ni nini ni kushindwa kama niliwaambia 329 00:14:13,560 --> 00:14:18,020 na kwamba tu anasema kwamba ni kumaliza utekelezaji, kwamba kufungwa 330 00:14:18,020 --> 00:14:19,980 bracket ina maana ni exiting nje ya kitanzi. 331 00:14:19,980 --> 00:14:21,170 332 00:14:21,170 --> 00:14:25,420 Hivyo, tunaweza kugonga Next, na sasa, kama mimi nina uhakika wewe ni wote ukoo na Kaisari, 333 00:14:25,420 --> 00:14:27,260 hii ni, nini mstari huu kwenda kufanya. 334 00:14:27,260 --> 00:14:32,030 Ni kwa Int mimi ni sawa na 0, N sawa Strlen, Nakala wazi, na kisha 335 00:14:32,030 --> 00:14:33,960 Mimi ni chini ya n, mimi, pamoja, pamoja. 336 00:14:33,960 --> 00:14:35,210 Ni kitanzi hii kwenda kufanya nini? 337 00:14:35,210 --> 00:14:37,900 338 00:14:37,900 --> 00:14:39,160 Kufungua ujumbe wako. 339 00:14:39,160 --> 00:14:39,770 Baridi. 340 00:14:39,770 --> 00:14:41,330 Hivyo, hebu kuanza kufanya hivyo. 341 00:14:41,330 --> 00:14:47,210 >> Hivyo, lazima hali hii mechi, kwa moja wetu wa kwanza? 342 00:14:47,210 --> 00:14:52,250 Kama ni B, ni Nakala wazi I. Sisi Unaweza kupata taarifa kuhusu wenyeji wetu. 343 00:14:52,250 --> 00:14:53,610 344 00:14:53,610 --> 00:14:57,970 Kwa hiyo, mimi ni sifuri, na kama sita, ambayo tunatarajia, na muhimu yetu ni tatu. 345 00:14:57,970 --> 00:14:59,227 Wote kwamba kufanya maana, haki? 346 00:14:59,227 --> 00:15:01,310 Wale idadi ni wote nini hasa wanapaswa kuwa. 347 00:15:01,310 --> 00:15:02,590 348 00:15:02,590 --> 00:15:03,870 Hivyo, hum? 349 00:15:03,870 --> 00:15:05,620 SPIKA 3: Nina namba random kwa ajili ya mgodi. 350 00:15:05,620 --> 00:15:09,156 351 00:15:09,156 --> 00:15:12,030 SPIKA 1: Naam, tunaweza check-- --we unaweza kuzungumza juu ya kwamba katika pili. 352 00:15:12,030 --> 00:15:14,110 353 00:15:14,110 --> 00:15:15,750 Lakini unapaswa kuwa kupata hii. 354 00:15:15,750 --> 00:15:17,700 355 00:15:17,700 --> 00:15:20,130 Hivyo, kama tuna mtaji B kwa moja wetu wa kwanza, 356 00:15:20,130 --> 00:15:22,080 hali hii lazima kukamata, haki? 357 00:15:22,080 --> 00:15:27,120 Hivyo, kama sisi hit Next, tunaona kwamba hii Kama kweli executes. 358 00:15:27,120 --> 00:15:29,220 Kwa sababu kama wewe ni kufuatia pamoja katika kanuni yako, 359 00:15:29,220 --> 00:15:33,460 mstari huu hapa, ambapo Nakala wazi mimi ni kubadilishwa kwa hesabu hii, 360 00:15:33,460 --> 00:15:35,720 executes tu kama Kama hali ni haki sahihi? 361 00:15:35,720 --> 00:15:36,905 362 00:15:36,905 --> 00:15:40,240 >> GDB ni kwenda tu kuonyesha mambo ambayo ni kweli utekelezaji. 363 00:15:40,240 --> 00:15:45,140 Hivyo kama hali hii Kama si alikutana, ni tu kwenda ruka kwa mstari wa pili. 364 00:15:45,140 --> 00:15:46,540 OK? 365 00:15:46,540 --> 00:15:48,510 Hivyo, tuna hiyo. 366 00:15:48,510 --> 00:15:51,171 Bracket hii ina maana ni imefungwa nje ya kitanzi sasa. 367 00:15:51,171 --> 00:15:52,420 Hivyo, ni kwenda kuanza tena. 368 00:15:52,420 --> 00:15:54,760 369 00:15:54,760 --> 00:15:56,280 Tu kama hiyo. 370 00:15:56,280 --> 00:15:59,120 Hivyo, kwamba tunaweza kupata maelezo kuhusu wenyeji wetu hapa, 371 00:15:59,120 --> 00:16:02,575 na tunaona kwamba yetu ya kwanza barua imebadilika, haki? 372 00:16:02,575 --> 00:16:05,150 Ni sasa E, kama ni lazima. 373 00:16:05,150 --> 00:16:07,360 Hivyo, tunaweza kuendelea. 374 00:16:07,360 --> 00:16:08,500 >> Na sisi kuwa na kuangalia hii. 375 00:16:08,500 --> 00:16:09,916 Na kuangalia hii lazima kazi, haki? 376 00:16:09,916 --> 00:16:12,570 Ni A. Ni lazima iliyopita barua tatu mbele. 377 00:16:12,570 --> 00:16:14,320 378 00:16:14,320 --> 00:16:16,530 Lakini kama taarifa, sisi kupata kitu tofauti. 379 00:16:16,530 --> 00:16:17,580 380 00:16:17,580 --> 00:16:22,860 Hivyo katika kesi hii hapa, ni hawakupata yake, na hivyo mstari huu kunyongwa, 381 00:16:22,860 --> 00:16:28,620 ambayo iliyopita B. wetu Lakini, katika kesi hii hapa, 382 00:16:28,620 --> 00:16:32,860 tuna kwamba tu skipped yake, na akaenda [? L Siff. ?] 383 00:16:32,860 --> 00:16:34,660 Hivyo kitu kinaendelea huko. 384 00:16:34,660 --> 00:16:37,780 Nini anayewambia ni kwamba, Tunajua kwamba ni lazima kupata hapa, 385 00:16:37,780 --> 00:16:39,200 lakini siyo. 386 00:16:39,200 --> 00:16:42,210 Je, mtu yeyote kuona nini wetu Tatizo ni kwamba katika mstari? 387 00:16:42,210 --> 00:16:45,380 388 00:16:45,380 --> 00:16:46,969 Ni jambo dakika sana. 389 00:16:46,969 --> 00:16:48,510 Na pia unaweza kuangalia code yako. 390 00:16:48,510 --> 00:16:49,980 391 00:16:49,980 --> 00:16:54,940 Ni pia line-- kusahau kile line ni katika there-- lakini ni katika [inaudible]. 392 00:16:54,940 --> 00:16:55,480 Ndiyo? 393 00:16:55,480 --> 00:16:58,639 >> SPIKA 4: Ni juu ya kubwa kuliko ukurasa kama wewe kusoma katika kitabu. 394 00:16:58,639 --> 00:16:59,430 SPIKA 1: Hasa. 395 00:16:59,430 --> 00:17:02,620 Hivyo, HatiJava hakuweza kuwaambia kwamba, lakini HatiJava 396 00:17:02,620 --> 00:17:05,880 inaweza kupata wewe chini ya mstari unajua si kazi. 397 00:17:05,880 --> 00:17:09,319 Na wakati mwingine, wakati hasa baadaye katika muhula, wakati 398 00:17:09,319 --> 00:17:12,910 wewe ni kushughulika na mia, a mia chache mistari ya kificho, na wewe 399 00:17:12,910 --> 00:17:16,190 sijui ambapo ni kushindwa, hii ni njia kuu ya kufanya hivyo. 400 00:17:16,190 --> 00:17:17,900 401 00:17:17,900 --> 00:17:18,989 Hivyo, sisi kupatikana mdudu yetu. 402 00:17:18,989 --> 00:17:21,530 Unaweza kurekebisha katika faili yako, na kisha unaweza kukimbia tena, 403 00:17:21,530 --> 00:17:23,029 na kila kitu ingekuwa kazi kikamilifu. 404 00:17:23,029 --> 00:17:24,970 405 00:17:24,970 --> 00:17:30,590 Na jambo kubwa ni hii inaweza kuonekana kama, sawa. 406 00:17:30,590 --> 00:17:31,090 Yeah. 407 00:17:31,090 --> 00:17:31,370 Baridi. 408 00:17:31,370 --> 00:17:32,744 Alijua wewe ni kuangalia kwa. 409 00:17:32,744 --> 00:17:34,910 Hivyo, wewe alijua nini cha kufanya. 410 00:17:34,910 --> 00:17:39,021 >> GDB inaweza kuwa super kusaidia kwa sababu wewe unaweza magazeti nje ya mambo hayo yote kuwa wewe 411 00:17:39,021 --> 00:17:39,520 bila. 412 00:17:39,520 --> 00:17:41,160 Ni muhimu zaidi kuliko printf. 413 00:17:41,160 --> 00:17:43,440 Jinsi wengi matumizi kama printf kauli 414 00:17:43,440 --> 00:17:46,200 kufikiri ambapo mdudu alikuwa, haki? 415 00:17:46,200 --> 00:17:48,450 Hivyo, pamoja na hayo, huna kushika kwenda nyuma, 416 00:17:48,450 --> 00:17:51,139 na kama kutoa maoni katika Printf, au kutoa maoni nje, 417 00:17:51,139 --> 00:17:52,930 na kufikiri nini unapaswa kuwa uchapishaji. 418 00:17:52,930 --> 00:17:55,670 Hii kweli tu utapata hatua kupitia, magazeti nje mambo 419 00:17:55,670 --> 00:18:00,000 kama wewe kwenda kupitia, hivyo, unaweza kuchunguza jinsi wao kubadilika katika muda halisi, 420 00:18:00,000 --> 00:18:02,190 kama mpango wako ni mbio. 421 00:18:02,190 --> 00:18:04,390 >> Na haina kuchukua kidogo kidogo ya kupata kutumika. 422 00:18:04,390 --> 00:18:07,850 Napenda sana kupendekeza tu aina kuwa kidogo kuchanganyikiwa na ni 423 00:18:07,850 --> 00:18:08,930 kwa hivi sasa. 424 00:18:08,930 --> 00:18:13,450 Kama wewe kutumia muda wa saa zaidi ya wiki ijayo kujifunza jinsi ya kutumia GDB, 425 00:18:13,450 --> 00:18:16,140 wewe kuokoa mwenyewe hivyo muda mwingi baadaye. 426 00:18:16,140 --> 00:18:18,750 Na halisi. sisi tunasema hii kwa watu kila mwaka, 427 00:18:18,750 --> 00:18:23,890 na Nakumbuka wakati mimi alichukua darasa, mimi nilikuwa kama, mimi itakuwa vizuri. 428 00:18:23,890 --> 00:18:24,700 Hakuna 429 00:18:24,700 --> 00:18:27,030 Pset 6 alikuja juu na mimi nilikuwa kama, mimi nina gonna kujifunza 430 00:18:27,030 --> 00:18:29,500 jinsi ya kutumia GDB kwa sababu mimi si kujua nini kinaendelea hapa. 431 00:18:29,500 --> 00:18:32,940 >> Hivyo kama wewe kuchukua muda ili kutumia kwenye programu ndogo 432 00:18:32,940 --> 00:18:35,697 kwamba wewe ni kwenda kuwa na kazi, kama kazi 433 00:18:35,697 --> 00:18:37,530 kupitia kitu kama Visionare, kama hii. 434 00:18:37,530 --> 00:18:38,800 435 00:18:38,800 --> 00:18:42,850 Au kama unataka mazoezi ya ziada, mimi nina uhakika Mimi naweza kuja na mipango Buggy, 436 00:18:42,850 --> 00:18:45,300 kwa wewe Debug kama Ningependa. 437 00:18:45,300 --> 00:18:49,300 >> Lakini kama wewe tu kuchukua muda kupata kutumika yake, tu kucheza karibu na hayo, 438 00:18:49,300 --> 00:18:50,550 itakuwa kweli kuwatumikia ninyi pia. 439 00:18:50,550 --> 00:18:52,591 Na ni kweli moja ya mambo ambayo wewe tu 440 00:18:52,591 --> 00:18:57,340 kuwa na kujaribu, na kupata mikono yako chafu na, kabla ya kweli kuelewa. 441 00:18:57,340 --> 00:19:02,090 Mimi kwa kweli kuelewa tu mara moja Mimi nilikuwa na Debug mambo na hayo, 442 00:19:02,090 --> 00:19:08,170 na ni kiasi nicer kuwa na wazo la jinsi ya Debug mapema kuliko baadaye. 443 00:19:08,170 --> 00:19:08,850 OK. 444 00:19:08,850 --> 00:19:09,625 Baridi. 445 00:19:09,625 --> 00:19:12,960 Najua kwamba aina ya kama Bila shaka ajali katika GDB, 446 00:19:12,960 --> 00:19:16,400 na mimi dhahiri kazi ya kupata haya kwa kuangalia kubwa wakati ujao. 447 00:19:16,400 --> 00:19:17,590 448 00:19:17,590 --> 00:19:18,280 Baridi. 449 00:19:18,280 --> 00:19:20,390 >> Hivyo, kama sisi kurudi nyuma kwa PowerPoint wetu. 450 00:19:20,390 --> 00:19:27,194 451 00:19:27,194 --> 00:19:28,110 Ni hii kwenda kufanya kazi? 452 00:19:28,110 --> 00:19:29,711 453 00:19:29,711 --> 00:19:30,210 Awh. 454 00:19:30,210 --> 00:19:31,101 Ndiyo. 455 00:19:31,101 --> 00:19:31,600 OK. 456 00:19:31,600 --> 00:19:35,480 Hivyo, kama wewe milele haja yoyote ya wale tena, kuna orodha. 457 00:19:35,480 --> 00:19:37,160 458 00:19:37,160 --> 00:19:40,830 Hivyo binary Search, ambayo kila mtu anakumbuka tamasha kubwa la David 459 00:19:40,830 --> 00:19:42,259 ripping vitabu simu katika nusu. 460 00:19:42,259 --> 00:19:44,050 Mimi si kweli kupata vitabu simu tena, 461 00:19:44,050 --> 00:19:46,530 kwa sababu kama ambapo wewe kupata vitabu simu siku hizi? 462 00:19:46,530 --> 00:19:48,220 Mimi kwa kweli sijui. 463 00:19:48,220 --> 00:19:49,840 464 00:19:49,840 --> 00:19:50,590 Search Binary. 465 00:19:50,590 --> 00:19:52,464 Je, mtu yeyote kumbuka jinsi binary Search matendo? 466 00:19:52,464 --> 00:19:54,380 467 00:19:54,380 --> 00:19:55,220 Mtu yeyote wakati wote? 468 00:19:55,220 --> 00:19:56,325 Yeah? 469 00:19:56,325 --> 00:19:58,283 SPIKA 5: Unajua wakati ukiangalia ambayo nusu 470 00:19:58,283 --> 00:20:01,146 itakuwa katika, Kulingana na kwamba, na kujikwamua nusu nyingine. 471 00:20:01,146 --> 00:20:01,896 >> SPIKA 1 Hasa. 472 00:20:01,896 --> 00:20:06,290 Hivyo, Binary Search, ni aina ya a-- --we kama simu yake kugawanya na kushinda. 473 00:20:06,290 --> 00:20:09,170 Hivyo, nini utasikia kufanya ni utasikia kuangalia katikati, 474 00:20:09,170 --> 00:20:11,990 na utaona kama ni mechi nini wewe kutafuta. 475 00:20:11,990 --> 00:20:15,420 Na kama hana, basi wewe kujaribu kufikiri, ni kwenda kuwa kushoto 476 00:20:15,420 --> 00:20:16,450 nusu au nusu ya haki. 477 00:20:16,450 --> 00:20:19,325 Hivyo, hii inaweza kuwa kama wewe ni kuangalia katika kitu ambacho alphabetized, 478 00:20:19,325 --> 00:20:20,720 unaweza kuona, oh. 479 00:20:20,720 --> 00:20:22,750 Je Allison kuja kabla ya M? 480 00:20:22,750 --> 00:20:23,250 Ndiyo. 481 00:20:23,250 --> 00:20:25,030 Hivyo, tunakwenda kuangalia nusu ya kwanza. 482 00:20:25,030 --> 00:20:26,450 >> Au inaweza kuwa kama na namba. 483 00:20:26,450 --> 00:20:28,830 Chochote ambacho unaweza kulinganisha, inaweza kutatuliwa. 484 00:20:28,830 --> 00:20:29,920 485 00:20:29,920 --> 00:20:31,260 Unaweza kutumia search binary juu. 486 00:20:31,260 --> 00:20:32,340 487 00:20:32,340 --> 00:20:37,455 Hivyo, mtu yeyote kumbuka hii graph au nini hii ni? 488 00:20:37,455 --> 00:20:39,520 Ni asymptotic Utata. 489 00:20:39,520 --> 00:20:42,830 Hivyo, graph hii tu inaeleza muda gani 490 00:20:42,830 --> 00:20:46,230 inachukua wewe kutatua tatizo kama kuongeza idadi ya mambo 491 00:20:46,230 --> 00:20:47,090 kwamba wewe ni kutumia. 492 00:20:47,090 --> 00:20:51,260 >> Hivyo, tuna N, ambayo ni ya muda linear. 493 00:20:51,260 --> 00:20:54,560 Kama N juu ya mbili, ambayo ni kidogo bora, bado inakua super haraka. 494 00:20:54,560 --> 00:20:58,360 Na kisha sisi Ingia, ambayo ni kile sisi kufikiria Binary Search. 495 00:20:58,360 --> 00:21:03,630 Kama sisi taarifa kama tatizo lako anapata sana na kubwa, 496 00:21:03,630 --> 00:21:06,600 inachukua muda kutatua hilo haina kweli kuongeza kwamba mengi. 497 00:21:06,600 --> 00:21:09,010 Ni kama kulinganishwa hapa katika mwanzo. 498 00:21:09,010 --> 00:21:10,060 Wewe ni kama, sawa. 499 00:21:10,060 --> 00:21:13,000 Chochote hapa haina kweli jambo ambalo moja sisi kutumia, 500 00:21:13,000 --> 00:21:16,220 lakini kupata kufanyika kwa milioni, bilioni. 501 00:21:16,220 --> 00:21:20,010 Wewe ni kujaribu kupata some-- --you're kujaribu kupata sindano katika haystack. 502 00:21:20,010 --> 00:21:21,550 >> Nadhani unataka tatizo hili. 503 00:21:21,550 --> 00:21:25,850 Unataka utata huu, si linear kwa sababu kwa wote 504 00:21:25,850 --> 00:21:30,049 kujua wako gonna kuwa kutafuta njia ya kila mtu binafsi sindano, jambo la nyasi, 505 00:21:30,049 --> 00:21:31,340 kujaribu kuangalia kwa sindano yako. 506 00:21:31,340 --> 00:21:34,730 Na kwamba si pia furaha kwa maoni yangu. 507 00:21:34,730 --> 00:21:35,500 Mimi kama kufunga. 508 00:21:35,500 --> 00:21:36,620 Mimi kama ufanisi. 509 00:21:36,620 --> 00:21:40,450 Na kama hardworking wanafunzi you guys ni, unajua kazi nadhifu, 510 00:21:40,450 --> 00:21:43,010 si vigumu aina jambo, jinsi wanaweza kufanya up algorithms haya. 511 00:21:43,010 --> 00:21:45,110 512 00:21:45,110 --> 00:21:47,910 >> Hivyo, sisi ni kwenda kutembea kupitia mfano tu haraka. 513 00:21:47,910 --> 00:21:51,090 Nadhani wewe guys wanapaswa kuwa mkono juu ya binary Search, 514 00:21:51,090 --> 00:21:54,352 lakini katika kesi ya mtu ni kidogo fuzzy, wanataka kuimarisha yake, 515 00:21:54,352 --> 00:21:56,310 sisi ni kwenda tu kupitia mfano hapa. 516 00:21:56,310 --> 00:21:59,490 Hivyo, sisi ni kuangalia kwa kama safu ina saba. 517 00:21:59,490 --> 00:22:00,540 518 00:22:00,540 --> 00:22:06,010 >> Hivyo, jambo la kwanza sisi kufanya ni kuangalia katika katikati, haki? 519 00:22:06,010 --> 00:22:09,340 Na pia wewe ni kwenda kuwa coding Binary Search katika tu ya pili. 520 00:22:09,340 --> 00:22:11,310 Hivyo, ni kwenda kuwa na furaha. 521 00:22:11,310 --> 00:22:13,710 Hivyo sisi kuangalia katika katikati arrays kidogo 3. 522 00:22:13,710 --> 00:22:15,501 Je 3 sawa 7? 523 00:22:15,501 --> 00:22:16,000 Hana. 524 00:22:16,000 --> 00:22:18,670 525 00:22:18,670 --> 00:22:19,550 Ni sita. 526 00:22:19,550 --> 00:22:21,480 Hivyo, ni chini ya au zaidi ya saba? 527 00:22:21,480 --> 00:22:23,080 528 00:22:23,080 --> 00:22:23,960 Chini ya. 529 00:22:23,960 --> 00:22:24,570 Ndiyo. 530 00:22:24,570 --> 00:22:25,170 Nzuri kazi guys. 531 00:22:25,170 --> 00:22:25,569 532 00:22:25,569 --> 00:22:27,360 Najisikia kama mimi lazima kuwa pipi kwa sababu mimi 533 00:22:27,360 --> 00:22:29,460 wanataka kutupa nje katika yadi. 534 00:22:29,460 --> 00:22:30,270 Ni kile Mimi kwenda kufanya wiki ijayo. 535 00:22:30,270 --> 00:22:31,436 Itakuwa kuwalinda watu mkali. 536 00:22:31,436 --> 00:22:32,560 537 00:22:32,560 --> 00:22:34,690 >> Hivyo, sisi kutupa mbali kwamba nusu ya kwanza, haki? 538 00:22:34,690 --> 00:22:35,670 ilikuwa chini ya. 539 00:22:35,670 --> 00:22:39,325 Tunajua kwamba kila kitu juu ya kwamba upande wa kushoto 540 00:22:39,325 --> 00:22:41,700 ni kwenda kuwa chini ya kile sisi ni kweli kuangalia kwa. 541 00:22:41,700 --> 00:22:43,491 Hivyo, hakuna haja ya makini na hilo. 542 00:22:43,491 --> 00:22:45,120 Tu kusahau kuhusu hilo. 543 00:22:45,120 --> 00:22:48,720 Hivyo, sasa sisi kuangalia upande wetu wa kulia, na sisi kuangalia katikati zaidi ya hapo, 544 00:22:48,720 --> 00:22:50,510 na sasa ni tisa. 545 00:22:50,510 --> 00:22:55,510 Hivyo, 9 is-- --Everyone? 546 00:22:55,510 --> 00:22:57,470 Zaidi kuliko yale sisi ni kutafuta, haki? 547 00:22:57,470 --> 00:22:59,860 Hivyo, sisi ni kwenda kutupa mbali kila kitu na haki. 548 00:22:59,860 --> 00:23:00,970 549 00:23:00,970 --> 00:23:01,940 Kama hiyo. 550 00:23:01,940 --> 00:23:03,700 Sasa, sisi ni wa kushoto na ni moja. 551 00:23:03,700 --> 00:23:07,760 Hivyo sisi kuangalia, hii ni moja nini sisi ni kuangalia kwa? ni. 552 00:23:07,760 --> 00:23:08,970 Sisi kupatikana nini sisi alitaka. 553 00:23:08,970 --> 00:23:10,440 554 00:23:10,440 --> 00:23:11,690 Hivyo sisi ni kosa. 555 00:23:11,690 --> 00:23:12,550 Bilinear Search. 556 00:23:12,550 --> 00:23:15,740 >> Na kama taarifa, sisi alikuwa pembejeo saba huko. 557 00:23:15,740 --> 00:23:24,320 Ni alichukua sisi tu kama mara tatu, lakini kama wewe ni kufanya kama bilioni, 558 00:23:24,320 --> 00:23:28,190 you guys kujua jinsi hatua nyingi ingekuwa kuchukua kama tulikuwa mambo bilioni nne? 559 00:23:28,190 --> 00:23:29,940 560 00:23:29,940 --> 00:23:30,455 Guesses yoyote? 561 00:23:30,455 --> 00:23:32,286 562 00:23:32,286 --> 00:23:33,960 Ni 32. 563 00:23:33,960 --> 00:23:37,110 Hatua 32 kupata kitu katika bilioni nne 564 00:23:37,110 --> 00:23:39,650 kipengele safu kwa sababu ya mamlaka ya mbili. 565 00:23:39,650 --> 00:23:43,550 Hivyo mbili ni 32, ni bilioni nne. 566 00:23:43,550 --> 00:23:50,430 >> Hivyo pretty mambo jinsi bado uko ndani ya kama idadi haki ndogo ya hatua 567 00:23:50,430 --> 00:23:52,650 kupata kitu katika mambo bilioni nne. 568 00:23:52,650 --> 00:23:55,730 Kadhalika kwamba kumbuka, tuko kwenda kanuni hii 569 00:23:55,730 --> 00:23:58,950 hivyo guys unaweza kweli aina ya kuona jinsi hii matendo. 570 00:23:58,950 --> 00:24:01,520 Haki wote, hivyo wewe guys unaweza kanuni. 571 00:24:01,520 --> 00:24:04,100 Mimi nina kwenda basi wewe guys kuzungumza kwa muda kidogo. 572 00:24:04,100 --> 00:24:07,970 Kupata kujua watu karibu na wewe, ambayo ni kile mtu alitaka kutoka sehemu ya mwisho. 573 00:24:07,970 --> 00:24:10,280 >> Hivyo kupata kujua watu karibu na wewe. 574 00:24:10,280 --> 00:24:11,305 Kuzungumza kwa muda kidogo. 575 00:24:11,305 --> 00:24:12,580 576 00:24:12,580 --> 00:24:15,730 Na mimi wote wanataka kutoka kwenu guys sasa hivi ni tu 577 00:24:15,730 --> 00:24:17,575 kujaribu kujenga muhtasari wa pseudocode. 578 00:24:17,575 --> 00:24:18,075 OK? 579 00:24:18,075 --> 00:24:20,825 580 00:24:20,825 --> 00:24:21,325 Whoa. 581 00:24:21,325 --> 00:24:23,320 582 00:24:23,320 --> 00:24:29,520 Yote nataka kutoka guys ni uko tu kwenda kujaza katika kesi hii wakati. 583 00:24:29,520 --> 00:24:32,170 Hivyo mimi kuweka haya juu na mipaka ya chini ambayo 584 00:24:32,170 --> 00:24:35,250 kuwakilisha mwanzo na mwisho wa safu yetu. 585 00:24:35,250 --> 00:24:40,440 Na wewe ni kwenda kweli kitanzi kupitia na kufikiri 586 00:24:40,440 --> 00:24:42,470 nini sisi ni kufanya ndani ya hii kitanzi wakati. 587 00:24:42,470 --> 00:24:45,810 >> Hivyo kama unaweza kufikiri out-- nina ladha there-- nini ni kesi 588 00:24:45,810 --> 00:24:46,640 kwamba sisi hapa? 589 00:24:46,640 --> 00:24:48,100 590 00:24:48,100 --> 00:24:51,560 Hivyo kama unataka kufikiri kesi, sisi pseudocode wale 591 00:24:51,560 --> 00:24:53,350 na kisha tutaweza kweli kanuni ya yao. 592 00:24:53,350 --> 00:24:55,330 Na ni kwenda kuwa, mimi kufikiri, hopefully utakuwa 593 00:24:55,330 --> 00:24:56,788 kuwa rahisi kidogo kuliko wewe kutarajia. 594 00:24:56,788 --> 00:24:57,554 595 00:24:57,554 --> 00:25:00,220 Sababu si kificho kwamba kiasi, kweli, ambayo ni kweli baridi. 596 00:25:00,220 --> 00:25:34,110 597 00:25:34,110 --> 00:25:35,018 >> Mm-hm? 598 00:25:35,018 --> 00:25:35,893 >> STUDENT: [inaudible]? 599 00:25:35,893 --> 00:25:36,984 600 00:25:36,984 --> 00:25:37,650 Mwalimu: Ndiyo. 601 00:25:37,650 --> 00:25:38,595 Kulikuwa na kitu kupata katikati. 602 00:25:38,595 --> 00:25:39,552 >> STUDENT: Hivyo tunaweza kutumia hiyo. 603 00:25:39,552 --> 00:25:39,770 OK. 604 00:25:39,770 --> 00:25:40,603 >> Mwalimu: Perfect. 605 00:25:40,603 --> 00:25:42,950 Hivyo kwamba ni jambo la kwanza tunahitaji kufanya. 606 00:25:42,950 --> 00:25:44,330 Hivyo kupata katikati. 607 00:25:44,330 --> 00:25:45,415 608 00:25:45,415 --> 00:25:45,915 Kubwa. 609 00:25:45,915 --> 00:25:47,770 610 00:25:47,770 --> 00:25:55,010 Hivyo una wazo la jinsi sisi anaweza kweli kupata katikati na kanuni? 611 00:25:55,010 --> 00:25:55,980 >> STUDENT: Yeah. 612 00:25:55,980 --> 00:25:57,000 n juu ya 2? 613 00:25:57,000 --> 00:25:58,500 614 00:25:58,500 --> 00:25:59,500 Mwalimu: Hivyo n juu ya 2. 615 00:25:59,500 --> 00:26:05,170 Hivyo jambo moja kukumbuka ni kwamba yako juu na chini ya mipaka kubadilika. 616 00:26:05,170 --> 00:26:08,110 Sisi kuendelea constricting sehemu safu sisi ni kuangalia kwa. 617 00:26:08,110 --> 00:26:11,970 Hivyo n juu ya 2 itakuwa kazi tu kwa jambo la kwanza sisi kufanya. 618 00:26:11,970 --> 00:26:17,810 Hivyo kuchukua juu na chini katika akaunti, jinsi gani sisi kupata kwamba kipengele katikati? 619 00:26:17,810 --> 00:26:20,640 Sababu tunataka katikati kati ya juu na chini, haki? 620 00:26:20,640 --> 00:26:21,730 621 00:26:21,730 --> 00:26:22,494 Mm-hm? 622 00:26:22,494 --> 00:26:23,369 >> STUDENT: [inaudible]. 623 00:26:23,369 --> 00:26:26,170 624 00:26:26,170 --> 00:26:28,080 >> Mwalimu: Hivyo tuna baadhi ya katikati. 625 00:26:28,080 --> 00:26:32,730 Na utakuwa juu pamoja na chini zaidi ya 2. 626 00:26:32,730 --> 00:26:34,740 627 00:26:34,740 --> 00:26:35,690 Kutisha. 628 00:26:35,690 --> 00:26:36,570 Kuna sisi kwenda. 629 00:26:36,570 --> 00:26:37,280 Moja line ya chini. 630 00:26:37,280 --> 00:26:38,560 You guys ni juu ya njia yako. 631 00:26:38,560 --> 00:26:41,400 Hivyo sasa kwamba tuna yetu katikati, je tunataka kufanya? 632 00:26:41,400 --> 00:26:45,050 633 00:26:45,050 --> 00:26:45,900 Tu kwa ujumla. 634 00:26:45,900 --> 00:26:47,734 Huna ya kificho yake. 635 00:26:47,734 --> 00:26:48,335 Ndiyo. 636 00:26:48,335 --> 00:26:49,210 STUDENT: [inaudible]? 637 00:26:49,210 --> 00:27:00,310 638 00:27:00,310 --> 00:27:10,310 Mwalimu: Hivyo ni pamoja na kwa sababu wewe ni kutafuta wastani kati ya mbili 639 00:27:10,310 --> 00:27:10,810 wao. 640 00:27:10,810 --> 00:27:11,890 641 00:27:11,890 --> 00:27:17,370 Hivyo kama wewe kufikiria yao kama aina la kuongeza katika kutoka pande, 642 00:27:17,370 --> 00:27:21,640 kufikiri juu yake kama wewe mbinu katikati, unataka kama hiyo. 643 00:27:21,640 --> 00:27:27,150 Hivyo kama wewe walikuwa kwenye upande wa katikati, na sisi kama 5 na 7. 644 00:27:27,150 --> 00:27:31,440 Wakati kuongeza yao pamoja nanyi kupata 12, kugawanya na 2, ni 6. 645 00:27:31,440 --> 00:27:33,726 >> Wakati mwingine ni vigumu kueleza kwa nini kwamba kazi, 646 00:27:33,726 --> 00:27:35,600 lakini kama wewe kazi kwa njia ya mfano mwingine, 647 00:27:35,600 --> 00:27:37,962 itakusaidia kufikiri kama ni lazima kuwa pamoja au bala. 648 00:27:37,962 --> 00:27:38,846 Ndiyo. 649 00:27:38,846 --> 00:27:40,830 >> STUDENT: [inaudible] hasa katikati 650 00:27:40,830 --> 00:27:43,950 kama alikuwa na kesi ambapo kuna mengi ya namba ndogo 651 00:27:43,950 --> 00:27:45,860 na kama namba moja kubwa? 652 00:27:45,860 --> 00:27:49,750 >> Mwalimu: Hivyo wote unahitaji ni katikati ya safu. 653 00:27:49,750 --> 00:27:53,010 Hivyo kama wewe alikuwa rundo la idadi ndogo na kisha moja ya simu kweli kubwa 654 00:27:53,010 --> 00:27:54,799 mwishoni, haijalishi. 655 00:27:54,799 --> 00:27:56,840 Mambo ambayo yote ni kwamba wao ni yamepangwa, wewe tu 656 00:27:56,840 --> 00:27:59,339 unataka kuangalia katikati ya safu kwa sababu bado uko 657 00:27:59,339 --> 00:28:00,700 slicing tatizo yako katika nusu. 658 00:28:00,700 --> 00:28:03,020 659 00:28:03,020 --> 00:28:03,680 Baridi. 660 00:28:03,680 --> 00:28:06,430 Hivyo sasa kwamba tuna katikati, je, sisi kufanya ijayo? 661 00:28:06,430 --> 00:28:07,150 >> STUDENT: Linganisha. 662 00:28:07,150 --> 00:28:08,150 Mwalimu: kulinganisha. 663 00:28:08,150 --> 00:28:11,670 Hivyo kulinganisha katikati kwa value_wanted. 664 00:28:11,670 --> 00:28:14,300 665 00:28:14,300 --> 00:28:15,160 Baridi. 666 00:28:15,160 --> 00:28:17,950 Hivyo unaweza kuona hapa tuna thamani hii tunataka hapa. 667 00:28:17,950 --> 00:28:22,012 668 00:28:22,012 --> 00:28:23,095 Kumbuka hii ni safu. 669 00:28:23,095 --> 00:28:24,100 670 00:28:24,100 --> 00:28:26,970 Hivyo katikati inahusu index. 671 00:28:26,970 --> 00:28:29,785 Hivyo tunataka kufanya maadili ya katikati. 672 00:28:29,785 --> 00:28:32,380 673 00:28:32,380 --> 00:28:35,650 Usisahau kama unataka kulinganisha, mbili sawa. 674 00:28:35,650 --> 00:28:38,250 Kufanya moja sawa wewe ni tu kwenda reassign yake, 675 00:28:38,250 --> 00:28:41,090 na kisha, bila shaka, ni itakuwa thamani unataka. 676 00:28:41,090 --> 00:28:42,300 Hivyo si kufanya hivyo. 677 00:28:42,300 --> 00:28:44,350 >> Hivyo sisi ni kwenda kuona kama maadili katikati 678 00:28:44,350 --> 00:28:46,460 ni sawa na thamani tunataka. 679 00:28:46,460 --> 00:28:47,749 680 00:28:47,749 --> 00:28:48,790 Usisahau braces yako. 681 00:28:48,790 --> 00:28:50,520 682 00:28:50,520 --> 00:28:52,235 Dropbox lazima kwenda mbali. 683 00:28:52,235 --> 00:28:54,140 684 00:28:54,140 --> 00:28:56,200 Hivyo tunafanya nini katika kesi hii? 685 00:28:56,200 --> 00:28:59,360 Kama ni nini tunataka kurudi? 686 00:28:59,360 --> 00:29:01,510 687 00:29:01,510 --> 00:29:02,626 Sisi ni kujaribu kusema. 688 00:29:02,626 --> 00:29:03,440 >> STUDENT: Magazeti mbali. 689 00:29:03,440 --> 00:29:05,314 >> Mwalimu: Naam, sisi hawataki magazeti mbali. 690 00:29:05,314 --> 00:29:08,220 Hivyo hii ni bool hapa, hivyo sisi unataka kurudi kweli au uongo. 691 00:29:08,220 --> 00:29:12,280 Sisi ni kusema, ni idadi hii [? RRA? ?] Hivyo kama ni, 692 00:29:12,280 --> 00:29:13,788 sisi tu kurudi kweli. 693 00:29:13,788 --> 00:29:16,780 694 00:29:16,780 --> 00:29:17,760 Kama naweza Spell ya kweli. 695 00:29:17,760 --> 00:29:18,830 696 00:29:18,830 --> 00:29:20,805 >> STUDENT: Kwa nini si wewe kurudi sifuri? 697 00:29:20,805 --> 00:29:22,930 Mwalimu: Hivyo unaweza kurudi zero kama alitaka. 698 00:29:22,930 --> 00:29:26,780 Lakini katika kesi hii kwa sababu kazi yetu anarudi bool, 699 00:29:26,780 --> 00:29:28,962 tunahitaji kurudi ama kweli au uongo. 700 00:29:28,962 --> 00:29:30,920 STUDENT: Wakati uko akisema kujieleza bulin, 701 00:29:30,920 --> 00:29:33,450 unaweza kuweka sawa na uongo? 702 00:29:33,450 --> 00:29:39,860 Kama kama mimi nataka kusema, kama hali hii si alikutana, kama ni ya juu ni sawa na ya uongo. 703 00:29:39,860 --> 00:29:42,332 Je, ni kuelewa kama wewe tu kuweka uongo kwa upande mwingine? 704 00:29:42,332 --> 00:29:43,040 Mwalimu: Yeah. 705 00:29:43,040 --> 00:29:44,820 Hivyo kweli kama wewe ni milele kufanya kitu 706 00:29:44,820 --> 00:29:49,600 kama ni ya juu au ni ya chini, kwamba anarudi kweli au uongo 707 00:29:49,600 --> 00:29:53,850 na ni kweli style mbaya kwa kusema sawa sawa kweli au sawa 708 00:29:53,850 --> 00:29:54,840 sawa uongo. 709 00:29:54,840 --> 00:30:00,210 Unataka kutumia kwamba matokeo kama yenyewe kama hundi yako. 710 00:30:00,210 --> 00:30:04,720 711 00:30:04,720 --> 00:30:05,860 Si nini nilitaka. 712 00:30:05,860 --> 00:30:08,150 713 00:30:08,150 --> 00:30:09,240 Hiyo ni nini nilitaka. 714 00:30:09,240 --> 00:30:13,205 Hivyo katika kesi ya wewe ni kuuliza kuhusu kitu kama kuokoa hii katika c. 715 00:30:13,205 --> 00:30:16,320 716 00:30:16,320 --> 00:30:25,150 >> Hivyo kama tuna int kuu (utupu) na kitu kama hiki. 717 00:30:25,150 --> 00:30:31,922 Na una kama ni ya juu baadhi ya pembejeo na wewe ni 718 00:30:31,922 --> 00:30:33,630 kuuliza kama unaweza kufanya kitu kama hii? 719 00:30:33,630 --> 00:30:35,010 720 00:30:35,010 --> 00:30:35,679 Haki? 721 00:30:35,679 --> 00:30:37,470 STUDENT: Mimi alikuwa anajaribu kufanya hivyo [inaudible]. 722 00:30:37,470 --> 00:30:38,450 Kwa sababu kama it's-- 723 00:30:38,450 --> 00:30:39,200 Mwalimu: Haki. 724 00:30:39,200 --> 00:30:41,197 Hivyo unataka hii kuwa ni uongo, haki? 725 00:30:41,197 --> 00:30:41,780 STUDENT: Yeah. 726 00:30:41,780 --> 00:30:45,960 Mwalimu: Hivyo katika kesi hii wanataka kutekeleza kama si kweli. 727 00:30:45,960 --> 00:30:50,510 Hivyo jambo zuri kufanya kuna hii. 728 00:30:50,510 --> 00:30:52,900 729 00:30:52,900 --> 00:30:55,650 Hivyo kumbuka Moderators hatua inaashiria mambo? 730 00:30:55,650 --> 00:30:58,270 Ni anasema [inaudible] maana yake si. 731 00:30:58,270 --> 00:31:03,590 Hivyo kama sisi kuangalia tu sehemu hii hapa, wewe d 732 00:31:03,590 --> 00:31:05,740 kusema kwamba kutathmini kwa uongo kama unataka kwa. 733 00:31:05,740 --> 00:31:06,790 734 00:31:06,790 --> 00:31:09,880 Si ya uongo ni kweli ambayo ina maana hii ingekuwa nitafanya. 735 00:31:09,880 --> 00:31:11,037 Je, hiyo mantiki? 736 00:31:11,037 --> 00:31:11,620 STUDENT: Yeah. 737 00:31:11,620 --> 00:31:12,453 Mwalimu: Ajabu. 738 00:31:12,453 --> 00:31:13,800 739 00:31:13,800 --> 00:31:14,300 OK. 740 00:31:14,300 --> 00:31:16,330 Hivyo tunaweza tu kurudi kweli katika kesi hii. 741 00:31:16,330 --> 00:31:20,357 Hivyo sasa tuna wengine wawili kesi katika kesi hii. 742 00:31:20,357 --> 00:31:21,565 Je, ni yetu kesi nyingine mbili? 743 00:31:21,565 --> 00:31:31,610 744 00:31:31,610 --> 00:31:32,900 Hebu tu kufanya hivyo kwa njia hii. 745 00:31:32,900 --> 00:31:40,660 Basi hebu kuanza na mwingine kama maadili katika katikati 746 00:31:40,660 --> 00:31:43,230 ni chini ya thamani tunataka. 747 00:31:43,230 --> 00:31:47,200 748 00:31:47,200 --> 00:31:52,020 Hivyo thamani yetu katikati ni chini kuliko thamani ya kwamba sisi ni kuangalia kwa. 749 00:31:52,020 --> 00:31:53,765 750 00:31:53,765 --> 00:31:56,720 >> Hivyo ambayo amefungwa kufanya wewe Nadhani tunataka update? 751 00:31:56,720 --> 00:31:57,870 752 00:31:57,870 --> 00:31:58,780 Juu au chini? 753 00:31:58,780 --> 00:32:01,440 754 00:32:01,440 --> 00:32:01,940 Juu? 755 00:32:01,940 --> 00:32:03,230 756 00:32:03,230 --> 00:32:06,470 Hivyo ambayo upande wa safu sisi ni kwenda kuwa na kuangalia? 757 00:32:06,470 --> 00:32:07,500 >> STUDENT: chini. 758 00:32:07,500 --> 00:32:09,750 >> Mwalimu: Sisi ni sisi kwenda kuwa na kuangalia upande wa kushoto. 759 00:32:09,750 --> 00:32:11,120 Hivyo mwingine kama thamani kidogo kidogo. 760 00:32:11,120 --> 00:32:14,730 Hivyo thamani yako katikati hapa ni chini ya nini tunataka. 761 00:32:14,730 --> 00:32:17,202 Hivyo tunataka kuchukua upande wa safu yetu ya haki. 762 00:32:17,202 --> 00:32:18,910 Hivyo sisi ni kwenda update chini amefungwa yetu. 763 00:32:18,910 --> 00:32:20,210 764 00:32:20,210 --> 00:32:23,020 Hivyo tutaweza reassign chini yetu. 765 00:32:23,020 --> 00:32:25,221 Na unafikiri nini chini lazima? 766 00:32:25,221 --> 00:32:26,304 STUDENT: thamani ya kati? 767 00:32:26,304 --> 00:32:27,446 768 00:32:27,446 --> 00:32:28,820 Mwalimu: Hivyo value-- katikati 769 00:32:28,820 --> 00:32:30,136 STUDENT: Plus 1. 770 00:32:30,136 --> 00:32:31,010 Mwalimu: --plus 1. 771 00:32:31,010 --> 00:32:32,300 772 00:32:32,300 --> 00:32:34,380 Yeyote anaweza kuniambia kwa nini tuna kuwa pamoja na 1? 773 00:32:34,380 --> 00:32:35,730 >> STUDENT: [? Hakuna thamani?] ni zaidi sawa na hayo. 774 00:32:35,730 --> 00:32:36,120 >> Mwalimu: Haki. 775 00:32:36,120 --> 00:32:38,661 Kwa sababu sisi tayari kujua kwamba thamani yetu katikati ni si sawa na 776 00:32:38,661 --> 00:32:42,750 na tunataka kuwatenga ni kutoka utafutaji wote baadae. 777 00:32:42,750 --> 00:32:46,360 Kama kusahau kwamba pamoja na 1, hii itakuwa kama kitanzi kwa muda usiojulikana. 778 00:32:46,360 --> 00:32:49,620 Na utasikia tu kuwa hawakupata katika usio kitanzi na kisha utasikia segfault 779 00:32:49,620 --> 00:32:50,370 na mambo kwenda mbaya. 780 00:32:50,370 --> 00:32:54,780 Hivyo siku zote kuhakikisha kwamba wewe si ikiwa ni pamoja na thamani ya kwamba wewe tu 781 00:32:54,780 --> 00:32:55,380 inaonekana katika. 782 00:32:55,380 --> 00:32:58,530 Hivyo sisi kuchukua huduma ya kwamba pamoja na pamoja na 1. 783 00:32:58,530 --> 00:33:04,840 >> Hivyo sasa tuna hali yetu iliyopita ambayo mimi daima kwa ajili ya usalama 784 00:33:04,840 --> 00:33:12,664 unaweza kuangalia hapa, mwingine kama thamani katika katikati ni mkubwa kuliko thamani 785 00:33:12,664 --> 00:33:13,163 tunataka. 786 00:33:13,163 --> 00:33:16,260 787 00:33:16,260 --> 00:33:20,230 Hiyo ina maana kwamba tunataka mkono wa kushoto nusu. 788 00:33:20,230 --> 00:33:21,350 789 00:33:21,350 --> 00:33:23,260 Hivyo ambayo moja ni sisi kwenda update? 790 00:33:23,260 --> 00:33:23,760 Juu. 791 00:33:23,760 --> 00:33:25,470 792 00:33:25,470 --> 00:33:26,970 Na ni hii moja kwenda sawa nini? 793 00:33:26,970 --> 00:33:31,630 794 00:33:31,630 --> 00:33:33,690 Katikati minus 1 kwa sababu, Bila shaka, tunataka 795 00:33:33,690 --> 00:33:38,370 kuhakikisha kwamba sisi siyo kuangalia kwamba thamani katikati tena. 796 00:33:38,370 --> 00:33:41,830 797 00:33:41,830 --> 00:33:45,110 Na kisha sisi kuwa nayo. 798 00:33:45,110 --> 00:33:45,610 Hiyo ni. 799 00:33:45,610 --> 00:33:46,820 Hayo ni yote binary tafuta ni. 800 00:33:46,820 --> 00:33:48,190 Ni si mbaya, haki? 801 00:33:48,190 --> 00:33:51,590 Ni kama mistari 10 ya kificho na nafasi nyeupe. 802 00:33:51,590 --> 00:33:57,510 Hivyo sana nguvu, muhimu sana, utakuwa kutumia hiyo katika moja ya psets yako ya baadaye. 803 00:33:57,510 --> 00:33:59,360 Hii labda si moja, lakini baadaye. 804 00:33:59,360 --> 00:34:00,670 Hivyo kujifunza. 805 00:34:00,670 --> 00:34:01,510 Kupenda. 806 00:34:01,510 --> 00:34:02,980 Ni kutibu wewe vizuri. 807 00:34:02,980 --> 00:34:05,370 Hivyo haina mtu yeyote kuwa yoyote maswali juu ya kutafuta binary? 808 00:34:05,370 --> 00:34:06,196 Ndiyo. 809 00:34:06,196 --> 00:34:09,840 >> STUDENT: Je, ni jambo kama n yako ni hata au isiyo ya kawaida? 810 00:34:09,840 --> 00:34:10,750 >> Mwalimu: Hakuna 811 00:34:10,750 --> 00:34:18,150 Sababu sisi kuwatupia katikati kama int, itakuwa tu butu yake. 812 00:34:18,150 --> 00:34:21,600 Hivyo itakuwa kukaa integer na itakuwa hatimaye aina kupitia kila kitu. 813 00:34:21,600 --> 00:34:23,909 Hivyo huna kuwa na wasiwasi juu ya hilo. 814 00:34:23,909 --> 00:34:24,580 Kila mtu mzuri? 815 00:34:24,580 --> 00:34:25,659 816 00:34:25,659 --> 00:34:26,850 Kutisha. 817 00:34:26,850 --> 00:34:27,919 Baridi. 818 00:34:27,919 --> 00:34:30,836 Hivyo, wewe guys got hii. 819 00:34:30,836 --> 00:34:33,380 820 00:34:33,380 --> 00:34:33,880 Slideshow. 821 00:34:33,880 --> 00:34:35,719 822 00:34:35,719 --> 00:34:43,270 Hivyo kama sisi walikuwa wanazungumza juu, najua Daudi zilizotajwa utata runtimes. 823 00:34:43,270 --> 00:34:44,420 824 00:34:44,420 --> 00:34:50,340 >> Hivyo katika kesi bora, ni tu moja, ambayo sisi kuwaita wakati mara kwa mara. 825 00:34:50,340 --> 00:34:51,909 Yeyote anaweza kuniambia kwa nini hiyo inaweza kuwa ni? 826 00:34:51,909 --> 00:34:52,969 827 00:34:52,969 --> 00:34:55,800 Ni aina gani ya mazingira ingekuwa kwamba leda? 828 00:34:55,800 --> 00:34:58,260 829 00:34:58,260 --> 00:34:58,760 Mm-hm. 830 00:34:58,760 --> 00:34:59,926 >> STUDENT: [inaudible] first-- 831 00:34:59,926 --> 00:35:00,789 832 00:35:00,789 --> 00:35:03,830 Mwalimu: Hivyo katikati kuwa kipengele kwanza kwamba sisi kuja, haki? 833 00:35:03,830 --> 00:35:08,167 Hivyo aidha safu ya moja au chochote sisi ni kuangalia kwa tu 834 00:35:08,167 --> 00:35:09,750 hutokea kwa kuwa Smack dab katikati. 835 00:35:09,750 --> 00:35:11,190 836 00:35:11,190 --> 00:35:13,380 Hivyo hiyo ni kesi yetu bora. 837 00:35:13,380 --> 00:35:17,540 Kupata katika matatizo halisi, pengine si kwenda kufikia [inaudible] kwamba mara nyingi. 838 00:35:17,540 --> 00:35:18,667 839 00:35:18,667 --> 00:35:19,750 Nini kuhusu kesi yetu mbaya? 840 00:35:19,750 --> 00:35:21,270 Wetu kesi mbaya zaidi ni logi n. 841 00:35:21,270 --> 00:35:25,360 Na kwamba ina nini na nzima mamlaka ya jambo mbili kwamba mimi aliyesema kuhusu. 842 00:35:25,360 --> 00:35:30,930 >> Hivyo katika kesi mbaya itakuwa na maana kwamba alikuwa na kuwakata safu chini 843 00:35:30,930 --> 00:35:33,270 mpaka ilikuwa kipengele cha moja. 844 00:35:33,270 --> 00:35:34,810 845 00:35:34,810 --> 00:35:38,930 Hivyo tulikuwa na kuwakata chini katika nusu mara nyingi kama sisi pengine inaweza. 846 00:35:38,930 --> 00:35:41,430 Hiyo ni kwa nini ni gogo n kwa sababu wewe tu kuweka kugawa kwa mbili. 847 00:35:41,430 --> 00:35:42,890 848 00:35:42,890 --> 00:35:45,830 Hivyo mawazo, mambo haja ya kujua kama wewe ni milele 849 00:35:45,830 --> 00:35:48,050 kwenda kutumia search binary. 850 00:35:48,050 --> 00:35:50,680 Mambo yako lazima kutatuliwa. 851 00:35:50,680 --> 00:35:53,890 Wana kutatuliwa kwa sababu hiyo ndiyo njia pekee ya 852 00:35:53,890 --> 00:35:57,060 unaweza kujua kama wewe ni uwezo kutupa nje nusu ya hiyo. 853 00:35:57,060 --> 00:36:00,260 >> Kama alikuwa mfuko huu jumbled ya idadi na wewe kusema, 854 00:36:00,260 --> 00:36:05,380 OK, mimi nina kwenda kuangalia katikati idadi na idadi mimi nina kuangalia kwa 855 00:36:05,380 --> 00:36:08,510 ni chini ya kwamba, mimi nina kwenda tu kwa kiholela kutupa nje nusu moja. 856 00:36:08,510 --> 00:36:11,130 Bila kujua kama yako namba katika nusu nyingine. 857 00:36:11,130 --> 00:36:12,655 Orodha yako ina kutatuliwa. 858 00:36:12,655 --> 00:36:14,030 859 00:36:14,030 --> 00:36:16,560 Kama vile, hii inaweza kuwa kwenda mbele kidogo, 860 00:36:16,560 --> 00:36:18,360 lakini unahitaji kupata random. 861 00:36:18,360 --> 00:36:21,940 Unahitaji kuwa na uwezo wa tu kwenda kuwa kipengele katikati. 862 00:36:21,940 --> 00:36:25,110 Kama una traverse kupitia kitu 863 00:36:25,110 --> 00:36:28,630 au inachukua wewe hatua za ziada kupata kwamba kipengele katikati, 864 00:36:28,630 --> 00:36:31,750 siyo kuingia n tena kwa sababu wewe ni kuongeza kazi zaidi ndani yake. 865 00:36:31,750 --> 00:36:34,800 Na hii itafanya kidogo maana zaidi katika wiki mbili, 866 00:36:34,800 --> 00:36:37,950 lakini mimi tu aina ya alitaka utangulizi, kukupa guys wazo la nini 867 00:36:37,950 --> 00:36:38,999 kuja. 868 00:36:38,999 --> 00:36:40,790 Lakini hayo ni mbili mawazo muhimu 869 00:36:40,790 --> 00:36:44,804 kwamba unahitaji kwa orodha binary. 870 00:36:44,804 --> 00:36:45,720 Kuhakikisha ni vyema. 871 00:36:45,720 --> 00:36:47,920 Hiyo ni moja kubwa kwa nyie hivi sasa. 872 00:36:47,920 --> 00:36:52,170 Na juu ya kwamba tunaweza kwenda katika mapumziko ya aina yetu. 873 00:36:52,170 --> 00:36:56,444 Hivyo vinne sorts-- Bubble, insertion, uteuzi, na kuunganisha. 874 00:36:56,444 --> 00:36:57,485 Wao ni kila aina ya baridi. 875 00:36:57,485 --> 00:37:02,860 Kama wewe guys kuamua kuchukua CS 124, itabidi kujifunza kuhusu kila aina ya aina. 876 00:37:02,860 --> 00:37:07,575 Na kama wewe ni shabiki XKCD, kuna ni kweli baridi Comic kuhusu 877 00:37:07,575 --> 00:37:11,530 kama aina kweli ufanisi, ambayo mimi sana kupendekeza wewe kwenda kuangalia. 878 00:37:11,530 --> 00:37:16,170 Mmoja wao ni kama hofu ya aina, ambayo ni kama, oh no, kurudi random safu. 879 00:37:16,170 --> 00:37:16,991 Shutdown mfumo. 880 00:37:16,991 --> 00:37:17,490 Kuondoka. 881 00:37:17,490 --> 00:37:19,070 882 00:37:19,070 --> 00:37:21,500 Hivyo ucheshi geeky daima ni nzuri. 883 00:37:21,500 --> 00:37:22,620 884 00:37:22,620 --> 00:37:25,750 >> Hivyo haina mtu yeyote kumbuka aina ya kama wazo tu kwa ujumla 885 00:37:25,750 --> 00:37:27,810 ya jinsi Bubble aina ya kazi. 886 00:37:27,810 --> 00:37:31,130 887 00:37:31,130 --> 00:37:32,155 Unakumbuka? 888 00:37:32,155 --> 00:37:32,755 >> STUDENT: Yeah. 889 00:37:32,755 --> 00:37:33,970 >> Mwalimu: Nenda kwa ajili yake. 890 00:37:33,970 --> 00:37:38,980 >> STUDENT: Hivyo wewe ni kwenda kwa njia na kama ni kubwa zaidi, basi byta mbili. 891 00:37:38,980 --> 00:37:39,820 >> Mwalimu: Mm-hm. 892 00:37:39,820 --> 00:37:40,564 Hasa. 893 00:37:40,564 --> 00:37:41,730 Hivyo tu iterate kupitia. 894 00:37:41,730 --> 00:37:43,050 Kuangalia namba mbili. 895 00:37:43,050 --> 00:37:46,510 Kama moja kabla ni kubwa ya moja baadaye, 896 00:37:46,510 --> 00:37:50,230 wewe tu wabadilishane yao ili katika njia hii yote ya idadi kubwa 897 00:37:50,230 --> 00:37:54,990 Bubble hadi kufikia mwisho wa orodha na namba zote za chini ya Bubble chini. 898 00:37:54,990 --> 00:37:59,355 >> Je, kuonyesha guys baridi sauti athari kuchagua video? 899 00:37:59,355 --> 00:38:00,480 Ni aina ya baridi. 900 00:38:00,480 --> 00:38:01,510 901 00:38:01,510 --> 00:38:05,200 Hivyo kama Robert alisema tu, algorithm kwamba wewe tu hatua kupitia orodha, 902 00:38:05,200 --> 00:38:07,930 swapping maadili karibu kama wao siyo katika utaratibu. 903 00:38:07,930 --> 00:38:10,975 Na kisha tu kuendelea kurudia mpaka huna kufanya swaps yoyote. 904 00:38:10,975 --> 00:38:11,990 905 00:38:11,990 --> 00:38:12,740 Hivyo si mbaya, haki? 906 00:38:12,740 --> 00:38:14,080 907 00:38:14,080 --> 00:38:16,319 Hivyo sisi tu mfano wa haraka hapa. 908 00:38:16,319 --> 00:38:18,360 Hivyo hii ni kwenda kutatua nao katika wakipanda ili. 909 00:38:18,360 --> 00:38:19,470 910 00:38:19,470 --> 00:38:23,470 Hivyo wakati sisi kwenda kwa njia ya kwanza muda, sisi kuangalia njia ya nane 911 00:38:23,470 --> 00:38:26,880 na sita ni wazi si ili, sisi wabadilishane yao. 912 00:38:26,880 --> 00:38:27,985 >> Hivyo kuangalia moja ijayo. 913 00:38:27,985 --> 00:38:29,430 Nane na nne si kwa utaratibu. 914 00:38:29,430 --> 00:38:30,450 Wabadilishane yao. 915 00:38:30,450 --> 00:38:32,530 Na kisha nane na mbili, wabadilishane yao. 916 00:38:32,530 --> 00:38:33,470 Kuna sisi kwenda. 917 00:38:33,470 --> 00:38:39,519 Hivyo baada ya kupita yako ya kwanza, kujua kwamba idadi kubwa yako 918 00:38:39,519 --> 00:38:41,810 ni kwenda kuwa njia yote saa ya juu kwa sababu ni tu 919 00:38:41,810 --> 00:38:44,210 itakuwa daima kubwa kuliko kila kitu kingine 920 00:38:44,210 --> 00:38:46,810 na ni kwenda tu kwa Bubble up njia yote ya mwisho huko. 921 00:38:46,810 --> 00:38:48,226 Gani kwamba inafanya hisia kila mtu? 922 00:38:48,226 --> 00:38:48,560 923 00:38:48,560 --> 00:38:49,060 Baridi. 924 00:38:49,060 --> 00:38:51,310 925 00:38:51,310 --> 00:38:53,920 >> Hivyo basi sisi kuangalia kupita yetu ya pili. 926 00:38:53,920 --> 00:38:54,980 Sita na nne, kubadili. 927 00:38:54,980 --> 00:38:55,920 Sita na mbili, kubadili. 928 00:38:55,920 --> 00:38:58,700 Na sasa tuna mambo kadhaa katika utaratibu. 929 00:38:58,700 --> 00:39:02,240 Hivyo kwa kila kupita kwamba sisi kufanya kupitia orodha yetu nzima, 930 00:39:02,240 --> 00:39:06,320 tunajua kwamba kama kwamba namba wengi mwishoni mapenzi yamekuwa yamepangwa. 931 00:39:06,320 --> 00:39:07,690 932 00:39:07,690 --> 00:39:09,610 Hivyo sisi kufanya kupita ya tatu, ambayo ni wabadilishane moja. 933 00:39:09,610 --> 00:39:10,860 934 00:39:10,860 --> 00:39:15,910 Na kisha juu ya nne zetu kupita, tuna sifuri inafaa. 935 00:39:15,910 --> 00:39:18,570 Na hivyo tunajua kwamba yetu safu imekuwa yamepangwa. 936 00:39:18,570 --> 00:39:20,900 >> Na kwamba ni kubwa Jambo na Bubble aina. 937 00:39:20,900 --> 00:39:23,720 Tunajua kwamba wakati sisi sifuri swaps, kwamba 938 00:39:23,720 --> 00:39:26,497 ina maana kwamba kila kitu ni ili kukamilisha. 939 00:39:26,497 --> 00:39:27,580 Ni aina ya jinsi sisi kuangalia. 940 00:39:27,580 --> 00:39:28,740 941 00:39:28,740 --> 00:39:36,480 Hivyo sisi pia ni kwenda na kanuni Bubble aina ambayo pia ni kuwa mbaya. 942 00:39:36,480 --> 00:39:38,120 Hakuna wa hizi ni mbaya. 943 00:39:38,120 --> 00:39:40,210 Najua wanaweza kuonekana kidogo inatisha. 944 00:39:40,210 --> 00:39:42,124 Najua wakati mimi alichukua darasani, hata wakati mimi 945 00:39:42,124 --> 00:39:44,290 ilikuwa kufundisha darasa kwa mara ya kwanza mwaka jana, 946 00:39:44,290 --> 00:39:46,165 Mimi nilikuwa kama, jinsi gani mimi kufanya hivyo? 947 00:39:46,165 --> 00:39:48,540 Inafanya hisia katika nadharia, lakini jinsi gani sisi kwa kweli kufanya hili? 948 00:39:48,540 --> 00:39:51,420 Ambayo ni kwa nini mimi pia wanataka kutembea kupitia kificho na nyie hapa. 949 00:39:51,420 --> 00:39:54,915 Hivyo nina pseudocode kwa nyie wakati huu. 950 00:39:54,915 --> 00:39:55,950 951 00:39:55,950 --> 00:39:58,970 Hivyo tu kuweka hii katika akili kama sisi ni juu ya mpito juu. 952 00:39:58,970 --> 00:40:04,210 Hivyo tuna baadhi ya kukabiliana na kwamba anaendelea kufuatilia swaps yetu, 953 00:40:04,210 --> 00:40:08,370 sababu tunahitaji kuhakikisha kwamba sisi ni kuangalia kwamba. 954 00:40:08,370 --> 00:40:11,830 Na sisi iterate safu nzima kama sisi tu alivyofanya kwa mfano huu. 955 00:40:11,830 --> 00:40:12,900 956 00:40:12,900 --> 00:40:17,325 Kama kipengele kabla ni kubwa kuliko kipengele baada ambapo sisi ni saa, 957 00:40:17,325 --> 00:40:20,760 sisi wabadilishane yao na sisi nyongeza wetu kukabiliana kwa sababu haraka kama sisi byta, 958 00:40:20,760 --> 00:40:23,850 tunataka basi kukabiliana yetu kujua kwamba. 959 00:40:23,850 --> 00:40:26,247 Maswali yoyote huko? 960 00:40:26,247 --> 00:40:27,580 Kitu inaonekana funny zaidi ya hapa. 961 00:40:27,580 --> 00:40:29,225 962 00:40:29,225 --> 00:40:32,350 STUDENT: Je kuweka kukabiliana na sifuri kila wakati kwenda kwa njia ya kitanzi? 963 00:40:32,350 --> 00:40:34,339 Je, si kuweka kwenda nyuma kwa sifuri kila wakati? 964 00:40:34,339 --> 00:40:35,505 Mwalimu: Si lazima. 965 00:40:35,505 --> 00:40:39,710 Hivyo kile kinachotokea ni sisi kwenda kwa njia ya hapa. 966 00:40:39,710 --> 00:40:43,830 Hivyo kufanya wakati, kumbuka, hii nitafanya mara moja bila kushindwa. 967 00:40:43,830 --> 00:40:46,480 Hivyo ni kwenda kuweka kukabiliana sawa na sifuri, 968 00:40:46,480 --> 00:40:48,070 basi ni kwenda iterate kupitia. 969 00:40:48,070 --> 00:40:50,590 Kama iterates kupitia, itakuwa update kukabiliana. 970 00:40:50,590 --> 00:40:51,870 971 00:40:51,870 --> 00:40:56,900 Kama updates kukabiliana, wakati ni kosa, wakati ni kufikiwa mwisho wa safu, 972 00:40:56,900 --> 00:41:00,830 kama orodha yetu haijawahi sorted, kukabiliana itakuwa wamekuwa updated. 973 00:41:00,830 --> 00:41:01,840 974 00:41:01,840 --> 00:41:07,150 >> Hivyo basi ni hundi ya hali na anasema, OK, ni kukabiliana mkubwa kuliko sifuri. 975 00:41:07,150 --> 00:41:09,290 Kama ni, kufanya hivyo tena. 976 00:41:09,290 --> 00:41:14,340 Unataka upya ili wakati kupitia, kukabiliana ni sawa na sifuri. 977 00:41:14,340 --> 00:41:18,240 Kama kwenda kupitia Iliyopangwa safu, hakuna mabadiliko, 978 00:41:18,240 --> 00:41:21,355 hii inashindwa, na wewe kurudi orodha Iliyopangwa. 979 00:41:21,355 --> 00:41:23,104 980 00:41:23,104 --> 00:41:24,020 Je kwamba inafanya hisia? 981 00:41:24,020 --> 00:41:24,940 982 00:41:24,940 --> 00:41:26,356 STUDENT: Ni huenda katika kidogo. 983 00:41:26,356 --> 00:41:27,147 Mwalimu: OK. 984 00:41:27,147 --> 00:41:28,980 Kama kuna yoyote nyingine swali kwamba anakuja juu. 985 00:41:28,980 --> 00:41:30,180 986 00:41:30,180 --> 00:41:30,680 Ndiyo. 987 00:41:30,680 --> 00:41:33,760 >> STUDENT: Nini ingekuwa kazi kuwa kwa swapping mambo? 988 00:41:33,760 --> 00:41:36,900 >> Mwalimu: Hivyo tunaweza kweli kuandika kwamba kama sisi ni kwenda hivi sasa. 989 00:41:36,900 --> 00:41:37,801 990 00:41:37,801 --> 00:41:38,300 Baridi. 991 00:41:38,300 --> 00:41:42,155 Kadhalika kwamba kumbuka, Alison ni kwenda kubadili nyuma kwa appliance. 992 00:41:42,155 --> 00:41:43,080 Ni kwenda kuwa na furaha. 993 00:41:43,080 --> 00:41:45,170 994 00:41:45,170 --> 00:41:47,390 Na tuna nzuri wetu Bubble aina jambo hapa. 995 00:41:47,390 --> 00:41:50,800 Hivyo mimi tayari alifanya baiskeli kupitia safu. 996 00:41:50,800 --> 00:41:53,030 Tuna swaps yetu kwamba ni sawa na sifuri. 997 00:41:53,030 --> 00:41:54,480 998 00:41:54,480 --> 00:41:58,440 Hivyo tunataka wabadilishane karibu mambo kama uko nje ya utaratibu. 999 00:41:58,440 --> 00:42:03,020 Hivyo jambo la kwanza tunahitaji je ni iterate kupitia safu yetu. 1000 00:42:03,020 --> 00:42:04,500 1001 00:42:04,500 --> 00:42:08,260 >> Hivyo ni jinsi gani unadhani sisi nguvu iterate kupitia safu yetu? 1002 00:42:08,260 --> 00:42:09,720 1003 00:42:09,720 --> 00:42:13,990 Sisi kwa ajili na i sawa 0. 1004 00:42:13,990 --> 00:42:16,950 1005 00:42:16,950 --> 00:42:22,454 Tunataka i kuwa chini kuliko n minus 1 bala k. 1006 00:42:22,454 --> 00:42:23,870 Na mimi itabidi kueleza kwamba katika pili. 1007 00:42:23,870 --> 00:42:26,280 1008 00:42:26,280 --> 00:42:32,830 Hivyo hii ni optimization hapa ambapo, kumbuka jinsi mimi alisema baada ya kila kupita 1009 00:42:32,830 --> 00:42:36,655 kupitia safu sisi kujua kwamba chochote ni on-- 1010 00:42:36,655 --> 00:42:43,590 1011 00:42:43,590 --> 00:42:46,295 >> Hivyo baada ya kupitisha moja sisi kujua kwamba hii ni Iliyopangwa. 1012 00:42:46,295 --> 00:42:47,370 1013 00:42:47,370 --> 00:42:50,060 Baada ya hupita mbili tunajua kwamba yote hii ni Iliyopangwa. 1014 00:42:50,060 --> 00:42:52,750 Baada ya hupita tatu sisi kujua hiyo yamepangwa. 1015 00:42:52,750 --> 00:42:55,620 Hivyo njia mimi nina iterating kupitia safu hapa, 1016 00:42:55,620 --> 00:43:01,090 ni ni kuhakikisha tu kwenda kupitia kile sisi kujua ni zisizochambuliwa. 1017 00:43:01,090 --> 00:43:01,644 OK? 1018 00:43:01,644 --> 00:43:02,810 Hiyo tu optimization. 1019 00:43:02,810 --> 00:43:04,430 1020 00:43:04,430 --> 00:43:08,210 Unaweza kuandika naively tu iterating kupitia kila kitu, 1021 00:43:08,210 --> 00:43:09,970 ingekuwa tu kuchukua muda mrefu. 1022 00:43:09,970 --> 00:43:12,470 Na hili kitanzi nne ni tu optimization nzuri 1023 00:43:12,470 --> 00:43:18,460 kwa sababu tunajua kwamba kila baada ya kamili iteration kupitia safu hapa, 1024 00:43:18,460 --> 00:43:24,050 kama kila kitanzi full hapa, tunajua kwamba moja zaidi ya mambo haya 1025 00:43:24,050 --> 00:43:25,760 itakuwa kutatuliwa mwishoni. 1026 00:43:25,760 --> 00:43:28,294 >> Hivyo hatuna wasiwasi kuhusu wale. 1027 00:43:28,294 --> 00:43:29,710 Gani kwamba inafanya hisia kila mtu? 1028 00:43:29,710 --> 00:43:30,950 Kwamba baridi kidogo hila? 1029 00:43:30,950 --> 00:43:32,060 1030 00:43:32,060 --> 00:43:37,270 Hivyo katika kesi hiyo, kama sisi ni iterating kupitia, 1031 00:43:37,270 --> 00:43:50,590 Tunajua kwamba tunataka kuangalia kama safu n na n pamoja na 1 ni kwa utaratibu. 1032 00:43:50,590 --> 00:43:52,640 1033 00:43:52,640 --> 00:43:53,559 OK. 1034 00:43:53,559 --> 00:43:54,600 Hivyo hapa ni pseudocode. 1035 00:43:54,600 --> 00:43:57,540 Tunataka kuangalia kama safu n na N plus 1 ni kwa utaratibu. 1036 00:43:57,540 --> 00:43:59,520 Hivyo nini kinaweza tuna huko? 1037 00:43:59,520 --> 00:44:01,090 1038 00:44:01,090 --> 00:44:03,120 Ni kwenda kuwa baadhi masharti. 1039 00:44:03,120 --> 00:44:04,220 Itakuwa kama. 1040 00:44:04,220 --> 00:44:07,066 >> STUDENT: Kama safu n ni chini ya safu n pamoja na 1. 1041 00:44:07,066 --> 00:44:07,816 Mwalimu: Mm-hm. 1042 00:44:07,816 --> 00:44:09,000 1043 00:44:09,000 --> 00:44:10,699 Naam, chini ya au mkubwa kuliko. 1044 00:44:10,699 --> 00:44:11,615 STUDENT: Kubwa kuliko. 1045 00:44:11,615 --> 00:44:15,850 1046 00:44:15,850 --> 00:44:17,620 Basi tunataka wabadilishane yao. 1047 00:44:17,620 --> 00:44:18,570 Hasa. 1048 00:44:18,570 --> 00:44:23,570 Hivyo sasa sisi kupata katika nini utaratibu kwa ajili ya swapping yao? 1049 00:44:23,570 --> 00:44:24,840 1050 00:44:24,840 --> 00:44:28,137 Hivyo sisi akaenda kwa njia ya ufupi huu, aina ya wabadilishane kazi wiki iliyopita. 1051 00:44:28,137 --> 00:44:29,595 Je, mtu yeyote kumbuka jinsi kazi? 1052 00:44:29,595 --> 00:44:32,300 1053 00:44:32,300 --> 00:44:34,950 Hivyo hatuwezi tu reassign yao, haki? 1054 00:44:34,950 --> 00:44:36,640 Kwa sababu mmoja wao kupata waliopotea. 1055 00:44:36,640 --> 00:44:41,696 Kama sisi alisema A ni sawa na B na kisha B ni sawa na A, kila ghafla wote wawili 1056 00:44:41,696 --> 00:44:43,150 ni tu sawa na B. 1057 00:44:43,150 --> 00:44:45,720 >> Hivyo kile sisi kufanya ni sisi kuwa na kutofautiana kwa muda kwamba 1058 00:44:45,720 --> 00:44:49,055 kwenda kushikilia moja ya yetu wakati tuko katika mchakato wa swapping. 1059 00:44:49,055 --> 00:44:50,200 1060 00:44:50,200 --> 00:44:56,464 Hivyo kile sisi ni sisi itabidi baadhi int temp ni sawa to-- unaweza hawawajui 1061 00:44:56,464 --> 00:44:59,130 kwa namna yoyote moja unataka, tu kuhakikisha kuweka wimbo wa it-- 1062 00:44:59,130 --> 00:45:01,840 hivyo katika kesi hii, mimi nina kwenda hawawajui kwa safu n pamoja na 1. 1063 00:45:01,840 --> 00:45:03,360 1064 00:45:03,360 --> 00:45:07,674 Ili kwenda kushikilia chochote thamani ni katika kuzuia kwamba pili 1065 00:45:07,674 --> 00:45:08,590 kwamba sisi ni kuangalia. 1066 00:45:08,590 --> 00:45:09,700 1067 00:45:09,700 --> 00:45:13,240 >> Na kisha tunaweza kufanya ni tunaweza kwenda mbele na REASSIGN safu n pamoja na 1, 1068 00:45:13,240 --> 00:45:14,990 kwa sababu tunajua kuwa na kwamba thamani ya kuhifadhiwa. 1069 00:45:14,990 --> 00:45:16,645 1070 00:45:16,645 --> 00:45:19,270 Hii pia ni moja ya kubwa things-- sijui kama yoyote ya wewe 1071 00:45:19,270 --> 00:45:23,780 alikuwa na masuala ambapo kama wewe kubadili mbili mstari wa kanuni ghafla mambo kazi. 1072 00:45:23,780 --> 00:45:25,880 Ili ni muhimu sana katika CS. 1073 00:45:25,880 --> 00:45:29,450 Ili kuhakikisha mchoro mambo ya nje kama inawezekana 1074 00:45:29,450 --> 00:45:31,230 kama yale ni kweli yanatokea. 1075 00:45:31,230 --> 00:45:34,256 Hivyo sasa tunakwenda reassign safu n pamoja na 1, 1076 00:45:34,256 --> 00:45:36,005 kwa sababu tunajua kuwa na kwamba thamani ya kuhifadhiwa. 1077 00:45:36,005 --> 00:45:37,090 1078 00:45:37,090 --> 00:45:41,560 >> Na tunaweza hawawajui kwamba safu n au katika kesi hii safu i. 1079 00:45:41,560 --> 00:45:50,540 1080 00:45:50,540 --> 00:45:51,465 Vigezo wengi mno. 1081 00:45:51,465 --> 00:45:54,230 1082 00:45:54,230 --> 00:45:55,470 OK. 1083 00:45:55,470 --> 00:46:01,500 Hivyo sasa tumekuwa reassigned safu i plus 1 kwa sawa nini katika safu i. 1084 00:46:01,500 --> 00:46:08,240 Na sasa tunaweza kurudi nyuma na hawawajui safu i na nini? 1085 00:46:08,240 --> 00:46:10,680 1086 00:46:10,680 --> 00:46:11,180 Mtu yeyote? 1087 00:46:11,180 --> 00:46:13,490 1088 00:46:13,490 --> 00:46:14,010 >> STUDENT: 10. 1089 00:46:14,010 --> 00:46:14,680 >> Mwalimu: 10. 1090 00:46:14,680 --> 00:46:15,180 Hasa. 1091 00:46:15,180 --> 00:46:16,930 1092 00:46:16,930 --> 00:46:18,640 Na jambo moja iliyopita. 1093 00:46:18,640 --> 00:46:21,840 Kama tuna swapped ni sasa, nini tunahitaji kufanya? 1094 00:46:21,840 --> 00:46:23,740 Nini jambo moja hiyo ni kwenda kutuambia 1095 00:46:23,740 --> 00:46:27,542 kama sisi milele kusitisha mpango huu? 1096 00:46:27,542 --> 00:46:29,250 Nini inatuambia kwamba sisi kuwa na orodha Iliyopangwa? 1097 00:46:29,250 --> 00:46:31,560 1098 00:46:31,560 --> 00:46:33,750 Kama hatuwezi kufanya swaps yoyote, haki? 1099 00:46:33,750 --> 00:46:36,900 Kama swaps ni sawa na sifuri mwishoni mwa hii. 1100 00:46:36,900 --> 00:46:42,975 Hivyo wakati wewe kufanya wabadilishane, kama sisi tu alifanya hapa, tunataka update swaps. 1101 00:46:42,975 --> 00:46:45,002 1102 00:46:45,002 --> 00:46:47,210 Na najua kulikuwa swali mapema kuhusu gani unaweza 1103 00:46:47,210 --> 00:46:49,689 kutumia zero au moja badala ya kweli au uongo. 1104 00:46:49,689 --> 00:46:50,980 Na kwamba ni nini hii haina hapa. 1105 00:46:50,980 --> 00:46:52,750 Hivyo hii anasema kama si swaps. 1106 00:46:52,750 --> 00:47:01,310 Hivyo kama swaps ni sifuri, ambayo is-- mimi daima kupata ukweli wangu na falses yangu mchanganyiko up. 1107 00:47:01,310 --> 00:47:03,960 Tunataka sisi kutathmini kwa kweli na siyo. 1108 00:47:03,960 --> 00:47:07,680 1109 00:47:07,680 --> 00:47:09,630 Hivyo kama ni sifuri, basi ni uongo. 1110 00:47:09,630 --> 00:47:12,560 Kama yanatofautiana kwa [? bang?] inakuwa kweli. 1111 00:47:12,560 --> 00:47:13,975 Hivyo basi mstari huu executes. 1112 00:47:13,975 --> 00:47:15,060 1113 00:47:15,060 --> 00:47:17,370 >> Ukweli na uongo na zeros na ndio kupata mambo. 1114 00:47:17,370 --> 00:47:20,690 Tu kama wewe polepole kutembea njia hiyo itakuwa mantiki. 1115 00:47:20,690 --> 00:47:23,320 Lakini kwamba ni nini hii kidogo kidogo ya kificho hapa gani. 1116 00:47:23,320 --> 00:47:26,490 Hivyo hii hundi ya kuona Sisi tumefanya swaps yoyote. 1117 00:47:26,490 --> 00:47:30,054 Hivyo kama ni kitu chochote badala sifuri, ni kwenda kuwa uongo 1118 00:47:30,054 --> 00:47:31,970 na jambo zima ni kwenda kutekeleza tena. 1119 00:47:31,970 --> 00:47:33,150 1120 00:47:33,150 --> 00:47:33,650 Baridi? 1121 00:47:33,650 --> 00:47:34,660 1122 00:47:34,660 --> 00:47:36,000 >> STUDENT: Nini kuvunja kufanya? 1123 00:47:36,000 --> 00:47:38,990 >> Mwalimu: Break tu mapumziko nje ya kitanzi. 1124 00:47:38,990 --> 00:47:41,570 Hivyo katika kesi hii ingekuwa tu kama mwisho wa mpango 1125 00:47:41,570 --> 00:47:43,828 na wewe ungekuwa tu kuwa na orodha yako Iliyopangwa. 1126 00:47:43,828 --> 00:47:44,536 STUDENT: Amazing. 1127 00:47:44,536 --> 00:47:48,094 1128 00:47:48,094 --> 00:47:49,010 Mwalimu: Samahani? 1129 00:47:49,010 --> 00:47:52,110 STUDENT: Kwa sababu sisi awali kutumika imeandikwa 1 juu ya kuandikwa sifuri 1130 00:47:52,110 --> 00:47:54,170 kuwasilisha kwamba kama ambayo kazi au la. 1131 00:47:54,170 --> 00:47:54,878 >> Mwalimu: Yeah. 1132 00:47:54,878 --> 00:47:56,410 Hivyo unaweza kurudi sifuri au 1. 1133 00:47:56,410 --> 00:47:58,950 Katika kesi hiyo, kwa sababu sisi siyo kweli kufanya kitu chochote na kazi, 1134 00:47:58,950 --> 00:48:00,150 sisi tu wanataka kuvunja. 1135 00:48:00,150 --> 00:48:02,680 Sisi si kweli huduma kuhusu hilo. 1136 00:48:02,680 --> 00:48:06,960 Brake ni nzuri kama pia ni kutumika kwa ajili ya kuvunja nje 1137 00:48:06,960 --> 00:48:10,710 ya loops nne au hali ya kuwa wewe hawataki kuweka utekelezaji. 1138 00:48:10,710 --> 00:48:12,110 Ni tu inachukua wewe nje ya yao. 1139 00:48:12,110 --> 00:48:13,587 1140 00:48:13,587 --> 00:48:14,795 Ni kidogo ya nuance kitu. 1141 00:48:14,795 --> 00:48:16,737 1142 00:48:16,737 --> 00:48:18,445 Najisikia kama kuna mengi ya mkononi utikisaji, 1143 00:48:18,445 --> 00:48:19,740 kama itabidi kujifunza kuhusu hili hivi karibuni. 1144 00:48:19,740 --> 00:48:20,955 >> Lakini itabidi kujifunza kuhusu hili hivi karibuni. 1145 00:48:20,955 --> 00:48:21,500 Mimi ahadi. 1146 00:48:21,500 --> 00:48:22,670 1147 00:48:22,670 --> 00:48:23,170 OK. 1148 00:48:23,170 --> 00:48:24,840 Hivyo haina kila mtu kupata Bubble aina? 1149 00:48:24,840 --> 00:48:25,550 Si mbaya sana. 1150 00:48:25,550 --> 00:48:31,910 Iterate kupitia, wabadilishane mambo kutumia temp kutofautiana, na sisi ni kuweka wote huko? 1151 00:48:31,910 --> 00:48:32,960 Baridi. 1152 00:48:32,960 --> 00:48:34,080 Kutisha. 1153 00:48:34,080 --> 00:48:34,807 OK. 1154 00:48:34,807 --> 00:48:35,765 Nyuma PowerPoint. 1155 00:48:35,765 --> 00:48:38,140 1156 00:48:38,140 --> 00:48:40,130 Maswali yoyote kwa ujumla kuhusu hizi hadi sasa? 1157 00:48:40,130 --> 00:48:41,200 1158 00:48:41,200 --> 00:48:41,700 Baridi. 1159 00:48:41,700 --> 00:48:43,110 1160 00:48:43,110 --> 00:48:43,695 Mm-hm. 1161 00:48:43,695 --> 00:48:45,279 >> STUDENT: [inaudible] int kuu kawaida. 1162 00:48:45,279 --> 00:48:46,695 Je, una kuwa na kwamba kwa hili? 1163 00:48:46,695 --> 00:48:48,400 1164 00:48:48,400 --> 00:48:53,550 >> Mwalimu: Hivyo sisi walikuwa wanatafuta tu tu katika halisi kuchagua algorithm. 1165 00:48:53,550 --> 00:48:54,559 1166 00:48:54,559 --> 00:48:56,350 Kama alikuwa ni ndani ya kama mpango kubwa, 1167 00:48:56,350 --> 00:48:57,891 ingekuwa int kuu mahali fulani. 1168 00:48:57,891 --> 00:49:00,070 1169 00:49:00,070 --> 00:49:02,880 Kulingana na pale kutumia algorithm hii, 1170 00:49:02,880 --> 00:49:05,860 ingekuwa kuamua nini kuwa walirudi kwa hilo. 1171 00:49:05,860 --> 00:49:09,960 Lakini kwa upande wetu, sisi ni madhubuti kuangalia jinsi hii haina kweli 1172 00:49:09,960 --> 00:49:11,300 iterate kupitia safu. 1173 00:49:11,300 --> 00:49:12,570 Hivyo hatuna wasiwasi kuhusu hilo. 1174 00:49:12,570 --> 00:49:14,150 1175 00:49:14,150 --> 00:49:19,830 >> Hivyo sisi walikuwa wanazungumza kesi kuhusu bora na matukio kesi mbaya kwa ajili ya kutafuta binary. 1176 00:49:19,830 --> 00:49:22,470 Hivyo ni muhimu pia kufanya kwamba kwa kila aina yetu. 1177 00:49:22,470 --> 00:49:24,200 1178 00:49:24,200 --> 00:49:27,560 Hivyo nini unafikiri ni mbaya kesi Runtime ya Bubble aina? 1179 00:49:27,560 --> 00:49:29,560 1180 00:49:29,560 --> 00:49:30,700 You guys kukumbuka? 1181 00:49:30,700 --> 00:49:31,784 >> STUDENT: N minus 1. 1182 00:49:31,784 --> 00:49:32,700 Mwalimu: N minus 1. 1183 00:49:32,700 --> 00:49:35,070 Hivyo kwamba maana kuna n minus 1 kulinganisha. 1184 00:49:35,070 --> 00:49:40,060 Hivyo jambo moja kutambua ni kwamba juu ya iteration kwanza, 1185 00:49:40,060 --> 00:49:43,360 sisi kwenda kwa njia ya, sisi kulinganisha haya two-- hivyo hiyo ni 1. 1186 00:49:43,360 --> 00:49:46,685 Hizi mbili, tatu, nne. 1187 00:49:46,685 --> 00:49:48,070 1188 00:49:48,070 --> 00:49:55,050 Hivyo baada ya iteration moja sisi tayari kuwa na kulinganisha nne. 1189 00:49:55,050 --> 00:49:58,230 Wakati Mimi kuzungumza juu Runtime na n. 1190 00:49:58,230 --> 00:50:04,680 N inawakilisha idadi ya kulinganisha kama kazi ya vipengele wangapi 1191 00:50:04,680 --> 00:50:05,570 tuna. 1192 00:50:05,570 --> 00:50:06,430 OK? 1193 00:50:06,430 --> 00:50:08,860 >> Hivyo sisi kwenda kwa njia ya, tuna nne. 1194 00:50:08,860 --> 00:50:11,780 wakati ujao wewe kujua hatufanyi na utunzaji wa hii. 1195 00:50:11,780 --> 00:50:15,140 Sisi kulinganisha hizi mbili, hizi mbili, hizi mbili, 1196 00:50:15,140 --> 00:50:20,050 na kama hatukuwa na optimization kwamba na kitanzi nne kwamba mimi aliandika, 1197 00:50:20,050 --> 00:50:22,750 ungekuwa kulinganisha katika hapa anyways. 1198 00:50:22,750 --> 00:50:26,170 Hivyo ingekuwa kukimbia kwa njia ya safu 1199 00:50:26,170 --> 00:50:34,380 na kufanya n kulinganisha n mara kwa mara, kwa sababu kila wakati sisi 1200 00:50:34,380 --> 00:50:36,670 kukimbia kwa njia hiyo sisi aina ya jambo moja. 1201 00:50:36,670 --> 00:50:38,300 1202 00:50:38,300 --> 00:50:41,475 >> Na kila wakati sisi kukimbia kwa njia ya safu, sisi kufanya n kulinganisha. 1203 00:50:41,475 --> 00:50:42,920 1204 00:50:42,920 --> 00:50:46,330 Hivyo Runtime wetu kwa hili ni kweli n mraba, ambayo 1205 00:50:46,330 --> 00:50:48,400 ni mbaya sana katika yetu kuingia mwisho kwa sababu kwamba 1206 00:50:48,400 --> 00:50:51,965 ina maana kama sisi alikuwa na nne bilioni mambo, ni 1207 00:50:51,965 --> 00:50:55,260 kwenda kuchukua sisi bilioni nne mraba badala ya 32. 1208 00:50:55,260 --> 00:51:01,240 Hivyo si Runtime bora, lakini kwa baadhi ya mambo, 1209 00:51:01,240 --> 00:51:04,610 unajua, kama wewe ni ndani ya mbalimbali fulani ya mambo 1210 00:51:04,610 --> 00:51:06,540 Bubble aina hiyo inaweza kuwa faini ya kutumia. 1211 00:51:06,540 --> 00:51:07,530 >> OK. 1212 00:51:07,530 --> 00:51:12,290 Hivyo sasa ni nini bora kesi Runtime? 1213 00:51:12,290 --> 00:51:14,357 1214 00:51:14,357 --> 00:51:14,940 STUDENT: sifuri? 1215 00:51:14,940 --> 00:51:16,420 Au 1? 1216 00:51:16,420 --> 00:51:18,140 >> Mwalimu: Hivyo 1 ingekuwa kuwa kulinganisha moja. 1217 00:51:18,140 --> 00:51:19,114 Haki. 1218 00:51:19,114 --> 00:51:20,002 >> STUDENT: N minus 1? 1219 00:51:20,002 --> 00:51:21,380 1220 00:51:21,380 --> 00:51:22,320 >> Mwalimu: Hivyo, yeah. 1221 00:51:22,320 --> 00:51:22,990 Hivyo n minus 1. 1222 00:51:22,990 --> 00:51:26,510 Wakati wowote na dhana kama n bala 1, sisi huwa na kuacha tu ni mbali 1223 00:51:26,510 --> 00:51:31,680 na sisi tu kusema n kwa sababu una kulinganisha kila these-- kila jozi. 1224 00:51:31,680 --> 00:51:36,470 Hivyo itakuwa n minus 1, ambayo sisi tunatarajia kusema tu ni takriban n. 1225 00:51:36,470 --> 00:51:39,280 Wakati wewe ni kushughulika na Runtime, kila kitu ni katika approximates. 1226 00:51:39,280 --> 00:51:43,860 Muda mrefu kama exponent ni sahihi, wewe ni nzuri. 1227 00:51:43,860 --> 00:51:45,700 >> Hiyo ni jinsi sisi kukabiliana nayo. 1228 00:51:45,700 --> 00:51:47,410 1229 00:51:47,410 --> 00:51:51,780 Hivyo kwamba kesi bora ni n, ambayo ina maana kwamba orodha tayari Iliyopangwa, 1230 00:51:51,780 --> 00:51:54,320 na wote sisi kufanya ni kukimbia kupitia na kuangalia kwamba ni vyema. 1231 00:51:54,320 --> 00:51:56,110 1232 00:51:56,110 --> 00:51:56,855 Baridi. 1233 00:51:56,855 --> 00:51:57,355 Wote haki. 1234 00:51:57,355 --> 00:51:58,980 1235 00:51:58,980 --> 00:52:01,920 Hivyo kama unaweza kuona hapa, sisi tu kuwa na baadhi ya michoro zaidi. 1236 00:52:01,920 --> 00:52:02,660 Hivyo n squared. 1237 00:52:02,660 --> 00:52:03,780 1238 00:52:03,780 --> 00:52:05,120 Furaha. 1239 00:52:05,120 --> 00:52:09,730 Mbaya zaidi kuliko n kama sisi kuona, na kiasi, mbaya zaidi kuliko logi 2n. 1240 00:52:09,730 --> 00:52:12,060 Na kisha pia kupata katika gogo kumbukumbu. 1241 00:52:12,060 --> 00:52:18,020 Na wewe kuchukua 124, unaweza kupata ndani kama gogo nyota, ambayo ni kama mambo. 1242 00:52:18,020 --> 00:52:20,172 Hivyo kama wewe ni nia, Luke logi nyota. 1243 00:52:20,172 --> 00:52:20,880 Ni aina ya furaha. 1244 00:52:20,880 --> 00:52:22,800 1245 00:52:22,800 --> 00:52:24,220 Hivyo tuna hii chati kubwa. 1246 00:52:24,220 --> 00:52:25,360 1247 00:52:25,360 --> 00:52:28,720 Tu vichwa juu, hii a ajabu chati kwa kuwa 1248 00:52:28,720 --> 00:52:31,350 kwa katikati mrefu yako kwa sababu sisi muda mrefu kuuliza thins haya. 1249 00:52:31,350 --> 00:52:36,090 Hivyo tu vichwa juu, na hii juu yako katikati mrefu juu ya kudanganya yako nzuri karatasi 1250 00:52:36,090 --> 00:52:36,616 huko. 1251 00:52:36,616 --> 00:52:37,990 Hivyo sisi tu inaonekana katika Bubble aina. 1252 00:52:37,990 --> 00:52:39,510 1253 00:52:39,510 --> 00:52:42,370 Kesi mbaya, n mraba, kesi bora, n. 1254 00:52:42,370 --> 00:52:43,367 1255 00:52:43,367 --> 00:52:44,950 Na sisi ni kwenda kuangalia wengine. 1256 00:52:44,950 --> 00:52:47,940 >> Na kama unaweza kuona, tu moja kwamba kweli anafanya vizuri 1257 00:52:47,940 --> 00:52:50,910 ni kuunganisha aina, ambayo tutaweza kupata katika nini. 1258 00:52:50,910 --> 00:52:52,690 1259 00:52:52,690 --> 00:52:55,215 Hivyo sisi ni kwenda kwenda ijayo moja here-- uteuzi aina. 1260 00:52:55,215 --> 00:52:56,360 1261 00:52:56,360 --> 00:52:58,420 Je, mtu yeyote kumbuka jinsi uteuzi aina ya kazi? 1262 00:52:58,420 --> 00:53:05,200 1263 00:53:05,200 --> 00:53:05,700 Kwenda kwa hayo. 1264 00:53:05,700 --> 00:53:08,210 >> STUDENT: Kimsingi kupitia Ili na kujenga orodha mpya. 1265 00:53:08,210 --> 00:53:11,001 Na kama wewe ni kuweka mambo katika, kuziweka katika mahali pa haki 1266 00:53:11,001 --> 00:53:11,750 katika orodha mpya. 1267 00:53:11,750 --> 00:53:14,040 >> Mwalimu: Hivyo kwamba sauti zaidi kama insertion aina. 1268 00:53:14,040 --> 00:53:15,040 Lakini wewe ni kweli karibu. 1269 00:53:15,040 --> 00:53:15,915 Wao ni sawa sana. 1270 00:53:15,915 --> 00:53:17,440 Hata mimi kupata yao kuchanganywa wakati mwingine. 1271 00:53:17,440 --> 00:53:18,981 Kabla sehemu hii mimi nilikuwa kama, kusubiri. 1272 00:53:18,981 --> 00:53:20,130 1273 00:53:20,130 --> 00:53:20,630 OK. 1274 00:53:20,630 --> 00:53:24,141 Hivyo nini unataka kufanya ni uteuzi aina, 1275 00:53:24,141 --> 00:53:25,890 njia unaweza kufikiria kuhusu hilo na njia 1276 00:53:25,890 --> 00:53:30,140 Mimi kuhakikisha mimi si kujaribu kupata nao kuchanganywa, ni huenda kwa njia ya 1277 00:53:30,140 --> 00:53:33,280 na ni kuchagua idadi ndogo na ni 1278 00:53:33,280 --> 00:53:36,070 unaweka kwamba katika mwanzo wa orodha yako. 1279 00:53:36,070 --> 00:53:37,730 Ni swaps ni pamoja na kwamba doa kwanza. 1280 00:53:37,730 --> 00:53:42,600 1281 00:53:42,600 --> 00:53:45,370 Wao kweli kuwa mfano kwa ajili yangu. 1282 00:53:45,370 --> 00:53:46,540 Kutisha. 1283 00:53:46,540 --> 00:53:50,130 Hivyo njia tu kufikiri ya it-- uteuzi aina, kuchagua thamani ndogo. 1284 00:53:50,130 --> 00:53:51,940 Na tunakwenda kukimbia kwa njia ya mfano 1285 00:53:51,940 --> 00:53:55,320 nadhani itasaidia kwa sababu Nadhani kuonekana daima kusaidia. 1286 00:53:55,320 --> 00:53:58,510 Hivyo sisi kuanza nje na kitu kwamba ni zisizochambuliwa kabisa. 1287 00:53:58,510 --> 00:54:00,730 Red itakuwa zisizochambuliwa, kijani kutatuliwa. 1288 00:54:00,730 --> 00:54:02,190 Itakuwa wote kufanya maana katika pili. 1289 00:54:02,190 --> 00:54:08,950 >> Hivyo sisi kwenda kwa njia na sisi iterate kuanzia mwanzo hadi mwisho. 1290 00:54:08,950 --> 00:54:12,320 Na sisi kusema, sawa, 2 ni idadi ndogo wetu. 1291 00:54:12,320 --> 00:54:15,680 Hivyo sisi ni kwenda kuchukua 2 na tunakwenda kusogeza mbele ya safu yetu 1292 00:54:15,680 --> 00:54:17,734 sababu ni idadi ndogo tuna. 1293 00:54:17,734 --> 00:54:19,150 Hivyo kwamba ni nini hii ni kufanya hapa. 1294 00:54:19,150 --> 00:54:20,820 Ni tu kwenda wabadilishane hizo mbili. 1295 00:54:20,820 --> 00:54:21,850 1296 00:54:21,850 --> 00:54:25,450 Hivyo sasa tuna yamepangwa sehemu na sehemu zisizochambuliwa. 1297 00:54:25,450 --> 00:54:27,810 Na nini vizuri kukumbuka kuhusu uteuzi aina 1298 00:54:27,810 --> 00:54:30,690 ni sisi ni kuchagua tu kutoka sehemu zisizochambuliwa. 1299 00:54:30,690 --> 00:54:32,220 1300 00:54:32,220 --> 00:54:34,527 >> sehemu sorted wewe tu kuondoka peke yake. 1301 00:54:34,527 --> 00:54:35,660 Mm-hm? 1302 00:54:35,660 --> 00:54:38,452 >> STUDENT: Jinsi gani kujua ni nini ndogo bila kulinganisha 1303 00:54:38,452 --> 00:54:39,868 kila thamani nyingine katika safu. 1304 00:54:39,868 --> 00:54:41,250 Mwalimu: Ni anafanya kulinganisha. 1305 00:54:41,250 --> 00:54:42,041 Sisi kama skipped yake. 1306 00:54:42,041 --> 00:54:43,850 Hii ni tu kwa ujumla kwa ujumla. 1307 00:54:43,850 --> 00:54:44,831 Yeah. 1308 00:54:44,831 --> 00:54:47,205 Wakati sisi kuandika kanuni nina kuhakikisha wewe utakuwa kuridhika zaidi. 1309 00:54:47,205 --> 00:54:48,696 1310 00:54:48,696 --> 00:54:53,030 Lakini kuhifadhi hii kwanza kipengele kama ndogo. 1311 00:54:53,030 --> 00:54:56,110 Kulinganisha na wewe kusema, sawa, ni ndogo? 1312 00:54:56,110 --> 00:54:56,660 Ndiyo. 1313 00:54:56,660 --> 00:54:57,460 Kuitunza. 1314 00:54:57,460 --> 00:54:58,640 Hapa ni ndogo? 1315 00:54:58,640 --> 00:54:59,660 Hakuna? 1316 00:54:59,660 --> 00:55:02,510 >> Hii ni ndogo yako, reassign kwa thamani yako. 1317 00:55:02,510 --> 00:55:06,340 Na wewe utakuwa na furaha sana wakati sisi kwenda kwa njia ya kificho. 1318 00:55:06,340 --> 00:55:07,510 1319 00:55:07,510 --> 00:55:13,970 Hivyo sisi kwenda kwa njia ya, sisi byta, hivyo basi sisi kuangalia sehemu hii zisizochambuliwa. 1320 00:55:13,970 --> 00:55:15,810 Hivyo sisi ni kwenda kuchagua tatu nje. 1321 00:55:15,810 --> 00:55:18,890 Tunakwenda kuiweka juu ya saa mwisho wa sehemu yetu Iliyopangwa. 1322 00:55:18,890 --> 00:55:20,267 1323 00:55:20,267 --> 00:55:23,100 Na sisi ni kwenda tu kuendelea kufanya kwamba, kufanya hivyo, na kufanya hivyo. 1324 00:55:23,100 --> 00:55:24,130 1325 00:55:24,130 --> 00:55:27,420 Hivyo hii ni aina yetu ya pseudocode hapa. 1326 00:55:27,420 --> 00:55:29,470 1327 00:55:29,470 --> 00:55:31,380 Tutaweza kanuni ya it up hapa katika pili. 1328 00:55:31,380 --> 00:55:34,140 1329 00:55:34,140 --> 00:55:37,270 Lakini kitu tu kutembea kupitia katika ngazi ya juu. 1330 00:55:37,270 --> 00:55:40,275 Wewe ni kwenda kutoka i sawa 0 kwa n minus 2. 1331 00:55:40,275 --> 00:55:41,570 1332 00:55:41,570 --> 00:55:43,530 Hiyo ni optimization nyingine. 1333 00:55:43,530 --> 00:55:45,020 Je, si wasiwasi sana kuhusu hilo. 1334 00:55:45,020 --> 00:55:46,620 Hivyo kama wewe walikuwa wakisema. 1335 00:55:46,620 --> 00:55:49,660 1336 00:55:49,660 --> 00:55:54,406 Kama Jacob alikuwa akisema, jinsi gani sisi kuweka wimbo wa nini cha chini yetu ni? 1337 00:55:54,406 --> 00:55:55,030 Jinsi gani tunajua? 1338 00:55:55,030 --> 00:55:57,060 Tuna kulinganisha kila kitu katika orodha yetu. 1339 00:55:57,060 --> 00:55:59,600 >> Hivyo kiwango cha chini ni sawa na i. 1340 00:55:59,600 --> 00:56:03,870 Ni kusema tu katika kesi hii ripoti ya thamani yetu ya chini. 1341 00:56:03,870 --> 00:56:07,660 Hivyo basi ni kwenda iterate kupitia na huenda kutoka j sawa i pamoja na 1. 1342 00:56:07,660 --> 00:56:11,420 Hivyo sisi tayari kujua kwamba hiyo ni kipengele yetu ya kwanza. 1343 00:56:11,420 --> 00:56:13,240 Hatuna haja ya kulinganisha kwa yenyewe. 1344 00:56:13,240 --> 00:56:16,970 Hivyo sisi kuanza kulinganisha na ijayo moja ambayo ni kwa nini ni i pamoja na 1 kwa n 1345 00:56:16,970 --> 00:56:20,110 bala 1, ambayo ni mwisho wa safu huko. 1346 00:56:20,110 --> 00:56:25,090 Na sisi alisema kama safu katika j ni chini ya safu min, 1347 00:56:25,090 --> 00:56:29,200 basi sisi reassign ambapo fahirisi yetu chini ni. 1348 00:56:29,200 --> 00:56:37,470 >> Na kama dakika si sawa na i, kama katika ambapo tulikuwa nyuma zaidi ya hapa. 1349 00:56:37,470 --> 00:56:38,950 1350 00:56:38,950 --> 00:56:41,790 Hivyo kama wakati sisi kwanza alifanya hii moja. 1351 00:56:41,790 --> 00:56:49,310 Katika kesi hiyo, ingekuwa kuanza saa sifuri, itakuwa kuishia kuwa mbili. 1352 00:56:49,310 --> 00:56:53,010 Hivyo min haitokuwa sawa i katika mwisho. 1353 00:56:53,010 --> 00:56:55,720 Kwamba lets sisi kujua kwamba tunahitaji wabadilishane yao. 1354 00:56:55,720 --> 00:56:57,420 1355 00:56:57,420 --> 00:57:00,470 Najisikia kama mfano halisi itasaidia zaidi kuliko huu. 1356 00:57:00,470 --> 00:57:04,970 Hivyo mimi itabidi Kanuni hii na wewe guys sasa hivi na nadhani utakuwa bora. 1357 00:57:04,970 --> 00:57:07,380 1358 00:57:07,380 --> 00:57:11,350 >> Aina huwa na kazi njia katika ni mara nyingi zaidi tu kuona kwao. 1359 00:57:11,350 --> 00:57:12,780 1360 00:57:12,780 --> 00:57:17,280 Hivyo nini tunataka kufanya ni sisi kwanza unataka ndogo 1361 00:57:17,280 --> 00:57:19,890 kipengele katika nafasi yake katika safu. 1362 00:57:19,890 --> 00:57:21,280 Nini hasa Jacob alikuwa akisema. 1363 00:57:21,280 --> 00:57:23,090 Unahitaji kuhifadhi kwamba kwa namna fulani. 1364 00:57:23,090 --> 00:57:25,900 Hivyo sisi ni kwenda kuanza hapa iterating juu ya safu. 1365 00:57:25,900 --> 00:57:28,970 Tunakwenda kusema ni yetu kwanza moja tu ya kuanza kwa. 1366 00:57:28,970 --> 00:57:38,308 Hivyo sisi ni kwenda na int ndogo ni sawa na safu katika i. 1367 00:57:38,308 --> 00:57:40,500 1368 00:57:40,500 --> 00:57:45,050 >> Hivyo jambo moja taarifa, kila wakati kitanzi hii executes, 1369 00:57:45,050 --> 00:57:48,550 sisi ni mapya hatua moja zaidi pamoja. 1370 00:57:48,550 --> 00:57:54,780 1371 00:57:54,780 --> 00:57:57,440 Wakati sisi kuanza sisi kuangalia hii moja. 1372 00:57:57,440 --> 00:58:00,840 wakati mwingine sisi iterate kupitia, sisi ni kuanzia saa moja hii 1373 00:58:00,840 --> 00:58:02,680 na kumshirikisha ni thamani yetu ndogo. 1374 00:58:02,680 --> 00:58:10,450 Hivyo ni sawa na Bubble aina ambapo tunajua kwamba baada ya kupitisha moja, 1375 00:58:10,450 --> 00:58:11,700 kipengele hii ya mwisho ni Iliyopangwa. 1376 00:58:11,700 --> 00:58:12,810 1377 00:58:12,810 --> 00:58:15,120 Na uteuzi aina, ni kinyume tu. 1378 00:58:15,120 --> 00:58:18,950 >> Katika kila kupita, tunajua kwamba moja ya kwanza ni Iliyopangwa. 1379 00:58:18,950 --> 00:58:21,360 Baada ya kupita ya pili, pili moja itakuwa sorted. 1380 00:58:21,360 --> 00:58:26,470 Na kama wewe aliona na mifano slide, sehemu yetu yamepangwa tu anaendelea kukua. 1381 00:58:26,470 --> 00:58:34,020 Hivyo kwa kuweka moja wetu ndogo kwa arrays i, kila ni kufanya 1382 00:58:34,020 --> 00:58:37,340 ni constricting nini sisi ni kuangalia hivyo kama 1383 00:58:37,340 --> 00:58:40,164 kupunguza idadi ya kulinganisha sisi kufanya. 1384 00:58:40,164 --> 00:58:41,770 Je, hiyo mantiki kwa kila mtu? 1385 00:58:41,770 --> 00:58:42,920 1386 00:58:42,920 --> 00:58:46,380 Je, unahitaji mimi kukimbia kwa njia ya kwamba tena polepole au kwa maneno tofauti? 1387 00:58:46,380 --> 00:58:47,180 Mimi nina furaha. 1388 00:58:47,180 --> 00:58:48,095 1389 00:58:48,095 --> 00:58:48,595 OK. 1390 00:58:48,595 --> 00:58:50,060 1391 00:58:50,060 --> 00:58:55,540 >> Hivyo sisi ni hifadhi thamani katika hatua hii, 1392 00:58:55,540 --> 00:58:57,840 lakini pia tunataka kuhifadhi index. 1393 00:58:57,840 --> 00:59:01,010 Hivyo sisi ni kwenda kuhifadhi nafasi ya ndogo 1394 00:59:01,010 --> 00:59:02,770 moja, ambayo ni kwenda tu kuwa i. 1395 00:59:02,770 --> 00:59:04,357 1396 00:59:04,357 --> 00:59:05,440 Hivyo sasa Jacob ni kuridhika. 1397 00:59:05,440 --> 00:59:06,870 Tuna mambo kuhifadhiwa. 1398 00:59:06,870 --> 00:59:08,240 1399 00:59:08,240 --> 00:59:11,870 Na sasa sisi haja ya kuangalia kupitia sehemu zisizochambuliwa wa safu. 1400 00:59:11,870 --> 00:59:18,170 Hivyo katika kesi hii hii itakuwa zisizochambuliwa yetu. 1401 00:59:18,170 --> 00:59:20,980 1402 00:59:20,980 --> 00:59:22,462 Hii ni i. 1403 00:59:22,462 --> 00:59:25,430 1404 00:59:25,430 --> 00:59:26,210 OK. 1405 00:59:26,210 --> 00:59:30,040 >> Hivyo kile sisi ni kwenda kufanya ni kwenda kuwa kwa kitanzi. 1406 00:59:30,040 --> 00:59:32,066 Wakati wowote unahitaji iterate kupitia safu, 1407 00:59:32,066 --> 00:59:33,440 akili yako inaweza kwenda kwa ajili ya kitanzi. 1408 00:59:33,440 --> 00:59:34,760 1409 00:59:34,760 --> 00:59:38,090 Hivyo kwa baadhi int k equals-- nini tunafikiri 1410 00:59:38,090 --> 00:59:39,700 k ni kwenda sawa kuanza na? 1411 00:59:39,700 --> 00:59:41,580 1412 00:59:41,580 --> 00:59:44,766 Hii ni nini sisi kuweka kama ndogo wetu thamani na tunataka kulinganisha. 1413 00:59:44,766 --> 00:59:47,090 Nini tunataka kulinganisha kwa? 1414 00:59:47,090 --> 00:59:48,730 Ni kwenda kuwa hii moja ijayo, haki? 1415 00:59:48,730 --> 00:59:53,200 Hivyo tunataka k kuwa initialized i pamoja na 1 kuanza. 1416 00:59:53,200 --> 00:59:55,350 1417 00:59:55,350 --> 01:00:02,800 >> Na tunataka k katika kesi hii sisi tayari ukubwa kuhifadhiwa hadi hapa, 1418 01:00:02,800 --> 01:00:03,930 ili tuweze tu kutumia ukubwa. 1419 01:00:03,930 --> 01:00:06,240 Ukubwa kuwa ukubwa wa safu. 1420 01:00:06,240 --> 01:00:09,620 Na sisi tu wanataka update k na moja kila wakati. 1421 01:00:09,620 --> 01:00:17,410 1422 01:00:17,410 --> 01:00:17,910 Baridi. 1423 01:00:17,910 --> 01:00:19,650 1424 01:00:19,650 --> 01:00:23,430 Hivyo sasa tunahitaji kupata ndogo kipengele hapa. 1425 01:00:23,430 --> 01:00:24,470 1426 01:00:24,470 --> 01:00:31,380 Hivyo kama sisi iterate kupitia, sisi nataka kusema, kama safu katika k 1427 01:00:31,380 --> 01:00:37,080 ni chini ya value-- yetu ndogo hii ni mahali ambapo sisi ni kweli 1428 01:00:37,080 --> 01:00:42,950 kuweka wimbo wa nini ndogo here-- 1429 01:00:42,950 --> 01:00:47,740 basi tunataka reassign nini thamani yetu ndogo ni. 1430 01:00:47,740 --> 01:00:50,645 >> Hii ina maana kwamba, oh, sisi ni iterating kupitia hapa. 1431 01:00:50,645 --> 01:00:51,699 1432 01:00:51,699 --> 01:00:53,740 Chochote thamani ni hapa ni si yetu jambo ndogo. 1433 01:00:53,740 --> 01:00:54,448 Hatutaki hilo. 1434 01:00:54,448 --> 01:00:56,100 Tunataka reassign yake. 1435 01:00:56,100 --> 01:01:02,050 Hivyo kama sisi ni reassigning hivyo, je, unafikiri wanaweza kuwa katika hii kificho hapa? 1436 01:01:02,050 --> 01:01:04,160 Tunataka reassign ndogo na msimamo. 1437 01:01:04,160 --> 01:01:05,740 1438 01:01:05,740 --> 01:01:07,010 Hivyo kile ni ndogo sasa? 1439 01:01:07,010 --> 01:01:08,422 1440 01:01:08,422 --> 01:01:09,130 STUDENT: Array k. 1441 01:01:09,130 --> 01:01:09,963 Mwalimu: Array k. 1442 01:01:09,963 --> 01:01:13,480 1443 01:01:13,480 --> 01:01:15,956 Na nini nafasi sasa? 1444 01:01:15,956 --> 01:01:20,940 1445 01:01:20,940 --> 01:01:23,000 Nini fahirisi ya thamani yetu madogo? 1446 01:01:23,000 --> 01:01:24,030 1447 01:01:24,030 --> 01:01:24,530 Ni k tu. 1448 01:01:24,530 --> 01:01:25,690 1449 01:01:25,690 --> 01:01:27,790 Hivyo safu k, k, mechi up. 1450 01:01:27,790 --> 01:01:31,670 1451 01:01:31,670 --> 01:01:33,120 Hivyo sisi alitaka reassign hiyo. 1452 01:01:33,120 --> 01:01:34,390 1453 01:01:34,390 --> 01:01:39,950 Na kisha baada ya sisi kupatikana ndogo yetu, hivyo mwishoni mwa hii kwa kitanzi 1454 01:01:39,950 --> 01:01:45,100 hapa tumepata nini ndogo wetu thamani ya, hivyo sisi tu byta yake. 1455 01:01:45,100 --> 01:01:47,100 1456 01:01:47,100 --> 01:01:50,816 Katika kesi hiyo, kama wanasema wetu thamani ndogo ni nje hapa. 1457 01:01:50,816 --> 01:01:51,940 Hii ni thamani yetu ndogo. 1458 01:01:51,940 --> 01:01:57,690 >> Sisi tu wanataka wabadilishane hapa, ambayo ni nini kwamba wabadilishane kazi chini 1459 01:01:57,690 --> 01:02:01,270 alifanya, ambayo sisi tu aliandika up pamoja dakika kadhaa iliyopita. 1460 01:02:01,270 --> 01:02:02,775 Hivyo ni lazima kuangalia ukoo. 1461 01:02:02,775 --> 01:02:04,320 1462 01:02:04,320 --> 01:02:08,030 Na basi itakuwa tu iterate kupitia mpaka inafikia njia yote 1463 01:02:08,030 --> 01:02:13,100 na mwisho, ambayo ina maana kwamba kuwa na vipengele sifuri kwamba ni zisizochambuliwa 1464 01:02:13,100 --> 01:02:14,800 na kila kitu kingine imekuwa yamepangwa. 1465 01:02:14,800 --> 01:02:16,216 1466 01:02:16,216 --> 01:02:16,715 Mantiki? 1467 01:02:16,715 --> 01:02:18,010 1468 01:02:18,010 --> 01:02:19,280 zaidi kidogo kwa uthabiti? 1469 01:02:19,280 --> 01:02:19,990 kificho msaada? 1470 01:02:19,990 --> 01:02:21,720 1471 01:02:21,720 --> 01:02:26,410 >> STUDENT: Kwa kawaida, kamwe kweli kufafanua au mabadiliko hayo, 1472 01:02:26,410 --> 01:02:27,340 jinsi gani unajua? 1473 01:02:27,340 --> 01:02:32,380 >> Mwalimu: Hivyo jambo moja taarifa juu hapa ni int kawaida. 1474 01:02:32,380 --> 01:02:35,680 Hivyo sisi ni kusema katika aina hii sort-- ni kazi katika hii case-- ni 1475 01:02:35,680 --> 01:02:40,770 uteuzi aina, ni kupita katika na kazi. 1476 01:02:40,770 --> 01:02:43,460 Hivyo kama ilikuwa si kupita katika, ungependa kufanya kitu 1477 01:02:43,460 --> 01:02:47,840 kama na urefu wa safu au ungependa iterate kupitia 1478 01:02:47,840 --> 01:02:49,390 kupata urefu. 1479 01:02:49,390 --> 01:02:52,680 Lakini kwa sababu ni kupita katika, tunaweza tu matumizi yake. 1480 01:02:52,680 --> 01:02:55,720 Wewe tu kudhani kwamba mtumiaji alitoa wewe ukubwa halali kwamba 1481 01:02:55,720 --> 01:02:57,698 kweli inawakilisha ukubwa wa safu yako. 1482 01:02:57,698 --> 01:02:59,461 1483 01:02:59,461 --> 01:02:59,960 Baridi? 1484 01:02:59,960 --> 01:03:01,610 1485 01:03:01,610 --> 01:03:05,870 >> Kama wewe guys kuwa na shida yoyote na hizi au unataka zaidi mazoezi coding aina 1486 01:03:05,870 --> 01:03:08,050 juu yako mwenyewe, unapaswa kwenda study.cs50. 1487 01:03:08,050 --> 01:03:11,560 1488 01:03:11,560 --> 01:03:12,670 Ni chombo. 1489 01:03:12,670 --> 01:03:15,040 Wana kusahihisha kwamba unaweza kweli kuandika. 1490 01:03:15,040 --> 01:03:16,180 Wao kufanya pseudocode. 1491 01:03:16,180 --> 01:03:19,310 Wana videos zaidi na slides ikiwa ni pamoja na wale wa mimi kutumia hapa. 1492 01:03:19,310 --> 01:03:23,150 Hivyo kama wewe ni bado hisia kidogo fuzzy, kujaribu kuwa nje. 1493 01:03:23,150 --> 01:03:25,670 Kama siku zote, kuja kuzungumza na mimi, pia. 1494 01:03:25,670 --> 01:03:26,320 Swali? 1495 01:03:26,320 --> 01:03:28,611 >> STUDENT: Je, akisema ukubwa inaelezwa awali? 1496 01:03:28,611 --> 01:03:29,234 1497 01:03:29,234 --> 01:03:29,900 Mwalimu: Ndiyo. 1498 01:03:29,900 --> 01:03:35,570 Ukubwa ni awali defined up hapa katika kazi tamko. 1499 01:03:35,570 --> 01:03:39,060 Hivyo kudhani kuwa ni kuwa kupita katika kwa mtumiaji, na kwa ajili ya unyenyekevu wa, 1500 01:03:39,060 --> 01:03:41,896 tunakwenda kudhani kwamba user alitupa ukubwa sahihi. 1501 01:03:41,896 --> 01:03:43,240 Baridi. 1502 01:03:43,240 --> 01:03:44,390 Hivyo hiyo ni uteuzi aina. 1503 01:03:44,390 --> 01:03:45,590 1504 01:03:45,590 --> 01:03:47,640 Guys, najua sisi ni kujifunza mengi leo. 1505 01:03:47,640 --> 01:03:49,710 Ni data mnene kwa sehemu. 1506 01:03:49,710 --> 01:03:51,880 1507 01:03:51,880 --> 01:03:57,340 Hivyo, pamoja na kwamba, sisi ni kwenda kwenda kuingizwa aina. 1508 01:03:57,340 --> 01:04:01,550 1509 01:04:01,550 --> 01:04:02,510 >> OK. 1510 01:04:02,510 --> 01:04:06,100 Hivyo kabla ya kuwa sisi kufanya Runtime yetu uchambuzi hapa. 1511 01:04:06,100 --> 01:04:10,190 Hivyo katika kesi bora, nafasi tangu mimi ilionyesha yenu 1512 01:04:10,190 --> 01:04:11,960 meza Mimi tayari aina ya alitoa mbali. 1513 01:04:11,960 --> 01:04:15,430 Lakini kesi bora Runtime, je, sisi kufikiri? 1514 01:04:15,430 --> 01:04:17,310 1515 01:04:17,310 --> 01:04:18,130 Kila kitu sorted. 1516 01:04:18,130 --> 01:04:21,040 1517 01:04:21,040 --> 01:04:22,070 N mraba. 1518 01:04:22,070 --> 01:04:24,780 Mtu yeyote kuwa na maelezo kwa nini unafikiri? 1519 01:04:24,780 --> 01:04:29,060 1520 01:04:29,060 --> 01:04:30,519 >> STUDENT: Wewe ni kulinganisha through-- 1521 01:04:30,519 --> 01:04:31,268 Mwalimu: Haki. 1522 01:04:31,268 --> 01:04:32,540 Wewe ni kulinganisha njia ya. 1523 01:04:32,540 --> 01:04:35,630 Katika kila iteration, ingawa sisi ni decrementing hii kwa moja, 1524 01:04:35,630 --> 01:04:38,950 bado uko kutafuta njia ya kila kitu kupata moja ndogo. 1525 01:04:38,950 --> 01:04:42,390 Hivyo hata kama thamani yako ndogo ni hapa mwanzoni, 1526 01:04:42,390 --> 01:04:44,710 bado uko kulinganisha dhidi ya kila kitu kingine 1527 01:04:44,710 --> 01:04:46,550 kuhakikisha ni jambo ndogo. 1528 01:04:46,550 --> 01:04:49,820 Hivyo itabidi kuishia mbio kwa njia ya takriban n mraba nyakati. 1529 01:04:49,820 --> 01:04:51,090 1530 01:04:51,090 --> 01:04:51,590 Wote haki. 1531 01:04:51,590 --> 01:04:52,785 Na nini kesi mbaya? 1532 01:04:52,785 --> 01:04:54,350 1533 01:04:54,350 --> 01:04:57,980 Pia n mraba kwa sababu wewe ni kwenda kuwa kufanya kwamba utaratibu huo. 1534 01:04:57,980 --> 01:05:01,670 Hivyo katika kesi hii, uteuzi aina ina kitu 1535 01:05:01,670 --> 01:05:04,010 kwamba sisi pia kuwaita inatarajiwa Runtime. 1536 01:05:04,010 --> 01:05:07,400 Hivyo kwa wengine, sisi tu kujua juu na chini mipaka. 1537 01:05:07,400 --> 01:05:11,180 Kulingana na jinsi mambo yetu orodha ni au jinsi zisizochambuliwa ni, 1538 01:05:11,180 --> 01:05:15,350 wao kutofautiana kati ya n au n squared. 1539 01:05:15,350 --> 01:05:16,550 Hatujui. 1540 01:05:16,550 --> 01:05:22,820 >> Lakini kwa sababu uteuzi aina ina sawa mbaya na kesi bora, kwamba inatuambia kwamba 1541 01:05:22,820 --> 01:05:25,880 hakuna jambo aina gani ya pembejeo sisi kuwa, kama ni kabisa 1542 01:05:25,880 --> 01:05:29,130 yamepangwa au kabisa kubadili yamepangwa, ni 1543 01:05:29,130 --> 01:05:30,740 kwenda kuchukua kiasi hicho cha wakati. 1544 01:05:30,740 --> 01:05:33,760 Hivyo katika kesi hiyo, kama wewe kukumbuka kutoka meza yetu, 1545 01:05:33,760 --> 01:05:38,610 ni kweli alikuwa thamani kwamba aina hizi mbili hawana, 1546 01:05:38,610 --> 01:05:40,390 ambayo ni inatarajiwa Runtime. 1547 01:05:40,390 --> 01:05:43,350 Hivyo tunajua kwamba wakati wowote sisi kukimbia uteuzi aina, 1548 01:05:43,350 --> 01:05:45,380 ni uhakika kukimbia n mraba muda. 1549 01:05:45,380 --> 01:05:46,630 Hakuna tofauti huko. 1550 01:05:46,630 --> 01:05:47,630 Ni tu ilivyotarajiwa. 1551 01:05:47,630 --> 01:05:48,820 1552 01:05:48,820 --> 01:05:52,140 Na, tena, kama unataka kujifunza zaidi, kuchukua CS 124 katika spring. 1553 01:05:52,140 --> 01:05:55,370 1554 01:05:55,370 --> 01:05:56,712 Wote haki. 1555 01:05:56,712 --> 01:05:57,545 Tumeona hii moja. 1556 01:05:57,545 --> 01:05:58,530 1557 01:05:58,530 --> 01:05:59,030 Baridi. 1558 01:05:59,030 --> 01:06:00,930 Hivyo insertion aina. 1559 01:06:00,930 --> 01:06:03,330 Na mimi nina pengine ni kwenda kuwaka kwa njia hii. 1560 01:06:03,330 --> 01:06:05,440 Mimi si kuwa nyie kanuni ya yake. 1561 01:06:05,440 --> 01:06:06,580 Tutaweza tu kutembea kwa njia hiyo. 1562 01:06:06,580 --> 01:06:10,500 Hivyo insertion aina ni aina ya sawa na uteuzi aina 1563 01:06:10,500 --> 01:06:14,460 katika kwamba tuna wote wawili zisizochambuliwa na yamepangwa sehemu ya safu. 1564 01:06:14,460 --> 01:06:20,260 >> Lakini nini tofauti ni kwamba kama sisi kwenda kwa njia ya moja kwa moja, 1565 01:06:20,260 --> 01:06:24,210 sisi tu kuchukua chochote idadi ni ya pili katika zisizochambuliwa yetu, 1566 01:06:24,210 --> 01:06:28,507 na kwa usahihi aina yake katika safu yetu Iliyopangwa. 1567 01:06:28,507 --> 01:06:30,090 Ni itabidi kufanya maana zaidi na mfano. 1568 01:06:30,090 --> 01:06:31,140 1569 01:06:31,140 --> 01:06:35,430 Hivyo kila kitu kuanza kama zisizochambuliwa, tu kama na uteuzi aina. 1570 01:06:35,430 --> 01:06:38,740 Na tunakwenda aina hii katika wakipanda ili kama tumekuwa. 1571 01:06:38,740 --> 01:06:40,360 1572 01:06:40,360 --> 01:06:43,340 Kadhalika kupita wetu wa kwanza sisi kuchukua thamani kwanza 1573 01:06:43,340 --> 01:06:46,700 na sisi kusema, sawa, wewe ni sasa katika orodha na wewe mwenyewe. 1574 01:06:46,700 --> 01:06:49,150 >> Kwa sababu wewe ni katika orodha na wewe mwenyewe, wewe ni sorted. 1575 01:06:49,150 --> 01:06:52,460 Hongera kwa kuwa kipengele kwanza katika safu hii. 1576 01:06:52,460 --> 01:06:54,800 Uko tayari yamepangwa yote juu yako mwenyewe. 1577 01:06:54,800 --> 01:06:58,900 Hivyo sasa tuna yamepangwa na safu zisizochambuliwa. 1578 01:06:58,900 --> 01:07:01,760 Hivyo sasa sisi kuchukua kwanza. 1579 01:07:01,760 --> 01:07:05,600 Kile kinachotokea kati hapa na hapa ni kwamba sisi kusema, 1580 01:07:05,600 --> 01:07:08,890 OK, sisi ni kwenda kuangalia thamani ya kwanza ya safu yetu zisizochambuliwa 1581 01:07:08,890 --> 01:07:13,270 na tunakwenda pembejeo katika wake mahali sahihi katika safu Iliyopangwa. 1582 01:07:13,270 --> 01:07:21,460 >> Hivyo kile sisi ni sisi kuchukua 5 na sisi kusema, sawa, 5 ni kubwa zaidi kuliko 3, 1583 01:07:21,460 --> 01:07:24,630 hivyo sisi tu kuingiza haki na haki ya hiyo. 1584 01:07:24,630 --> 01:07:25,130 Sisi ni njema. 1585 01:07:25,130 --> 01:07:26,200 1586 01:07:26,200 --> 01:07:28,420 Hivyo basi sisi kwenda kwenye moja ijayo. 1587 01:07:28,420 --> 01:07:29,720 Na sisi kuchukua 2. 1588 01:07:29,720 --> 01:07:34,330 Sisi tunasema, OK, 2 ni chini kuliko 3, hivyo tunajua kwamba 1589 01:07:34,330 --> 01:07:36,220 mahitaji ya kuwa katika mbele ya orodha yetu ya sasa. 1590 01:07:36,220 --> 01:07:41,800 Hivyo kile sisi kufanya ni sisi kushinikiza 3 na 5 chini na sisi hoja 2 katika yanayopangwa kwanza. 1591 01:07:41,800 --> 01:07:42,990 1592 01:07:42,990 --> 01:07:45,870 Hivyo sisi ni tu kuingiza ndani mahali sahihi ni lazima. 1593 01:07:45,870 --> 01:07:46,960 1594 01:07:46,960 --> 01:07:49,470 >> Kisha sisi kuangalia wetu moja ya pili, na sisi kusema 6. 1595 01:07:49,470 --> 01:07:53,620 OK, 6 ni kubwa kuliko kila kitu katika safu yetu Iliyopangwa, 1596 01:07:53,620 --> 01:07:56,000 hivyo sisi tu tag juu ya mwisho. 1597 01:07:56,000 --> 01:07:56,960 Na kisha sisi kuangalia 4. 1598 01:07:56,960 --> 01:07:58,130 1599 01:07:58,130 --> 01:08:03,020 4 ni chini ya 6, ni chini ya kuliko 5 lakini kubwa kuliko 3. 1600 01:08:03,020 --> 01:08:06,270 Hivyo sisi tu kuingiza haki katika katikati kati ya 3 na 5. 1601 01:08:06,270 --> 01:08:07,380 1602 01:08:07,380 --> 01:08:10,530 Hivyo kufanya kuwa kidogo kidogo zaidi halisi, 1603 01:08:10,530 --> 01:08:12,280 hapa ni aina ya wazo la nini kilichotokea. 1604 01:08:12,280 --> 01:08:16,430 Hivyo kwa kila kipengele zisizochambuliwa, sisi kuamua ambapo katika sehemu Iliyopangwa 1605 01:08:16,430 --> 01:08:17,090 ni. 1606 01:08:17,090 --> 01:08:20,680 >> Hivyo kuweka katika akili yamepangwa na zisizochambuliwa, 1607 01:08:20,680 --> 01:08:26,080 tuna traverse kupitia na takwimu nje ambapo inafaa katika safu Iliyopangwa. 1608 01:08:26,080 --> 01:08:31,460 Na sisi kuingiza kwa shifting vipengele na haki ya chini. 1609 01:08:31,460 --> 01:08:34,910 Na kisha sisi tu kuweka iterating kupitia mpaka sisi 1610 01:08:34,910 --> 01:08:39,270 kuwa na orodha kabisa yamepangwa ambapo zisizochambuliwa sasa ni sifuri 1611 01:08:39,270 --> 01:08:41,720 na sorted inachukua hadi ukamilifu wa orodha yetu. 1612 01:08:41,720 --> 01:08:43,146 1613 01:08:43,146 --> 01:08:45,854 Hivyo, tena, kufanya mambo hata thabiti zaidi, tuna pseudocode. 1614 01:08:45,854 --> 01:08:47,979 1615 01:08:47,979 --> 01:08:52,410 >> Hivyo kimsingi kwa i ni sawa na 0 kwa n minus 1, 1616 01:08:52,410 --> 01:08:54,790 hiyo ni urefu wa safu yetu. 1617 01:08:54,790 --> 01:09:00,979 Tuna baadhi ya kipengele kwamba ni sawa na safu ya kwanza au fahirisi ya kwanza. 1618 01:09:00,979 --> 01:09:03,200 Sisi kuweka j sawa na kwamba. 1619 01:09:03,200 --> 01:09:04,649 1620 01:09:04,649 --> 01:09:09,210 Hivyo wakati j ni mkubwa kuliko sifuri na safu, j minus 1 1621 01:09:09,210 --> 01:09:11,660 ni mkubwa kuliko kipengele, hivyo wote kwamba anafanya 1622 01:09:11,660 --> 01:09:17,479 ni kuhakikisha kwamba j yako kweli inawakilisha 1623 01:09:17,479 --> 01:09:20,010 sehemu zisizochambuliwa wa safu. 1624 01:09:20,010 --> 01:09:30,745 >> Hivyo wakati bado kuna mambo kutatua na j minus moja is-- nini 1625 01:09:30,745 --> 01:09:31,840 ni kipengele wake? 1626 01:09:31,840 --> 01:09:34,760 J alikuwa kamwe defined hapa. 1627 01:09:34,760 --> 01:09:35,677 Ni aina ya annoying. 1628 01:09:35,677 --> 01:09:36,176 OK. 1629 01:09:36,176 --> 01:09:36,689 Anyways. 1630 01:09:36,689 --> 01:09:39,899 Hivyo j minus 1, wewe ni kuangalia kipengele mbele yake. 1631 01:09:39,899 --> 01:09:46,460 Wewe kusema, sawa, ni kipengele kabla popote mimi am-- hebu 1632 01:09:46,460 --> 01:09:47,540 kweli kuteka hii nje. 1633 01:09:47,540 --> 01:09:52,580 1634 01:09:52,580 --> 01:09:56,830 Basi hebu kusema hii ni kama juu ya kupita yetu ya pili. 1635 01:09:56,830 --> 01:09:59,525 Hivyo i ni kwenda kuwa sawa 1, ambayo ni hapa. 1636 01:09:59,525 --> 01:10:03,310 1637 01:10:03,310 --> 01:10:06,025 >> Hivyo i ni kwenda kuwa sawa na 1. 1638 01:10:06,025 --> 01:10:09,510 1639 01:10:09,510 --> 01:10:13,702 Hii itakuwa 2, 4, 5, 6, 7. 1640 01:10:13,702 --> 01:10:16,060 1641 01:10:16,060 --> 01:10:16,750 Wote haki. 1642 01:10:16,750 --> 01:10:20,945 Hivyo kipengele yetu katika kesi hii ni kwenda kuwa sawa na 4. 1643 01:10:20,945 --> 01:10:22,110 1644 01:10:22,110 --> 01:10:24,946 Na tuna baadhi ya j kwamba itakuwa sawa na 1. 1645 01:10:24,946 --> 01:10:29,770 1646 01:10:29,770 --> 01:10:30,971 Oh, j ni decrementing. 1647 01:10:30,971 --> 01:10:31,720 Hiyo ni nini. 1648 01:10:31,720 --> 01:10:35,680 Hivyo j ni sawa na i, hivyo nini hii ni Msemo ni kwamba kama sisi kusonga mbele, 1649 01:10:35,680 --> 01:10:37,530 sisi ni maamuzi tu kuhakikisha kwamba sisi siyo juu ya 1650 01:10:37,530 --> 01:10:43,520 Indexing njia hii wakati sisi ni kujaribu kuingiza mambo katika orodha yetu Iliyopangwa. 1651 01:10:43,520 --> 01:10:49,850 >> Hivyo wakati j ni sawa na 1 katika kesi hii na safu j minus one-- hivyo safu j minus 1 1652 01:10:49,850 --> 01:10:54,610 ni 2 katika case-- hii kama hiyo kubwa kuliko kipengele, 1653 01:10:54,610 --> 01:10:57,700 basi wote hii ni kufanya ni shifting mambo chini. 1654 01:10:57,700 --> 01:11:04,790 Hivyo katika kesi hii, safu j minus moja itakuwa safu sifuri, ambayo ni 2. 1655 01:11:04,790 --> 01:11:08,430 2 si mkuu zaidi kuliko 4, hivyo hii haina nitafanya. 1656 01:11:08,430 --> 01:11:11,460 Hivyo mabadiliko hana hoja chini. 1657 01:11:11,460 --> 01:11:18,790 Nini hii hapa ni tu kusonga safu yako sorted chini. 1658 01:11:18,790 --> 01:11:22,340 1659 01:11:22,340 --> 01:11:26,400 Katika kesi hiyo, kwa kweli, sisi inaweza do-- hebu kufanya hii 3. 1660 01:11:26,400 --> 01:11:28,080 1661 01:11:28,080 --> 01:11:31,970 Hivyo kama sisi ni kutembea kwa njia na mfano huu, tuko sasa hapa. 1662 01:11:31,970 --> 01:11:32,740 Hii ni Iliyopangwa. 1663 01:11:32,740 --> 01:11:34,492 1664 01:11:34,492 --> 01:11:35,200 Hii ni zisizochambuliwa. 1665 01:11:35,200 --> 01:11:39,090 1666 01:11:39,090 --> 01:11:39,860 Baridi? 1667 01:11:39,860 --> 01:11:46,620 Hivyo i ni sawa na 2, hivyo kipengele yetu ni sawa na 3. 1668 01:11:46,620 --> 01:11:47,920 1669 01:11:47,920 --> 01:11:52,270 Na j yetu ni sawa na 2. 1670 01:11:52,270 --> 01:12:00,620 Hivyo sisi kuangalia njia na sisi kusema, sawa, ni safu j minus moja 1671 01:12:00,620 --> 01:12:03,470 kubwa kuliko kipengele kwamba sisi ni kuangalia? 1672 01:12:03,470 --> 01:12:05,540 Na jibu ni ndiyo, haki? 1673 01:12:05,540 --> 01:12:11,275 4 ni mkubwa kuliko 3 na j ni 2, hivyo kanuni hii executes. 1674 01:12:11,275 --> 01:12:12,510 1675 01:12:12,510 --> 01:12:18,550 >> Hivyo sasa nini cha kufanya safu katika 2, hivyo hapa hapa, sisi wabadilishane yao. 1676 01:12:18,550 --> 01:12:25,620 Hivyo sisi tu kusema, sawa, safu saa 2 sasa ni kwenda kuwa 3. 1677 01:12:25,620 --> 01:12:28,130 1678 01:12:28,130 --> 01:12:32,340 Na j ni kwenda sawa j minus 1, ambayo ni 1. 1679 01:12:32,340 --> 01:12:34,590 1680 01:12:34,590 --> 01:12:37,200 Hiyo ni ya kutisha, lakini nyie kupata wazo. 1681 01:12:37,200 --> 01:12:38,360 J sasa ni sawa na 1. 1682 01:12:38,360 --> 01:12:44,360 Na safu j ni kwenda tu kuwa sawa na kipengele yetu, ambayo ilikuwa 4. 1683 01:12:44,360 --> 01:12:45,950 1684 01:12:45,950 --> 01:12:48,570 Mimi kufutika kitu mimi hawapaswi kuwa au miswrote kitu, 1685 01:12:48,570 --> 01:12:49,910 lakini nyie kupata wazo. 1686 01:12:49,910 --> 01:12:50,640 >> Ni hoja katika n. 1687 01:12:50,640 --> 01:12:51,920 1688 01:12:51,920 --> 01:12:57,960 Na kisha kama hii walikuwa, ingekuwa kitanzi tena na kusema, sawa, j ni 1 ya sasa. 1689 01:12:57,960 --> 01:13:00,665 Na safu j minus 1 ni sasa 2. 1690 01:13:00,665 --> 01:13:01,750 1691 01:13:01,750 --> 01:13:03,760 Ni 2 chini ya kipengele yetu? 1692 01:13:03,760 --> 01:13:04,540 Hakuna? 1693 01:13:04,540 --> 01:13:07,970 Hiyo ina maana kwamba tumekuwa kuingizwa kipengele hii 1694 01:13:07,970 --> 01:13:10,110 katika doa sahihi katika safu yetu Iliyopangwa. 1695 01:13:10,110 --> 01:13:14,400 Basi tunaweza kuchukua hii na sisi kusema, OK, safu yetu sorted ni hapa. 1696 01:13:14,400 --> 01:13:19,940 Na itachukua idadi hii ya 6 na kuwa kama, sawa, ni 6 chini ya idadi hii? 1697 01:13:19,940 --> 01:13:20,480 Hakuna? 1698 01:13:20,480 --> 01:13:21,080 Baridi. 1699 01:13:21,080 --> 01:13:22,680 Sisi ni faini. 1700 01:13:22,680 --> 01:13:23,530 >> Kufanya hivyo tena. 1701 01:13:23,530 --> 01:13:24,740 Sisi tunasema 7. 1702 01:13:24,740 --> 01:13:29,010 Ni 7 chini ya mwisho safu yetu Iliyopangwa? 1703 01:13:29,010 --> 01:13:29,520 Hakuna 1704 01:13:29,520 --> 01:13:30,430 Hivyo sisi ni faini. 1705 01:13:30,430 --> 01:13:32,760 Hivyo hii itakuwa kutatuliwa. 1706 01:13:32,760 --> 01:13:38,610 Kimsingi yote hii haina ni ni kusema kuchukua 1707 01:13:38,610 --> 01:13:42,060 kipengele kwanza ya safu yako zisizochambuliwa, 1708 01:13:42,060 --> 01:13:46,010 takwimu nje ambapo unaendelea katika safu yako sorted. 1709 01:13:46,010 --> 01:13:48,780 Na hii tu inachukua huduma ya swaps kufanya hivyo. 1710 01:13:48,780 --> 01:13:51,300 Wewe ni kimsingi tu swapping mpaka ni katika doa haki. 1711 01:13:51,300 --> 01:13:53,600 1712 01:13:53,600 --> 01:13:56,990 picha Visual ni kwamba wewe ni kusonga kila kitu chini kwa kufanya hivyo. 1713 01:13:56,990 --> 01:13:59,420 >> Hivyo ni kama nusu Bubble aina-esque. 1714 01:13:59,420 --> 01:14:02,280 1715 01:14:02,280 --> 01:14:03,420 Angalia utafiti 50. 1716 01:14:03,420 --> 01:14:06,000 Mimi sana kupendekeza kujaribu na kanuni hii juu yako mwenyewe. 1717 01:14:06,000 --> 01:14:07,220 1718 01:14:07,220 --> 01:14:12,450 Kama una masuala yoyote au unataka kuona sampuli kificho kwa aina insertion, 1719 01:14:12,450 --> 01:14:13,750 tafadhali basi mimi kujua. 1720 01:14:13,750 --> 01:14:14,500 Mimi nina daima karibu. 1721 01:14:14,500 --> 01:14:16,600 1722 01:14:16,600 --> 01:14:20,200 Hivyo kesi mbaya Runtime na kesi bora Runtime. 1723 01:14:20,200 --> 01:14:30,700 Kama wewe guy aliona kutoka meza Mimi tayari ilionyesha wewe, ni wote n mraba na n. 1724 01:14:30,700 --> 01:14:35,590 >> Hivyo aina ya kwenda mbali ya kile sisi aliyesema kuhusu na aina yetu ya awali, mbaya 1725 01:14:35,590 --> 01:14:38,760 kesi Runtime ni kwamba kama ni kabisa zisizochambuliwa, 1726 01:14:38,760 --> 01:14:42,530 tuna kulinganisha yote ya nyakati hizi n. 1727 01:14:42,530 --> 01:14:47,020 Sisi kufanya mengi yote ya kulinganisha kwa sababu kama ni ili reverse, 1728 01:14:47,020 --> 01:14:50,360 tunakwenda kusema, sawa, hii ni sawa, hii ni nzuri, 1729 01:14:50,360 --> 01:14:54,650 na hii moja itakuwa na ikilinganishwa dhidi ya moja ya kwanza kuwa wakiongozwa nyuma. 1730 01:14:54,650 --> 01:14:56,710 Na kama sisi kupata ya kutolewa mwisho wa mkia, tuna 1731 01:14:56,710 --> 01:14:59,440 kulinganisha, kulinganisha, na kulinganisha dhidi ya kila kitu. 1732 01:14:59,440 --> 01:15:03,030 >> Hivyo kuishia kuwa takriban n squared. 1733 01:15:03,030 --> 01:15:09,510 Kama ni sahihi basi kusema, sawa, 2, wewe ni nzuri. 1734 01:15:09,510 --> 01:15:11,330 3, wewe ni ikilinganishwa na 2. 1735 01:15:11,330 --> 01:15:12,310 Wewe ni nzuri. 1736 01:15:12,310 --> 01:15:14,150 4, wewe tu kulinganisha na mkia. 1737 01:15:14,150 --> 01:15:14,990 Wewe ni nzuri. 1738 01:15:14,990 --> 01:15:17,140 6, kulinganisha na mkia, wewe ni faini. 1739 01:15:17,140 --> 01:15:20,870 Hivyo kwa kila doa kama ni tayari yamepangwa, wewe ni kufanya kulinganisha moja. 1740 01:15:20,870 --> 01:15:22,320 Hivyo ni tu n. 1741 01:15:22,320 --> 01:15:26,840 Na kwa sababu tuna bora kesi Runtime ya n na kesi mbaya Runtime ya n 1742 01:15:26,840 --> 01:15:28,680 mraba, hatuna Runtime inatarajiwa. 1743 01:15:28,680 --> 01:15:31,290 1744 01:15:31,290 --> 01:15:34,020 >> Ni tu inategemea machafuko ya orodha yetu huko. 1745 01:15:34,020 --> 01:15:35,860 1746 01:15:35,860 --> 01:15:39,530 Na tena, mwingine graph na meza nyingine. 1747 01:15:39,530 --> 01:15:41,170 Hivyo tofauti kati ya aina. 1748 01:15:41,170 --> 01:15:44,180 Mimi tu kwenda kwa breeze kupitia, mimi kujisikia kama tumekuwa aliyesema sana 1749 01:15:44,180 --> 01:15:46,570 kuhusu jinsi kila aina ya kutofautiana na kuunganisha pamoja. 1750 01:15:46,570 --> 01:15:50,564 Hivyo kuunganisha aina ni moja ya mwisho Mimi atalitoboa nyie pamoja. 1751 01:15:50,564 --> 01:15:52,105 Sisi kufanya kuwa picha pretty colorful. 1752 01:15:52,105 --> 01:15:53,860 1753 01:15:53,860 --> 01:15:56,040 Hivyo kuunganisha aina ni algorithm kujirudia. 1754 01:15:56,040 --> 01:15:59,910 Hivyo wewe guys kujua nini kazi ya kujirudia ni? 1755 01:15:59,910 --> 01:16:01,550 1756 01:16:01,550 --> 01:16:03,320 >> Mtu yeyote wanataka kusema? 1757 01:16:03,320 --> 01:16:04,739 Unataka kujaribu? 1758 01:16:04,739 --> 01:16:07,280 Hivyo kazi ya kujirudia ni tu kazi kwamba wito yenyewe. 1759 01:16:07,280 --> 01:16:08,570 1760 01:16:08,570 --> 01:16:11,590 Hivyo kama wewe guys ni ukoo na mlolongo Fibonacci, 1761 01:16:11,590 --> 01:16:15,670 hiyo ni aliona kujirudia kwa sababu wewe kuchukua mbili zilizopita 1762 01:16:15,670 --> 01:16:17,530 na kuongeza yao pamoja kupata moja ijayo yako. 1763 01:16:17,530 --> 01:16:21,440 Hivyo kujirudia, mimi daima kufikiria ya recursion kama kama ond 1764 01:16:21,440 --> 01:16:24,430 hivyo wewe ni kama spiraling chini ndani yake. 1765 01:16:24,430 --> 01:16:27,150 Lakini ni tu kazi kwamba wito yenyewe. 1766 01:16:27,150 --> 01:16:32,660 >> Na, kwa kweli, kweli haraka mimi unaweza kuonyesha nini kwamba inaonekana kama. 1767 01:16:32,660 --> 01:16:34,260 1768 01:16:34,260 --> 01:16:41,840 Hivyo kujirudia hapa, kama sisi kuangalia, hii ni njia ya kujirudia kwa jumla juu ya safu. 1769 01:16:41,840 --> 01:16:45,900 1770 01:16:45,900 --> 01:16:47,880 Hivyo wote kwamba sisi kufanya ni tuna Jumla kazi 1771 01:16:47,880 --> 01:16:52,210 Jumla kwamba inachukua ukubwa na safu. 1772 01:16:52,210 --> 01:16:55,210 Na kama taarifa, ukubwa decrements na moja kila wakati. 1773 01:16:55,210 --> 01:17:00,365 Na wote ni gani ni kama x ni sawa na zero-- hivyo kama ukubwa wa safu 1774 01:17:00,365 --> 01:17:02,710 ni sawa na zero-- anarudi sifuri. 1775 01:17:02,710 --> 01:17:10,440 >> Vinginevyo sums hii mwisho kipengele cha safu, 1776 01:17:10,440 --> 01:17:14,790 na kisha inachukua Jumla ya mapumziko ya safu. 1777 01:17:14,790 --> 01:17:17,555 Hivyo ni tu kuvunja chini katika matatizo na ndogo ndogo. 1778 01:17:17,555 --> 01:17:18,990 1779 01:17:18,990 --> 01:17:21,890 Long hadithi fupi, recursion, kazi kwamba wito yenyewe. 1780 01:17:21,890 --> 01:17:25,740 Kama kwamba ni yote wewe got nje ya hii, kwamba ni nini kazi ya kujirudia ni. 1781 01:17:25,740 --> 01:17:29,870 Kama wewe kuchukua 51, utapata sana, vizuri sana na recursion. 1782 01:17:29,870 --> 01:17:31,110 1783 01:17:31,110 --> 01:17:32,370 Ni kweli baridi. 1784 01:17:32,370 --> 01:17:34,660 Alifanya akili katika kama 3:00 usiku mmoja nje. 1785 01:17:34,660 --> 01:17:37,900 Na mimi nilikuwa kama, kwa nini mimi kamwe kutumia hii? 1786 01:17:37,900 --> 01:17:39,170 1787 01:17:39,170 --> 01:17:42,430 >> Hivyo kwa kuunganisha aina, kimsingi nini ni kwenda kufanya ni ni 1788 01:17:42,430 --> 01:17:45,620 kwenda kuvunja chini na kuvunja chini mpaka ni mambo tu moja. 1789 01:17:45,620 --> 01:17:47,570 mambo moja ni rahisi kutatua. 1790 01:17:47,570 --> 01:17:48,070 Tunaona kwamba. 1791 01:17:48,070 --> 01:17:50,760 Kama una kipengele moja, ni tayari kuchukuliwa Iliyopangwa. 1792 01:17:50,760 --> 01:17:53,800 Kadhalika pembejeo ya mambo n, kama n ni chini ya 2, 1793 01:17:53,800 --> 01:17:58,120 tu kurudi kwa sababu kwamba njia ni aidha 0 au 1 kama tumeona. 1794 01:17:58,120 --> 01:18:00,050 Wale ni kuchukuliwa mambo Iliyopangwa. 1795 01:18:00,050 --> 01:18:02,170 >> Vinginevyo kuvunja katika nusu. 1796 01:18:02,170 --> 01:18:06,336 Aina nusu ya kwanza, kutatua pili nusu, na kisha kuunganisha yao kwa pamoja. 1797 01:18:06,336 --> 01:18:07,460 Nini ni kuitwa kuunganisha aina. 1798 01:18:07,460 --> 01:18:08,700 1799 01:18:08,700 --> 01:18:12,155 Hivyo tuna hapa tutaweza kutatua hayo. 1800 01:18:12,155 --> 01:18:13,410 1801 01:18:13,410 --> 01:18:17,210 Hivyo sisi kuendelea kuwa nao mpaka safu ukubwa ni 1. 1802 01:18:17,210 --> 01:18:20,790 Hivyo wakati ni 1, sisi tu kurudi sababu hii ni safu Iliyopangwa, 1803 01:18:20,790 --> 01:18:23,940 na hii ni safu Iliyopangwa, na kwamba safu Iliyopangwa, tuko wote yamepangwa. 1804 01:18:23,940 --> 01:18:25,390 1805 01:18:25,390 --> 01:18:29,420 Hivyo basi nini cha kufanya ni sisi kuanza kuunganisha pamoja. 1806 01:18:29,420 --> 01:18:31,820 >> Hivyo njia unaweza kufikiri juu ya kuunganisha ni 1807 01:18:31,820 --> 01:18:36,240 wewe tu kuondoa ndogo idadi ya kila moja ya arrays ndogo 1808 01:18:36,240 --> 01:18:38,330 na tu append kwa safu uliojitokeza. 1809 01:18:38,330 --> 01:18:44,290 Hivyo kama wewe kuangalia hapa, wakati tuna seti hizi tuna 4, 6, na 1. 1810 01:18:44,290 --> 01:18:47,280 Wakati tunataka kuunganisha hizi, sisi kuangalia hizi mbili za kwanza 1811 01:18:47,280 --> 01:18:50,730 na sisi kusema, sawa, 1 ni ndogo, unaendelea mbele. 1812 01:18:50,730 --> 01:18:54,330 4 na 6, kuna kitu kulinganisha kwa, tu tag juu ya mwisho. 1813 01:18:54,330 --> 01:18:58,020 >> Wakati sisi kuchanganya hizi mbili, sisi tu kuchukua moja ndogo ya hizi mbili, 1814 01:18:58,020 --> 01:18:59,310 hivyo ni 1. 1815 01:18:59,310 --> 01:19:01,690 Na sasa sisi kuchukua ndogo ya hizi mbili, hivyo 2. 1816 01:19:01,690 --> 01:19:03,330 Ndogo ya hizi mbili, 3. 1817 01:19:03,330 --> 01:19:06,260 Ndogo ya hizi mbili, 4, 5, 6. 1818 01:19:06,260 --> 01:19:08,630 Hivyo wewe ni kuunganisha mbali tu haya. 1819 01:19:08,630 --> 01:19:11,210 Na kwa sababu wameweza wamekuwa yamepangwa awali, 1820 01:19:11,210 --> 01:19:14,300 wewe tu moja kulinganisha kila wakati huko. 1821 01:19:14,300 --> 01:19:19,610 Hivyo zaidi kificho hapa, uwakilishi tu. 1822 01:19:19,610 --> 01:19:24,410 Hivyo kuanza katikati na you aina kushoto na kulia 1823 01:19:24,410 --> 01:19:26,180 na kisha wewe tu kuunganisha hizo. 1824 01:19:26,180 --> 01:19:30,080 >> Na hatuna kificho kwa kuunganisha haki hapa. 1825 01:19:30,080 --> 01:19:34,110 Lakini tena, kama wewe kwenda juu ya kujifunza 50, utakuwa huko. 1826 01:19:34,110 --> 01:19:36,860 Vinginevyo kuja kuzungumza na mimi kama wewe ni bado kuchanganyikiwa. 1827 01:19:36,860 --> 01:19:42,340 Hivyo baridi jambo hapa ni kwamba kesi bora, kesi mbaya, na inatarajiwa Runtime 1828 01:19:42,340 --> 01:19:46,250 wote ni katika logi n, ambayo ni bora kuliko tumekuwa 1829 01:19:46,250 --> 01:19:48,000 kuonekana kwa ajili ya mapumziko ya aina yetu. 1830 01:19:48,000 --> 01:19:51,840 Tumeona n mraba na nini sisi kweli 1831 01:19:51,840 --> 01:19:54,380 kupata hapa ni n logi n, ambayo ni kubwa. 1832 01:19:54,380 --> 01:19:55,830 >> Kuangalia jinsi bora zaidi kwamba ni. 1833 01:19:55,830 --> 01:19:56,780 Kama nzuri Curve. 1834 01:19:56,780 --> 01:19:58,130 1835 01:19:58,130 --> 01:20:00,120 Hivyo zaidi ufanisi. 1836 01:20:00,120 --> 01:20:03,510 Kama wewe milele unaweza, matumizi ya kuunganisha aina. 1837 01:20:03,510 --> 01:20:04,810 Itakuwa kuokoa muda. 1838 01:20:04,810 --> 01:20:07,670 Kisha tena, kama sisi alisema, kama uko chini katika mkoa huu chini, 1839 01:20:07,670 --> 01:20:09,480 haina kufanya kwamba mengi ya tofauti. 1840 01:20:09,480 --> 01:20:11,360 Kupata hadi maelfu na maelfu ya pembejeo, 1841 01:20:11,360 --> 01:20:13,318 wewe dhahiri wanataka ufanisi zaidi algorithm. 1842 01:20:13,318 --> 01:20:14,730 1843 01:20:14,730 --> 01:20:19,400 Na, tena, meza yetu nzuri ya yote aina ya kwamba wewe guys kujifunza leo. 1844 01:20:19,400 --> 01:20:21,157 >> Hivyo najua imekuwa siku mnene. 1845 01:20:21,157 --> 01:20:23,490 Hii si lazima kwenda kukusaidia na pset yako. 1846 01:20:23,490 --> 01:20:28,250 Lakini nataka tu kufanya Kanusho sehemu hiyo siyo tu kuhusu psets. 1847 01:20:28,250 --> 01:20:31,240 Nyenzo hii yote ni haki mchezo kwa midterms yako. 1848 01:20:31,240 --> 01:20:35,430 Na pia kama wewe kufanya kuendelea na CS, haya ni misingi muhimu 1849 01:20:35,430 --> 01:20:37,870 kwamba ungependa haja ya kujua. 1850 01:20:37,870 --> 01:20:41,700 Hivyo baadhi ya siku itakuwa zaidi kidogo pset msaada, 1851 01:20:41,700 --> 01:20:44,600 lakini baadhi ya wiki itakuwa bidhaa zaidi halisi 1852 01:20:44,600 --> 01:20:46,600 kwamba inaweza kuonekana super muhimu na wewe sasa hivi, 1853 01:20:46,600 --> 01:20:51,215 lakini mimi ahadi kama wewe kuendelea juu ya itakuwa sana, muhimu sana. 1854 01:20:51,215 --> 01:20:52,560 1855 01:20:52,560 --> 01:20:54,250 >> Hivyo hiyo ni kwa ajili ya sehemu. 1856 01:20:54,250 --> 01:20:55,250 Chini ya waya. 1857 01:20:55,250 --> 01:20:56,570 Mimi alifanya hivyo ndani ya dakika moja. 1858 01:20:56,570 --> 01:20:58,262 1859 01:20:58,262 --> 01:20:58,970 Lakini kuna kwenda. 1860 01:20:58,970 --> 01:21:01,240 Nami kuwa donuts au pipi. 1861 01:21:01,240 --> 01:21:03,464 Ni mtu yeyote mzio chochote, kwa njia? 1862 01:21:03,464 --> 01:21:05,307 1863 01:21:05,307 --> 01:21:05,890 Mayai na maziwa. 1864 01:21:05,890 --> 01:21:08,120 Hivyo donuts ni hakuna? 1865 01:21:08,120 --> 01:21:09,400 1866 01:21:09,400 --> 01:21:10,160 OK. 1867 01:21:10,160 --> 01:21:10,770 Wote haki. 1868 01:21:10,770 --> 01:21:12,120 Chocolate hakuna? 1869 01:21:12,120 --> 01:21:12,620 Starburst. 1870 01:21:12,620 --> 01:21:13,837 1871 01:21:13,837 --> 01:21:14,670 Starbursts ni nzuri. 1872 01:21:14,670 --> 01:21:15,170 OK. 1873 01:21:15,170 --> 01:21:17,045 Tunakwenda kuwa Starburst wiki ijayo basi. 1874 01:21:17,045 --> 01:21:18,240 Hiyo ni nini mimi itabidi kupata. 1875 01:21:18,240 --> 01:21:19,690 You guys kuwa wiki kubwa. 1876 01:21:19,690 --> 01:21:20,460 Kusoma spec yako. 1877 01:21:20,460 --> 01:21:22,130 >> Napenda kujua kama una maswali yoyote. 1878 01:21:22,130 --> 01:21:25,300 Pset mbili darasa lazima nje na wewe kwa Alhamisi. 1879 01:21:25,300 --> 01:21:28,320 Kama una maswali yoyote kuhusu jinsi mimi hadhi kitu 1880 01:21:28,320 --> 01:21:32,250 au kwa nini mimi hadhi kitu njia mimi hakuwa, tafadhali email yangu, kuja kuzungumza na mimi. 1881 01:21:32,250 --> 01:21:34,210 Mimi nina mambo kidogo hii wiki, lakini mimi ahadi 1882 01:21:34,210 --> 01:21:36,340 Mimi bado kujibu ndani ya masaa 24. 1883 01:21:36,340 --> 01:21:38,240 Hivyo kuwa kubwa wiki, kila mtu. 1884 01:21:38,240 --> 01:21:40,090 Bahati nzuri juu ya pset yako. 1885 01:21:40,090 --> 01:21:41,248