1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Artikulua 3] [Less erosoa] 2 00:00:03,000 --> 00:00:05,000 >> [Nate Hardison] [Harvardeko Unibertsitateko] 3 00:00:05,000 --> 00:00:08,000 >> [Hau da CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:10,000 >> Guztiak eskubidea, dezagun Hasteko. 5 00:00:10,000 --> 00:00:13,000 Ongi etorri Astea 4 CS50. 6 00:00:13,000 --> 00:00:19,000 You guys ireki bada, web-arakatzaile bat ireki eta 3 pset, 7 00:00:19,000 --> 00:00:23,000 Scramble CS50 batera, hasten dugu 8 00:00:23,000 --> 00:00:26,000 galdera han atalaren bitartez. 9 00:00:26,000 --> 00:00:32,000 Just astetik bezala, CS50 Espazioak dugu lan, 10 00:00:32,000 --> 00:00:35,000 duzu ere bada tira hori baita, 11 00:00:35,000 --> 00:00:43,000 eta joan baduzu Animatu eta bisitatu esteka hau ditudan jaiki hemen goialdean. 12 00:00:43,000 --> 00:00:45,000 Denbora da lehen urratsak emateko. 13 00:00:45,000 --> 00:00:51,000 Gure hi programa hemen lortu dugu. Ezer ez crazy. 14 00:00:51,000 --> 00:00:55,000 Gaur egun duzun guys egin nahi dut lehen gauza bat da, joan batzuk irtenbide bat 15 00:00:55,000 --> 00:00:58,000 Arazoa Set 1, adibidez irtenbide mota, 16 00:00:58,000 --> 00:01:03,000 besterik ez, beraz, zer kodea langile mota idazteko sentitzen lor dezakezu, 17 00:01:03,000 --> 00:01:07,000 zer kodea ikasleak beste mota idazten, 18 00:01:07,000 --> 00:01:10,000 eta begirada bat hartu badakizu I bitxi delako 19 00:01:10,000 --> 00:01:14,000 arazo multzo bat irtenbide bat bidaltzen duzunean eta iruzkinak lortu 20 00:01:14,000 --> 00:01:18,000 zure bertsioa kabuz, baina batzuetan, lagungarria da beste pertsona batzuk nola egin ikusteko, 21 00:01:18,000 --> 00:01:22,000 batez ere direnak nice bila. 22 00:01:22,000 --> 00:01:27,000 Gehienetan, I zen benetan irtenbideak duzu guys ekoiztu du. 23 00:01:27,000 --> 00:01:31,000 Oraindik ez dut zure Arazoa Set 2s begiratzen hasi, baina ezer lehen bezala ari dira, 24 00:01:31,000 --> 00:01:34,000 ezer ez, baina gauza onak esan nahi du. 25 00:01:34,000 --> 00:01:40,000 >> Nire revisions begiratuz gero, dezagun hasteko modu guztiak behera Revision 1 26 00:01:40,000 --> 00:01:47,000 eta Mario irtenbide bat begirada bat hartu dugu. 27 00:01:47,000 --> 00:01:54,000 Tira duzu hau izanez gero, programa horiek aurkezten ari gara joan dira zuzenak. 28 00:01:54,000 --> 00:01:56,000 Ez ziren gai zuzentasuna arazo horiei, baizik eta, 29 00:01:56,000 --> 00:01:59,000 pixka bat hitz egin nahi dugu, diseinu gaiak 30 00:01:59,000 --> 00:02:03,000 ari ziren erabiltzen hemen. 31 00:02:03,000 --> 00:02:08,000 Zen gauza interesgarri irtenbide buruzko 32 00:02:08,000 --> 00:02:11,000 izeneko libra define eraikuntza berri hau erabiltzen dela, 33 00:02:11,000 --> 00:02:15,000 batzuetan ere hash bat definitzeko gisa aipatzen da. 34 00:02:15,000 --> 00:02:18,000 Gerturatzeko dit hemen. 35 00:02:18,000 --> 00:02:24,000 # Define A aukera ematen du izen eman ahal izango duzu, zenbakiak hauek zure programa. 36 00:02:24,000 --> 00:02:28,000 Kasu honetan, piramide baten gehienezko altuera Mario 37 00:02:28,000 --> 00:02:34,000 izan zen 23 eta baino gehiago 23 nire kodea jarri 38 00:02:34,000 --> 00:02:37,000 23 kodetze gogor jo aipatzeko genuke 39 00:02:37,000 --> 00:02:43,000 ordez izena MAX_HEIGHT honetan zenbaki hori ematen, 40 00:02:43,000 --> 00:02:48,000 beraz, hemen nire do bitartean-begizta behera 41 00:02:48,000 --> 00:02:51,000 benetan dezakezu MAX_HEIGHT erreferentzia 42 00:02:51,000 --> 00:02:55,000 23 zenbakia jarri ordez sartu 43 00:02:55,000 --> 00:02:57,000 [Student] Zer egiten abantaila da? 44 00:02:57,000 --> 00:02:59,000 Hori galdera bat da. 45 00:02:59,000 --> 00:03:03,000 Readability bat da. 46 00:03:03,000 --> 00:03:08,000 Hau # define erabiliz abantaila bat readability da. 47 00:03:08,000 --> 00:03:11,000 Kode hau irakurtzen ari naiz, ikusteko zer ari den gertatzen ahal izango dut. 48 00:03:11,000 --> 00:03:15,000 >> Baldintza hau ikusi ahal izango dut hemen ari garela probatzen 49 00:03:15,000 --> 00:03:19,000 altuera <0, eta horrek ere izan dugu definitu 50 00:03:19,000 --> 00:03:22,000 gutxieneko altuera edo min altuera izan behar da. 51 00:03:22,000 --> 00:03:25,000 Beste abantaila da gero irakurri ahal izango dut lerroaren gainerako ikusi 52 00:03:25,000 --> 00:03:30,000 ari garela ere ziur altuera max altuera baino handiagoa ez da egin den egiaztatzea, 53 00:03:30,000 --> 00:03:35,000 ari garelako max altuera baino altuera handiagoa bitartean jarraituko du. 54 00:03:35,000 --> 00:03:40,000 Beste abantaila da mapan handiago dut pixka bat hemen 55 00:03:40,000 --> 00:03:49,000 exekutatu programa hau eta exekutatu I, adibidez, 23 oraintxe, 56 00:03:49,000 --> 00:03:52,000 23 besterik gabe errenkadak guztiak inprimatu izango da. 57 00:03:52,000 --> 00:03:54,000 Baina esan max altuera aldatu nahi nuen, 58 00:03:54,000 --> 00:03:57,000 eta, gaur egun, piramideak gehienezko altuera mugatu nahi dut 59 00:03:57,000 --> 00:04:06,000 bakarrik esan-man, funky izan. 60 00:04:06,000 --> 00:04:14,000 # Artean, besteak beste, # define MAX_HEIGHT, 61 00:04:14,000 --> 00:04:18,000 eta demagun 10 berdinak ezarri nahi dugu. 62 00:04:18,000 --> 00:04:22,000 Orain, puntu honetan, egin behar izan nuen kokapen bat aldatu zen. 63 00:04:22,000 --> 00:04:27,000 Kodea konpilatu ahal izango dut, eta saiatzen naiz eta idatzi 12. 64 00:04:27,000 --> 00:04:30,000 galdetu izango da berriro. 65 00:04:30,000 --> 00:04:33,000 Kasu honetan, bakarrik ari gara MAX_HEIGHT erabiliz behin. 66 00:04:33,000 --> 00:04:37,000 Ez da hassle bat big joan da 67 00:04:37,000 --> 00:04:40,000 aldatu eta, behar izanez gero, berriz, loop. 68 00:04:40,000 --> 00:04:44,000 Baina programa bertan magia ari zaren erreferentziatutako 69 00:04:44,000 --> 00:04:47,000 behin eta berriz, # define mekanismoa benetan praktikoa 70 00:04:47,000 --> 00:04:52,000 besterik ez duzu denbora bat aldatu delako fitxategi-normalean non jarri dituzu goialdean 71 00:04:52,000 --> 00:04:57,000 eta aldaketa fitxategia gainerako bidez percolates. 72 00:04:57,000 --> 00:05:02,000 >> Beste gauza zeregin honetan kontuan izan nahi dut pentsatu dut benetan nice begiratu, 73 00:05:02,000 --> 00:05:05,000 aldagaiak izendatzeko bat izan zen. 74 00:05:05,000 --> 00:05:14,000 Hemen ikusten duzun dugun zenbaki oso got izeneko errenkada eta altuera deitzen aldagai. 75 00:05:14,000 --> 00:05:20,000 Espazioak, egiaztapenekin, kodea pixka bat gehiago irakurgarria laguntzen du, 76 00:05:20,000 --> 00:05:25,000 egiten du apur bat gehiago ulergarria da zer benetan gertatzen ari da. 77 00:05:25,000 --> 00:05:31,000 Hau erabiliz kontrastea da, esan, ausazko letrak 78 00:05:31,000 --> 00:05:35,000 edo, besterik gabe, gobbledygook guztira. 79 00:05:35,000 --> 00:05:39,000 Seinalatu dut gauza A final loops for 80 00:05:39,000 --> 00:05:45,000 askotan horiek iterator aldagai hauek zure erabiliko duzun loops counters, 81 00:05:45,000 --> 00:05:51,000 estandar eta konbentzionalak bai i eta, ondoren, j hasteko eta, ondoren, k 82 00:05:51,000 --> 00:05:54,000 eta bertara, behar izanez gero, aldagai bada, 83 00:05:54,000 --> 00:05:56,000 eta hitzarmen bat besterik ez da. 84 00:05:56,000 --> 00:05:58,000 Hitzarmen ugari daude. 85 00:05:58,000 --> 00:06:00,000 Araberakoa da programazio hizkuntza erabiltzen ari zaren. 86 00:06:00,000 --> 00:06:04,000 Baina C, i normalean hasten dugu. 87 00:06:04,000 --> 00:06:08,000 Ez du zentzurik erabiltzea, adibidez, edo b 88 00:06:08,000 --> 00:06:13,000 egoeraren arabera. 89 00:06:13,000 --> 00:06:15,000 Hau da hau. 90 00:06:15,000 --> 00:06:25,000 Orain tira bada berrikusketa, ordua: 2, Mario beste ikusiko duzu, 91 00:06:25,000 --> 00:06:29,000 eta hau beste bat besterik ez dugu ikusi antzekoa da, 92 00:06:29,000 --> 00:06:32,000 baina zerbait cool mota du. 93 00:06:32,000 --> 00:06:38,000 Atal honetan begiratzen badiogu, hemen barne-barnean loop, 94 00:06:38,000 --> 00:06:44,000 bilatzen sintaxia crazy batzuk erabiltzen ari dira hemen eskuineko lerro hau. 95 00:06:44,000 --> 00:06:47,000 Deitzen da, hirutarra adibidez operadore. 96 00:06:47,000 --> 00:06:53,000 Lerro bat sartu kondentsatzen bestela, adierazpen bat da. 97 00:06:53,000 --> 00:06:57,000 Baldintza Parentesien barruko zati honetan. 98 00:06:57,000 --> 00:07:05,000 Esaten baliokidea da j 00:07:10,000 Eta gero, zer duten edukiak blokea izango litzateke bada espazioa 100 00:07:10,000 --> 00:07:16,000 eta, ondoren, beste zer litzateke edukiak dira ". 101 00:07:16,000 --> 00:07:20,000 Funtsean, espazio bat esleituz aldagai hau. 102 00:07:20,000 --> 00:07:24,000 Bloke aldagaiaren edukia espazio bat jarriz, 103 00:07:24,000 --> 00:07:29,000 baldintza hau betetzen bada, eta baldintza betetzen ez bada, 104 00:07:29,000 --> 00:07:32,000 gero, bloke aldagaia lortzen #. 105 00:07:32,000 --> 00:07:37,000 Eta gero, jakina, horren ordez, kate osoa bat eraikitzeko 106 00:07:37,000 --> 00:07:43,000 , eta guztia inprimatzeko amaieran irtenbide hau bistaratzen da karaktere bat aldi berean. 107 00:07:43,000 --> 00:07:48,000 Pretty cool. 108 00:07:48,000 --> 00:07:53,000 >> Begiratzen gauzak beste pare bat. Mugitu gara Greedy. 109 00:07:53,000 --> 00:07:58,000 Orain bada bilatzen, Greedy dugu, lehenengo irtenbide hau 110 00:07:58,000 --> 00:08:00,000 erabiltzen # nahiko bit bat definitzen du. 111 00:08:00,000 --> 00:08:06,000 Programa honetan hainbat zenbakiak bakoitzean definitutako konstante bat lortu dugu. 112 00:08:06,000 --> 00:08:12,000 Dugu got dolarraren zentimo bat, laurden, dimes, Nickels, eta pennies bat, 113 00:08:12,000 --> 00:08:15,000 eta, orain, joan behera bada eta kodea irakurri, 114 00:08:15,000 --> 00:08:22,000 estandar bat egin bitartean-loop inprimatzeko guztia ikusi ahal izango dugu. 115 00:08:22,000 --> 00:08:25,000 Arazo hau Programa Kind konturatu zen duen 116 00:08:25,000 --> 00:08:29,000 mugikorra bihurtzeko erabiltzaileak irakurri zenbaki oso bat behar duzu 117 00:08:29,000 --> 00:08:32,000 math zehatza egin, eta hau delako 118 00:08:32,000 --> 00:08:36,000 puntu mugikorreko zenbakien, buruz hitz egin dugu, hitzaldi labur bat bezala, 119 00:08:36,000 --> 00:08:41,000 ez da posible zenbakia line balio single guztietan zehatza irudikatzeko 120 00:08:41,000 --> 00:08:47,000 daude infinituki 3 artean, eta, adibidez, 3,1, nahiz eta askotan balio duelako. 121 00:08:47,000 --> 00:08:54,000 3,01 eta 3,001 eta 3,0001 izan dezakezu, eta mantendu egingo dezakezu. 122 00:08:54,000 --> 00:09:00,000 Bihurtzen da bakoitzean dirua ari zara lanean, askotan nahi duzun bihurtzeko 123 00:09:00,000 --> 00:09:05,000 osokoaren formatuan sartu, beraz, ez duzu pennies eta stuff mota hori galdu. 124 00:09:05,000 --> 00:09:09,000 Eta biribiltze egitea izan da gakoa. 125 00:09:09,000 --> 00:09:14,000 Irtenbide hau erabili primeran algoritmo sinplea da, handia, 126 00:09:14,000 --> 00:09:17,000 den decremented zentimo Gainerako kopurua, lehen hiruhilekoetan, 127 00:09:17,000 --> 00:09:19,000 ondoren dimes, ondoren Nickels eta, ondoren, pennies, 128 00:09:19,000 --> 00:09:24,000 eta aldi bakoitzean txanpon kopurua gehituz. 129 00:09:24,000 --> 00:09:31,000 >> Beste irtenbide bat, ikusiko dugun mapan handiago dut eta joan berrikusketa, ordua: 4, 130 00:09:31,000 --> 00:09:40,000 oso antzekoa izan da hasieratik, baina ordez erabiltzen div eta mod 131 00:09:40,000 --> 00:09:44,000 hementxe baino gehiago zentimo kopurua kalkulatu ahal izateko. 132 00:09:44,000 --> 00:09:50,000 Honek, hiruhilekoetan kopurua 25 arabera banatzen zentimo kopurua berdina da, 133 00:09:50,000 --> 00:09:53,000 eta arrazoia honetan lan egiten ari gara osokoaren zatiketa egiten ari delako, 134 00:09:53,000 --> 00:09:58,000 beraz, baztertu egingo da gainerako edozein. 135 00:09:58,000 --> 00:10:02,000 [Student] bilaketa komentatu behar dugu? 136 00:10:02,000 --> 00:10:05,000 Araberakoa da benetan. 137 00:10:05,000 --> 00:10:08,000 [Student] kodea baino gehiago ari zara komentatzea hemen. 138 00:10:08,000 --> 00:10:16,000 Bai, eta, beraz, ez dago honetan filosofia desberdinak sorta bat dira. 139 00:10:16,000 --> 00:10:21,000 My personal filosofia Zure kodea dela benetan egia da, 140 00:10:21,000 --> 00:10:24,000 Zure kodea bezalakoa da zer benetan ordenagailuan exekutatzean, 141 00:10:24,000 --> 00:10:29,000 eta, beraz, zure kodea ahalik eta irakurri ez iruzkinak asko jo beharra izan behar du. 142 00:10:29,000 --> 00:10:33,000 Hori esan zuen, gauzak diren mota ari zaren egiten delikatua matematikoki 143 00:10:33,000 --> 00:10:38,000 edo algorithmically ona da, horiek egin ahal izango dituzu, beraz, behar duzu 144 00:10:38,000 --> 00:10:43,000 dimentsio gehigarri bat, aparteko geruza bat gehitu diozula zure kodea irakurtzean. 145 00:10:43,000 --> 00:10:49,000 Irtenbide horiek, askotan komentatzen dira ugari baizik 146 00:10:49,000 --> 00:10:52,000 horiek banatzeko gai izan nahi dugu, eta pertsona horiek hautatzeko sortu 147 00:10:52,000 --> 00:10:56,000 irakurri eta hauek nahiko erraz. 148 00:10:56,000 --> 00:11:05,000 Baina, zalantzarik gabe, ados, hori da heavy nuke. 149 00:11:05,000 --> 00:11:07,000 [Student] Baina zalantzarik, astunagoak? 150 00:11:07,000 --> 00:11:10,000 Zalantzarik, astunagoak joan. 151 00:11:10,000 --> 00:11:17,000 Batzuek batzuetan esan bueltan 0 edo horrelako zerbait. 152 00:11:17,000 --> 00:11:20,000 Barregarria iruzkin bat dela uste dut. 153 00:11:20,000 --> 00:11:22,000 Bistan denez, hori zer ari den gertatzen. 154 00:11:22,000 --> 00:11:25,000 Ez dut behar English me kontatzeko. 155 00:11:25,000 --> 00:11:28,000 Batzuetan, pertsona bezala stuff idatziko du "kthxbai!" 156 00:11:28,000 --> 00:11:32,000 Hau cute mota da, baina, halaber, ez- 157 00:11:32,000 --> 00:11:35,000 hori ez da puntu komentatzea edo ez arteko desberdintasuna eginez. 158 00:11:35,000 --> 00:11:41,000 Mota horiek iruzkinak besterik ez dira ha, ha. 159 00:11:41,000 --> 00:11:43,000 Cool. 160 00:11:43,000 --> 00:11:48,000 >> Puntu honetan, dezagun Arazoa Ezarri galdera atal 3 lan egiten hasi. 161 00:11:48,000 --> 00:11:52,000 You guys tira sortu bada, berriz, 162 00:11:52,000 --> 00:11:55,000 astetik ari gara, ez film labur ikusi ahal izateko atal honetan. 163 00:11:55,000 --> 00:12:00,000 Utzi duzu guys egin dute zure denbora propioa eta galderei buruz hitz egin dugu. 164 00:12:00,000 --> 00:12:05,000 Baina orain, atal honetan pixka bat gehiago denbora goaz 165 00:12:05,000 --> 00:12:11,000 kodeketa oinarriak gutxiago buruz hitz egiten 166 00:12:11,000 --> 00:12:15,000 azken astean genuen bezala, eta horren ordez, gehiago bideratzen ari dugu. 167 00:12:15,000 --> 00:12:22,000 teoria pixka bat gehiago, eta, beraz, bilaketa bitarra buruz eta hitz egiten ondoren ordenatzeko. 168 00:12:22,000 --> 00:12:27,000 Dutenek dira batera hitzaldia eskainiko du, 169 00:12:27,000 --> 00:12:30,000 norbaiti eman me aldea zer da laburpena 170 00:12:30,000 --> 00:12:35,000 bitarra bilatu eta bilaketa lineala artean? 171 00:12:35,000 --> 00:12:37,000 Zer gertatzen da? Ziur. 172 00:12:37,000 --> 00:12:42,000 Bilaketa lineala bidez ordenatzen zerrendatik elementu guztietan bilatzen 173 00:12:42,000 --> 00:12:45,000 banan-banan-banan banan-banan, 174 00:12:45,000 --> 00:12:50,000 eta bilaketa bitarra 2 taldetan banatzen 175 00:12:50,000 --> 00:12:57,000 txekeak gakoak balio badu, bila ari zaren baino handiagoa edo erdigunea balioa baino gutxiago 176 00:12:57,000 --> 00:13:00,000 besterik ez da aurkitu, eta baino gutxiago izanez gero, doan zerrenda beheko 177 00:13:00,000 --> 00:13:03,000 eta, ondoren, berriro banatzen da, funtzio berbera du 178 00:13:03,000 --> 00:13:07,000 behera guztiak erdigunea aurkitzen da balio bera berdinak izan arte. 179 00:13:07,000 --> 00:13:10,000 Eskuin. 180 00:13:10,000 --> 00:13:12,000 >> Zergatik ez dugu axola? 181 00:13:12,000 --> 00:13:20,000 Zergatik hitz bilaketa lineala versus bilatu bitar gara? 182 00:13:20,000 --> 00:13:22,000 Bai. 183 00:13:22,000 --> 00:13:24,000 Binary asko azkarrago, hala badagokio, arazoaren tamaina bikoiztu 184 00:13:24,000 --> 00:13:27,000 urrats bat gehiago, baizik eta bi aldiz asko baino hartzen du. 185 00:13:27,000 --> 00:13:29,000 Hain zuzen ere. 186 00:13:29,000 --> 00:13:31,000 Hau erantzun bat handia da. 187 00:13:31,000 --> 00:13:36,000 Lineala bilaketa oso elementu bat egiaztatzeko, aldi berean, 188 00:13:36,000 --> 00:13:39,000 eta hitzaldia egun oso lehen ikusi dugu gisa 189 00:13:39,000 --> 00:13:42,000 denean David bere telefono-book Adibidez bidez joan 190 00:13:42,000 --> 00:13:45,000 eta telefono-liburuaren orrialde bat erauzi aldi berean 191 00:13:45,000 --> 00:13:47,000 eta mantendu egiten eta baino gehiago baino gehiago berriz, 192 00:13:47,000 --> 00:13:51,000 eraman benetan luze telefono liburua inor aurkitu da, 193 00:13:51,000 --> 00:13:55,000 ezean, noski, beste norbait zen alfabetoaren hasieratik begira. 194 00:13:55,000 --> 00:14:00,000 Bitarra bilaketa, asko joan azkarrago dezakezu, 195 00:14:00,000 --> 00:14:05,000 eta ez da bakarrik bi aldiz azkar edo 3 aldiz azkar edo 4 aldiz azkarrago. 196 00:14:05,000 --> 00:14:13,000 Baina arazoa lortzen txikiagoak eta txikiagoak eta txikiagoak askoz azkarrago. 197 00:14:13,000 --> 00:14:17,000 Hori ilustratzeko, hasi hitz egiten dugu zer ari den gertatzen 198 00:14:17,000 --> 00:14:21,000 bilaketa bitarra idazten dugu. 199 00:14:21,000 --> 00:14:27,000 Daukat esku arazoa da zenbaki array bat izanez gero, 200 00:14:27,000 --> 00:14:40,000 esan, 1, 2, 3, 5, 7, 23, 45, 78, 12323, 201 00:14:40,000 --> 00:14:47,000 eta, ondoren, 9 0 s tona bat ondoren, 202 00:14:47,000 --> 00:14:52,000 figuraren benetan azkar da gai izan nahi dugu 203 00:14:52,000 --> 00:14:57,000 zenbakiak array hau. 204 00:14:57,000 --> 00:15:00,000 Badirudi apur bat silly eta apur bat contrived ezagutzen dut, 205 00:15:00,000 --> 00:15:02,000 oraintxe bertan dagoelako. 206 00:15:02,000 --> 00:15:05,000 Array bat ez duten elementu asko ditugu, 207 00:15:05,000 --> 00:15:08,000 eta galdetzen badut duzu bat irudikatu ala ez 208 00:15:08,000 --> 00:15:11,000 23 array da, egin nahiko azkar dezakezu 209 00:15:11,000 --> 00:15:16,000 eta glancing me kontatzeko bai edo ez. 210 00:15:16,000 --> 00:15:20,000 Analogikoa, uste imajinatu balira, esan, 211 00:15:20,000 --> 00:15:27,000 10.000 errenkada, 20.000 errenkada Excel kalkulu-orri bat. 212 00:15:27,000 --> 00:15:31,000 Jakina, komando F edo kontrol F egin dezakezu eta zerbait bilatzeko. 213 00:15:31,000 --> 00:15:33,000 Ere erabili ahal izango dituzu, iragazkiak eta bilaketa-stuff, 214 00:15:33,000 --> 00:15:37,000 line by line fitxategi lerro horren bidez begiratu izan duzu, 215 00:15:37,000 --> 00:15:40,000 litzateke hartu duzu denbora luzean bat aurkitu. 216 00:15:40,000 --> 00:15:42,000 Mota horretako telefono-liburua adibide bezala, ere, non 217 00:15:42,000 --> 00:15:44,000 inork ez du telefono-liburuaren ko-orriaren bitartez, itxura batean. 218 00:15:44,000 --> 00:15:47,000 Normalean, ireki dute erditik, 219 00:15:47,000 --> 00:15:50,000 edo telefono liburuak eta hiztegiak non asko kasuan 220 00:15:50,000 --> 00:15:54,000 dute benetan lehenengo letra keyed 221 00:15:54,000 --> 00:16:01,000 irauli lehenengo letra hori, eta ireki eta bertan igaro hasteko. 222 00:16:01,000 --> 00:16:03,000 >> Gogorarazi zure izena berriro. >> Sam. 223 00:16:03,000 --> 00:16:05,000 Sam. 224 00:16:05,000 --> 00:16:11,000 Sam Atsegin dut esan, hori lineala bilaketa-prozesua oso motela izan du, 225 00:16:11,000 --> 00:16:15,000 eta bitarra bilatu ordez, obra hau dela 226 00:16:15,000 --> 00:16:21,000 aldi bakoitzean dugu gure algoritmoa bilatzen iterazio baten bidez, 227 00:16:21,000 --> 00:16:27,000 zerrenda zatitzeko erdia, funtsean, goaz, 228 00:16:27,000 --> 00:16:33,000 bi zerrenda txikiagoetan banatzen. 229 00:16:33,000 --> 00:16:39,000 Eta gero loop, hurrengo iterazio, zatitzen dugu berriro 230 00:16:39,000 --> 00:16:44,000 txikiagoa beste zerrendetan sartu. 231 00:16:44,000 --> 00:16:48,000 Ikusten duzun bezala, arazoa mantentzen txikiagoa lortzean eta txikiagoa 232 00:16:48,000 --> 00:16:55,000 mantendu dugu baztertzen zerrendaren erdia aldi bakoitzean bakarra delako. 233 00:16:55,000 --> 00:16:59,000 Nola ez du discard lan? 234 00:16:59,000 --> 00:17:05,000 Just oroigarri gisa, zer egin ari gara joan ginen ordenagailu bat bada 235 00:17:05,000 --> 00:17:11,000 eta ziren, esan, 5 zenbakia zerrenda honetan bilatzeko 236 00:17:11,000 --> 00:17:15,000 erdian zenbaki bat dugu jaso. 237 00:17:15,000 --> 00:17:26,000 Zerrenda honen erdian, ez delako dira, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 zenbakiak, 238 00:17:26,000 --> 00:17:32,000 zenbakia hautatzeko genuke posizioan edo 4 edo 5 posizioan, 239 00:17:32,000 --> 00:17:38,000 eta gure zerrendan erdian dei genuke. 240 00:17:38,000 --> 00:17:42,000 Aukeratu kopurua erdian. 241 00:17:42,000 --> 00:17:51,000 Ondoren, Sam bezala esan, probatzeko dugu zenbaki hori berdina da bada 242 00:17:51,000 --> 00:17:59,000 zenbakira iritsi nahi dugun edo gure nahi duzun zenbakia. 243 00:17:59,000 --> 00:18:06,000 Da berdina bada, eta, ondoren, aurkitu dugu. Irabaziko dugu. 244 00:18:06,000 --> 00:18:12,000 Ez bada, berdin, ondoren, kasu pare bat dira. 245 00:18:12,000 --> 00:18:15,000 Bi kasuetan, bai kopurua bilatzen ari gara zenbakia baino handiagoa izan behar du, 246 00:18:15,000 --> 00:18:19,000 edo baino txikiagoa da. 247 00:18:19,000 --> 00:18:25,000 Da handiagoa bada, mugitzeko eskubidea dugu. 248 00:18:25,000 --> 00:18:33,000 Eta gutxiago bada, mugitu ezkerrera dugu. 249 00:18:33,000 --> 00:18:41,000 Eta, ondoren, prozesu osoa errepikatu dugu berriro 250 00:18:41,000 --> 00:18:48,000 bai erdia eskuineko edo ezkerreko zerrendaren erdia. 251 00:18:48,000 --> 00:18:51,000 >> Gaur egungo atalean arazoa lehen irudikatu da 252 00:18:51,000 --> 00:18:55,000 nola hasi ahal izango dugu hau benetan adierazteko C kodea. 253 00:18:55,000 --> 00:18:58,000 Lortu dugu pseudocode hemen. 254 00:18:58,000 --> 00:19:04,000 Zer abia dugu tira sortu dut marka-espazio berri, 255 00:19:04,000 --> 00:19:09,000 berrikuspena gorde, beraz, ohar hauek ditugu, geroago, 256 00:19:09,000 --> 00:19:20,000 hori guztia ezabatu dugu, eta ondoren, arazoa multzoa kopiatu eta itsatsi 257 00:19:20,000 --> 00:19:26,000 gure espazio informazio hau, eta espero dugu hau ez hausteko. 258 00:19:26,000 --> 00:19:28,000 Perfect. 259 00:19:28,000 --> 00:19:33,000 You guys guztiak ez bada, kopiatu eta itsatsi kode hau zure espazio berria, 260 00:19:33,000 --> 00:19:43,000 bat hutsik dagoen batean. 261 00:19:43,000 --> 00:19:47,000 Dezagun saiatu Daniel. Konpilatu eta exekutatu baduzu programa hau, funtzionatzen du? 262 00:19:47,000 --> 00:19:49,000 N º. >> Zer ari da esaten? 263 00:19:49,000 --> 00:19:53,000 Void funtzioa ez-kontrol amaiera heldu dio. 264 00:19:53,000 --> 00:19:55,000 Bai, eta, beraz, utzi exekutatzen ari saiatu me. 265 00:19:55,000 --> 00:19:59,000 Have you guys ikusi aurretik? Zer, horrek esan nahi du ezagutzen al duzu? 266 00:19:59,000 --> 00:20:01,000 Ados, dezagun hau pixka bat dissect. 267 00:20:01,000 --> 00:20:10,000 S at line 9 honetan, zutabea 1 errore bat dugu, esan bezala, 268 00:20:10,000 --> 00:20:16,000 dela errore abisua eta bueltan mota abisua abiatuta esaten du. 269 00:20:16,000 --> 00:20:18,000 Badirudi zerbait bezala itzulerako mota, zentzua duen. 270 00:20:18,000 --> 00:20:21,000 Void funtzioa ez daukagu, eta horrek esan nahi ditudan funtzio bat eskuratu 271 00:20:21,000 --> 00:20:24,000 ez itzultzeko void. 272 00:20:24,000 --> 00:20:27,000 Void funtzioa bat itxura hau da: 273 00:20:27,000 --> 00:20:35,000 void foo (), eta void da bueltan mota da void delako, 274 00:20:35,000 --> 00:20:38,000 izan dugu, eta horrek esan nahi du zerbait hemen 275 00:20:38,000 --> 00:20:45,000 bueltan 1 bezala, errore konpiladore bat lortu genuen. 276 00:20:45,000 --> 00:20:49,000 Hala eta guztiz ere, ez-void funtzioa eduki dugu. 277 00:20:49,000 --> 00:20:51,000 Gure kasu honetan, funtzio ez-void gure bilaketa-funtzioa 278 00:20:51,000 --> 00:20:56,000 ditu boolearra mota itzulera bat delako. 279 00:20:56,000 --> 00:20:59,000 Kontrola void funtzioa ez amaierara iristen da esaten, 280 00:20:59,000 --> 00:21:02,000 bilatu ez duelako bueltan adierazpen bat da. 281 00:21:02,000 --> 00:21:04,000 Ez da ezer mota boolearra itzuli. 282 00:21:04,000 --> 00:21:09,000 >> Hori konpondu ahal izango dugu, eta zer guys uste 283 00:21:09,000 --> 00:21:13,000 bilaketa lehenespenez itzuli behar? 284 00:21:13,000 --> 00:21:16,000 Zer default bueltan bilaketa balioa izan behar du? 285 00:21:16,000 --> 00:21:19,000 Hori da amaieran jarri ahal izango dugu delako. 286 00:21:19,000 --> 00:21:21,000 Charlotte, ez duzu edozein? 287 00:21:21,000 --> 00:21:23,000 Egia edo gezurra? >> Egia edo gezurra. 288 00:21:23,000 --> 00:21:26,000 Zein? 289 00:21:26,000 --> 00:21:28,000 False. Ez dakit. 290 00:21:28,000 --> 00:21:30,000 False? Dezagun saiatuko da. 291 00:21:30,000 --> 00:21:32,000 Zergatik bueltan faltsua esan duzu? Handia intuizioa. 292 00:21:32,000 --> 00:21:35,000 [Charlotte] ez dakit. 293 00:21:35,000 --> 00:21:39,000 Kasu honetan false itzuli gara, hau da gure default izango delako 294 00:21:39,000 --> 00:21:44,000 arrazoiren batengatik zerrenda hutsik edo orratz bada 295 00:21:44,000 --> 00:21:46,000 ez da existitzen bila ari garela. 296 00:21:46,000 --> 00:21:50,000 Gero, amaieran, ez badugu ez itzultzeko benetako lehenago funtzio honetan, 297 00:21:50,000 --> 00:21:55,000 ezagutzen dugu, beti funtzio hori Laguia, ez da array esango du. 298 00:21:55,000 --> 00:21:58,000 Ez da haystack en. 299 00:21:58,000 --> 00:22:03,000 Orain, konpilatu eta exekutatu-it hau gorde me tira ahal izateko sortu. 300 00:22:03,000 --> 00:22:08,000 Orain konpilatzen dugu eta gure programa exekutatzen bada, eraikitzen. 301 00:22:08,000 --> 00:22:12,000 Gure little gonbitean dugu. 302 00:22:12,000 --> 00:22:20,000 Hit bada I 4-uh-oh. 303 00:22:20,000 --> 00:22:25,000 Ez da inprimatzeko ezer. Guztia ongi amaitu itxura. 304 00:22:25,000 --> 00:22:35,000 Lortu dugu hau bete. 305 00:22:35,000 --> 00:22:39,000 Algoritmoaren gara pseudocode hitz egin duela pixka bat. 306 00:22:39,000 --> 00:22:44,000 Utzidazu ikusi, gorde, 307 00:22:44,000 --> 00:22:49,000 eta algoritmoa, tira dut atzera berriro. 308 00:22:49,000 --> 00:22:51,000 Dezagun hit guy hau. Laguia. 309 00:22:51,000 --> 00:22:58,000 Hor dago. 310 00:22:58,000 --> 00:23:03,000 Nola egiten dugu hori? 311 00:23:03,000 --> 00:23:11,000 Zer da off kode hau hasten estrategia ona izango litzateke? 312 00:23:11,000 --> 00:23:16,000 Erdian zenbaki bat hautatu behar duzu. 313 00:23:16,000 --> 00:23:23,000 Nola zenbaki bat array baten erdian jaso dugu? 314 00:23:23,000 --> 00:23:25,000 Edozein iradokizun? 315 00:23:25,000 --> 00:23:27,000 [Student] Strlen arabera banatzen da 2. 316 00:23:27,000 --> 00:23:32,000 Strlen arabera banatzen da 2. Hori handi bat da. 317 00:23:32,000 --> 00:23:35,000 Strlen array mota bereziak dituzten lanak. 318 00:23:35,000 --> 00:23:38,000 Zer array mota? 319 00:23:38,000 --> 00:23:44,000 String array, pertsonaia array. 320 00:23:44,000 --> 00:23:48,000 Kontzeptua bera sort da aplikatu nahi dugu, 321 00:23:48,000 --> 00:23:52,000 baina ezin dugu erabili strlen karaktere array bat izan dugu ez delako. 322 00:23:52,000 --> 00:23:55,000 Ints array bat daukagu. 323 00:23:55,000 --> 00:23:58,000 Baina, zer ez strlen Gurekin? 324 00:23:58,000 --> 00:24:01,000 Zer lortzen Gurekin ezagutzen al duzu? 325 00:24:01,000 --> 00:24:03,000 [Student] Strlen lortzen digu luzera. 326 00:24:03,000 --> 00:24:05,000 Zehazki, gurekin luzera lortzen da. 327 00:24:05,000 --> 00:24:09,000 Strlen Gurekin array luzera lortzen. 328 00:24:09,000 --> 00:24:14,000 >> Nola lortuko dugu gure bitar bilaketa programa? 329 00:24:14,000 --> 00:24:18,000 Nola array baten luzera duzu? 330 00:24:18,000 --> 00:24:20,000 [Student] Strlen? 331 00:24:20,000 --> 00:24:25,000 C bezala formateatu katea array luzera lor dezakezu strlen batera. 332 00:24:25,000 --> 00:24:31,000 Arazoa, ordea, ez dugu kate array. 333 00:24:31,000 --> 00:24:36,000 Kode hau atzera begiratzen dugu bada, zenbaki oso array hau dugu. 334 00:24:36,000 --> 00:24:38,000 Nola zenbat denbora da ezagutzen al dugu? 335 00:24:38,000 --> 00:24:44,000 [Student] Ba al dago endpoint ko baliokidea l int edo antzeko zerbait? 336 00:24:44,000 --> 00:24:49,000 Ez dago benetan ez da out bihurtzen da, eta, beraz, modu batean, hau da, 337 00:24:49,000 --> 00:24:52,000 bat C buruz jakin besterik ez da ona gauza horiek, 338 00:24:52,000 --> 00:24:57,000 array baten luzera ez da horrela. 339 00:24:57,000 --> 00:24:59,000 ematen dizut array bada. 340 00:24:59,000 --> 00:25:02,000 Arrazoia lan egiten kateak, arrazoia strlen lanak, 341 00:25:02,000 --> 00:25:06,000 kate bat bezala formateatuta bada delako, 342 00:25:06,000 --> 00:25:12,000 amaieran oso berezia \ 0 karakterea izango da. 343 00:25:12,000 --> 00:25:16,000 >> Ere egin dezakezu imajinatu duzu gaizki formateatutako Kate bat izanez gero, 344 00:25:16,000 --> 00:25:20,000 eta ez dago \ 0 karakterea da bertan, orduan gauza osoa ez du lan. 345 00:25:20,000 --> 00:25:22,000 [Student] Ezin \ 0 add duzu? 346 00:25:22,000 --> 00:25:24,000 Kasu honetan, ezin izan dugu. 347 00:25:24,000 --> 00:25:29,000 Nolabaiteko gehi izan dugu \ 0 348 00:25:29,000 --> 00:25:33,000 edo pertsonaia signifying eta, ondoren, nolabaiteko hori erabili. 349 00:25:33,000 --> 00:25:36,000 Baina hori ez da nahiko lanera joan 350 00:25:36,000 --> 00:25:40,000 char mota bat \ 0 delako, 351 00:25:40,000 --> 00:25:43,000 eta hemen dugu got ints. 352 00:25:43,000 --> 00:25:46,000 Beste gauza ginen berezia balio bat erabili nahi izanez gero 353 00:25:46,000 --> 00:25:49,000 -1 bezala array baten amaiera markatu 354 00:25:49,000 --> 00:25:54,000 gero, ez ditu inoiz izan dugu gordetzeko -1 gure array osokoaren. 355 00:25:54,000 --> 00:25:56,000 Dugu itsatsita egingo litzaidake. 356 00:25:56,000 --> 00:26:00,000 Bihurtzen da modu bakarra luzera lortzeko 357 00:26:00,000 --> 00:26:03,000 C array bat da, benetan gogoratu 358 00:26:03,000 --> 00:26:08,000 ezarri nahi izanez gero, eta, ondoren, array batera pasatzeko inguruan 359 00:26:08,000 --> 00:26:14,000 beraz, betiere, funtzio bat lan batzuk egin behar izan dut 360 00:26:14,000 --> 00:26:18,000 osoko zenbakien edo karroza array bat edo bikoizten edo zer behar duzu, 361 00:26:18,000 --> 00:26:22,000 Emateko funtzioa array luzera ere egin beharko dut, 362 00:26:22,000 --> 00:26:26,000 eta hori da, zehatz-mehatz zer egin dugu hemen bilaketa-funtzioa. 363 00:26:26,000 --> 00:26:30,000 Begiratzen baduzu, zer egin behar dugu gure array pasatzen dugu hemen, 364 00:26:30,000 --> 00:26:36,000 luzera, tamaina ere gainditu dugu. 365 00:26:36,000 --> 00:26:41,000 Gertatzen besterik ez da aldagai deitzen dugun hau hemen, 366 00:26:41,000 --> 00:26:43,000 Parametro hau edo argumentua. 367 00:26:43,000 --> 00:26:46,000 Deritzo funtzio bat argumentu zerrenda edo parametro zerrenda 368 00:26:46,000 --> 00:26:51,000 eta horiek ere deitzen argumentuak edo parametroak. 369 00:26:51,000 --> 00:26:53,000 Pertsonak ezberdinak erabiltzen termino garai desberdinetan. 370 00:26:53,000 --> 00:26:55,000 Interchange batzuetan ditut neure burua. 371 00:26:55,000 --> 00:27:00,000 Beraz, zerbait gertatzen da aldagai hau hemen, era berean, hori izendatutako 372 00:27:00,000 --> 00:27:03,000 hau # define hemen. 373 00:27:03,000 --> 00:27:06,000 Baina ez dira gauza bera. 374 00:27:06,000 --> 00:27:11,000 Kapitalizazioa du materia. 375 00:27:11,000 --> 00:27:14,000 >> Zer gertatzen den begiratuz gero hemen, deklaratzeko 376 00:27:14,000 --> 00:27:18,000 gure int array, deitzen dugu zenbakiak. 377 00:27:18,000 --> 00:27:23,000 Eman dugu gure tamaina, dagokion gure # define goialdean. 378 00:27:23,000 --> 00:27:27,000 8 izango da. 379 00:27:27,000 --> 00:27:35,000 Eta gero, deitu dugu gure bilaketa-funtzioa behera beheko 380 00:27:35,000 --> 00:27:40,000 pasatzen zenbakia bilatu nahi dugu, galdetuko dugu, 381 00:27:40,000 --> 00:27:43,000 Erabiltzaileak ahaztuak. 382 00:27:43,000 --> 00:27:46,000 Array pasatzen dugu, zenbaki honetan, 383 00:27:46,000 --> 00:27:51,000 eta, ondoren, array tamaina gainditu dugu, 384 00:27:51,000 --> 00:27:57,000 eta gero, tamaina 8 balioa erabat gordetzen 385 00:27:57,000 --> 00:28:01,000 edo hau zenbaki oso aldakorra izeneko tamaina gainditu. 386 00:28:01,000 --> 00:28:08,000 Array tamaina ditugu. 387 00:28:08,000 --> 00:28:11,000 Orain atzera egin dugu lehenago hitz egiten genuen, 388 00:28:11,000 --> 00:28:14,000 Missy ekarri puntu zer egin behar dugu array-luzera dela uste dut 389 00:28:14,000 --> 00:28:20,000 eta zatiketak 2, eta horrek emango digu erdiko puntua. 390 00:28:20,000 --> 00:28:22,000 Ikus dezagun. 391 00:28:22,000 --> 00:28:25,000 Can norbait idatzi hau eta bere espazioa gorde behar dut? 392 00:28:25,000 --> 00:28:27,000 Nola Leila? 393 00:28:27,000 --> 00:28:31,000 Ezin dut hau idatzi duzu? 394 00:28:31,000 --> 00:28:35,000 Idatzi den aurreneko lerroan non array luzera hartu eta erdigunea lortzeko 395 00:28:35,000 --> 00:28:41,000 gordetzeko eta aldagai berri bat. 396 00:28:41,000 --> 00:28:44,000 Emango dizut segundo pare. Prest al zaude? 397 00:28:44,000 --> 00:28:46,000 [Student inaudible] 398 00:28:46,000 --> 00:28:50,000 Noski, ezin duzu I kalkulatzeko erdigunea 399 00:28:50,000 --> 00:28:55,000 bilaketa-funtzioa barruan array haystack 400 00:28:55,000 --> 00:29:03,000 haystack array luzera erabiliz, tamaina aldagaia da? 401 00:29:03,000 --> 00:29:08,000 Nothing delikatua hemen. 402 00:29:08,000 --> 00:29:12,000 [Leila] Just tamaina / 2 eta just- 403 00:29:12,000 --> 00:29:17,000 Eta gorde, eta gorde botoia sakatu hemen goialdean, 404 00:29:17,000 --> 00:29:19,000 eta tira dugu. 405 00:29:19,000 --> 00:29:22,000 Perfect. 406 00:29:22,000 --> 00:29:28,000 Bertan dugu. Awesome. 407 00:29:28,000 --> 00:29:30,000 >> Denez, hau konpilatu? 408 00:29:30,000 --> 00:29:32,000 [Leila] Ez, handiagoa izan behar du. 409 00:29:32,000 --> 00:29:34,000 [Nate] Bai, eta, beraz, zer egin behar dugu? 410 00:29:34,000 --> 00:29:36,000 [Leila] Atsegin dut int erdigunea edo zerbait. 411 00:29:36,000 --> 00:29:41,000 Awesome. Bai, utzi egin, int erdigunea = tamaina. 412 00:29:41,000 --> 00:29:44,000 Hau izango du konpilatu? 413 00:29:44,000 --> 00:29:47,000 Dezagun iruzkin hau ezabatu eta get out bidea. 414 00:29:47,000 --> 00:29:50,000 Zer egingo ez konpilatu honi buruz? 415 00:29:50,000 --> 00:29:52,000 Ez dugu ezer egin osokoa, 416 00:29:52,000 --> 00:29:55,000 beraz, edo horrelako zerbait inprimatu behar dugu. 417 00:29:55,000 --> 00:29:58,000 Bai, hain zuzen. 418 00:29:58,000 --> 00:30:00,000 Unused-aldagai bat lortu dugu. 419 00:30:00,000 --> 00:30:02,000 Zer gehiago dago honi buruz ez lanera joan? 420 00:30:02,000 --> 00:30:06,000 Zerbait, Sam esan duzu uste dut. Puntu. 421 00:30:06,000 --> 00:30:08,000 Bai, puntu horiek dut falta da. 422 00:30:08,000 --> 00:30:14,000 Epe ikasturte osoan zehar gauza konstante bat izango da. 423 00:30:14,000 --> 00:30:17,000 Azken gauza egin dut espazio zuri bat jarri dut bi aldeetan 424 00:30:17,000 --> 00:30:23,000 operadorea hau hemen, hori da normalean nola egiten dugun geroztik 425 00:30:23,000 --> 00:30:26,000 gure estilo-gida arabera. 426 00:30:26,000 --> 00:30:29,000 Lortu dugu gure array erdigunea. 427 00:30:29,000 --> 00:30:32,000 Orain gogoratzen dugu berriro gure algoritmoa 428 00:30:32,000 --> 00:30:37,000 erdigunea dugu behin egin izan dugun bigarren urratsa izan zen? 429 00:30:37,000 --> 00:30:42,000 [Student] bada handiagoa [inaudible]. 430 00:30:42,000 --> 00:30:48,000 Bai, eta, beraz, konparatzeko moduko bat egin behar dugu, eta zer dira alderatuz dugu hemen? 431 00:30:48,000 --> 00:30:53,000 Bada baino handiagoa esan duzu. Zer da erreferentzia esaldi hori? 432 00:30:53,000 --> 00:30:57,000 Datorren, erdigunea baino handiagoa bada, eta, ondoren, igo array? 433 00:30:57,000 --> 00:31:05,000 Zehazki, eta, beraz, kopurua datorren dugu 434 00:31:05,000 --> 00:31:10,000 Orratza, eta, beraz, Orratza ari gara alderatuz, 435 00:31:10,000 --> 00:31:12,000 eta zer dira alderatuz orratz aurka? 436 00:31:12,000 --> 00:31:15,000 Orratza da zer bilatzen ari gara delako. 437 00:31:15,000 --> 00:31:18,000 Ari gara alderatuz erdiko puntua lortu. 438 00:31:18,000 --> 00:31:21,000 >> Baina ez du zentzurik ikus egiaztatu 439 00:31:21,000 --> 00:31:27,000 orratz = erdigunea bada? 440 00:31:27,000 --> 00:31:32,000 Ez duela zentzurik? 441 00:31:32,000 --> 00:31:35,000 Ba al da inor ados? 442 00:31:35,000 --> 00:31:40,000 Dezagun ematen saiatu, bada (orratz == erdigunea). 443 00:31:40,000 --> 00:31:42,000 [Student] printf Ez da aurkitu duzu. 444 00:31:42,000 --> 00:31:51,000 [Nate] printf ("aurkitu dugu \ n"); 445 00:31:51,000 --> 00:31:56,000 Bestela-I'm zerbait desberdina egiten hasteko. 446 00:31:56,000 --> 00:32:00,000 Adierazpenak bada inguruan denbora guztian kortxeteak jarriz hasteko noa 447 00:32:00,000 --> 00:32:05,000 besterik ez delako gehiago stuff, gero, gehitu dugu 448 00:32:05,000 --> 00:32:07,000 ez gara Konpilatzaileak. 449 00:32:07,000 --> 00:32:09,000 Bai, Sam. Puntu bat lortu duzu. 450 00:32:09,000 --> 00:32:12,000 Arazoa da erdigunea array posizioa adierazten du, 451 00:32:12,000 --> 00:32:15,000 baina array posizio horretan balioa adierazteko dezakezu. 452 00:32:15,000 --> 00:32:17,000 Hori puntu bat da. 453 00:32:17,000 --> 00:32:19,000 Ba al denek entzuten zer Sam esan? 454 00:32:19,000 --> 00:32:22,000 Erdigunea dela esan zuen 455 00:32:22,000 --> 00:32:28,000 array posizio bat adierazten du, baina ez da benetako array elementu. 456 00:32:28,000 --> 00:32:30,000 Kodea idatzi bezala uste baduzu, oraintxe bertan, 457 00:32:30,000 --> 00:32:35,000 array honetan begiratuz gero hemen, 8 elementu ditu. 458 00:32:35,000 --> 00:32:39,000 zer erdigunea funtzio hau izango da balioa da? 459 00:32:39,000 --> 00:32:41,000 [Student] 4. 460 00:32:41,000 --> 00:32:45,000 [Nate] 4. 461 00:32:45,000 --> 00:32:51,000 Kopurua 4 begiratuz gero - 462 00:32:51,000 --> 00:32:54,000 eta bakarrik egin ahal dugu exekutatu kode hau eta apur bat triste aurpegia jarri hemen 463 00:32:54,000 --> 00:32:58,000 aurkitu genuen ez delako-kode hau exekutatzen 464 00:32:58,000 --> 00:33:04,000 da, oraintxe bertan, igotzen, eraikina, utzi behera joan me, 465 00:33:04,000 --> 00:33:09,000 eta 4. kopurua kontuan hartuz gero, 466 00:33:09,000 --> 00:33:18,000 aurkitu dugu, baina ez dugu hori lortzeko printf bai. 467 00:33:18,000 --> 00:33:23,000 Arrazoi bat da, baina ez dugu itzultzeko egia, 468 00:33:23,000 --> 00:33:26,000 baina benetan aurkituko dugu, 4 zenbakia? 469 00:33:26,000 --> 00:33:28,000 Eta Sam ez da esaten. 470 00:33:28,000 --> 00:33:31,000 Zer egin dugu? 471 00:33:31,000 --> 00:33:35,000 Erdigunea, array begiratuz gero hemen benetan aurkitu dugu, 472 00:33:35,000 --> 00:33:38,000 elementu izan da indizea 4 begiratzen ari gara, 473 00:33:38,000 --> 00:33:42,000 den 23. 474 00:33:42,000 --> 00:33:46,000 >> Nola lortu dugu elementu hori puntu baten bitartez 475 00:33:46,000 --> 00:33:48,000 eta ez bakarrik erdigunea bera? 476 00:33:48,000 --> 00:33:52,000 [Student] sartu char edo zerbait? 477 00:33:52,000 --> 00:33:55,000 Zer izango litzateke hori egiten, besterik gabe, jakin-mina? 478 00:33:55,000 --> 00:33:57,000 Ezin apur bat gehiago landu duzu? 479 00:33:57,000 --> 00:34:02,000 Posizioa eraldatu zenbakia sartu behar duzu, 480 00:34:02,000 --> 00:34:05,000 beraz, egin duzun got batzuk konexio-I char uste, baina agian ez da izan. 481 00:34:05,000 --> 00:34:07,000 Bai, hori puntu bat ona da. 482 00:34:07,000 --> 00:34:12,000 Dugu hau bihurtzeko posizioak asko egiten karakteretan, pertsonaia horiek, 483 00:34:12,000 --> 00:34:14,000 lehen bi arazo multzo. 484 00:34:14,000 --> 00:34:18,000 Bihurtzen da hemen, hau da, ia-ia antzekoa 485 00:34:18,000 --> 00:34:24,000 pertsonaia Ith sartzeko, kate baten barruan zentzua badu. 486 00:34:24,000 --> 00:34:30,000 Here erdigunea elementu sartu nahi dugu. 487 00:34:30,000 --> 00:34:34,000 Nola egiten dugu hori? 488 00:34:34,000 --> 00:34:39,000 Kevin, ez nola egiten dugu agian Edozein iradokizun duzu? 489 00:34:39,000 --> 00:34:44,000 Haystack egin izan duzu, bracket bracket, erdialdean, itxita. 490 00:34:44,000 --> 00:34:46,000 Ezin hori idatzi duzu gurekin? 491 00:34:46,000 --> 00:34:51,000 Gorde hemen, eta sortu duten tira dugu. 492 00:34:51,000 --> 00:34:56,000 Lerro hau 9 bilatzen ari gara, 493 00:34:56,000 --> 00:34:59,000 eta nahi ez dugun, erdigunea, orratz konparatzeko ari gara konturatu, 494 00:34:59,000 --> 00:35:03,000 baina horren ordez, orratz alderatu nahi dugu 495 00:35:03,000 --> 00:35:07,000 to elementua posizio gure haystack array barruan erdigunea. 496 00:35:07,000 --> 00:35:10,000 Cool. 497 00:35:10,000 --> 00:35:12,000 Bertan dugu. 498 00:35:12,000 --> 00:35:15,000 Bai, hori itxura nahiko ona da, (orratz == haystack [erdigunea]) bada. 499 00:35:15,000 --> 00:35:18,000 Aurkitu dugu. 500 00:35:18,000 --> 00:35:22,000 Orain exekutatu kodea we'll atzera apur bat bit-sortu 501 00:35:22,000 --> 00:35:26,000 bidez, biltzen ditu, eta gaur egun 4 begiratuz gero, 502 00:35:26,000 --> 00:35:30,000 ez dugu aurkitu orain benetan ari garelako kopurua 23 lortzeko. 503 00:35:30,000 --> 00:35:33,000 Balioa ari gara 23, eta hori da, zer egiten ari gara gure orratz alderatuz. 504 00:35:33,000 --> 00:35:35,000 Baina hori ona da. Eskubidea norabidean urrats bat da. 505 00:35:35,000 --> 00:35:37,000 >> Hau da, zer egiten saiatzen ari gara. 506 00:35:37,000 --> 00:35:40,000 Ez orratz konparatzeko array posizioak aurka saiatzen ari gara 507 00:35:40,000 --> 00:35:44,000 baizik array benetako elementu aurka. 508 00:35:44,000 --> 00:35:49,000 Atzera begiratzen dugu berriro gure algoritmoa hurrengo urratsa, 509 00:35:49,000 --> 00:35:51,000 Hurrengo urratsa zer da? 510 00:35:51,000 --> 00:35:57,000 Leila dagoeneko aipatu da, labur-labur. 511 00:35:57,000 --> 00:36:00,000 [Student] Egiaztatu da baino handiagoa edo baino gutxiago bada, eta, ondoren, erabakiko du zein modu mugitu ikusteko. 512 00:36:00,000 --> 00:36:03,000 [Nate] Bai, beraz, nola egiten dugu hori? 513 00:36:03,000 --> 00:36:07,000 -I'll batzuk jarri ahal gorde berrikuspena, 514 00:36:07,000 --> 00:36:13,000 eta, ondoren, lerro batzuk Horretarako jarri bada. 515 00:36:13,000 --> 00:36:15,000 Bai, Charlotte. >> Galdera bat daukat. 516 00:36:15,000 --> 00:36:19,000 Ez luke erdigunea izango da 1 - Lehenik eta behin, delako 517 00:36:19,000 --> 00:36:26,000 0 indexatuta, hala badagokio 4 jarri genituen, hori ez da benetan, pertsonaia bilatzen ari gara? 518 00:36:26,000 --> 00:36:30,000 Bai, eta beste arazo bat da- 519 00:36:30,000 --> 00:36:35,000 harrapaketa bat da, zer da ziurrenik amaitzeko gertatzen ari delako joan 520 00:36:35,000 --> 00:36:42,000 mantendu dugu mugitzen bada, eta ez dugu inoiz egokitzeko hasiera batean? 521 00:36:42,000 --> 00:36:46,000 Zer amaituko dugu agian egiten uste dut sartzeko saiatzen ari da 522 00:36:46,000 --> 00:36:49,000 array 8an posizioan elementu, 523 00:36:49,000 --> 00:36:53,000 kasu honetan, ez da existitzen. 524 00:36:53,000 --> 00:36:56,000 Izan ere, kontabilitate moduko bat egin nahi dugu 525 00:36:56,000 --> 00:36:59,000 zero indexatzeko batzuk ditugu. 526 00:36:59,000 --> 00:37:05,000 [Charlotte] Sentitzen dut, erdigunea esan nahi du I - 1 plaza parentesi artean. 527 00:37:05,000 --> 00:37:08,000 Egin dezakegu. 528 00:37:08,000 --> 00:37:10,000 Gai honetan pixka bat itzuli dugu. 529 00:37:10,000 --> 00:37:13,000 Behin benetako begizta hasten gara, 530 00:37:13,000 --> 00:37:16,000 hori benetan ikusiko dugu jokoan sartzen dira. 531 00:37:16,000 --> 00:37:21,000 Oraingoz, hau egin ahal izango dugu, baina erabat eskuineko Oraindik duzu. 532 00:37:21,000 --> 00:37:28,000 Zero indexatzeko That bat behar dugula kontuan eragina izan du. 533 00:37:28,000 --> 00:37:30,000 Ikus dezagun. 534 00:37:30,000 --> 00:37:34,000 >> Nola dago baino handiagoa eta gutxiago baino? 535 00:37:34,000 --> 00:37:36,000 [Student] nola baino handiagoa eta zati bat baino gutxiago egin dut. 536 00:37:36,000 --> 00:37:41,000 Dut ez ziur zer aurkituko dituzu dela haystack erdigunea baino txikiagoa edo baino handiagoa bada, inprimatu. 537 00:37:41,000 --> 00:37:43,000 Hemen gorde ahal izango dut zer I've- 538 00:37:43,000 --> 00:37:47,000 [Nate] Bai, gorde baduzu, zer lortu duzun, eta tira dugu. 539 00:37:47,000 --> 00:37:49,000 Bertan dugu. 540 00:37:49,000 --> 00:37:51,000 [Student] Eta galdera ikurrak jarri dut zer ez nekien. 541 00:37:51,000 --> 00:37:54,000 [Nate] looks great. 542 00:37:54,000 --> 00:37:58,000 Hemen lortu dugu, oraindik ere, galdera ikurrak ez baitu ez daki 543 00:37:58,000 --> 00:38:06,000 zer nahiko egin gabe goaz. 544 00:38:06,000 --> 00:38:12,000 Zer izango litzateke do-trabatzen, giltza batzuk gurekin funky guztiak lortu dugu nahi dugu. 545 00:38:12,000 --> 00:38:15,000 Giltza horiek zuzendu dugu. 546 00:38:15,000 --> 00:38:19,000 Bertan dugu. 547 00:38:19,000 --> 00:38:22,000 Eta beraz, zer egin nahi dugu, gure algoritmoaren arabera, 548 00:38:22,000 --> 00:38:27,000 aurkitu orratz ez badugu? 549 00:38:27,000 --> 00:38:32,000 Kasuan Esan Orratza baino gutxiago da zer bilatzen ari gara. Kevin. 550 00:38:32,000 --> 00:38:34,000 Ezkerreko erdia bakarrik begiratu. 551 00:38:34,000 --> 00:38:40,000 Eskuin, eta, beraz, hemen comment dioen jarri dugu "erdiak ezker begiratu". 552 00:38:40,000 --> 00:38:46,000 Eta orratz da erdigunea, haystack baino handiagoa baldin bada, zer egin nahi dugu? 553 00:38:46,000 --> 00:38:48,000 [Student] Ondoren, begiratu eskuineko erdia. 554 00:38:48,000 --> 00:38:53,000 Eskuineko erdia Begira, "erdia eskuinera begiratu". 555 00:38:53,000 --> 00:38:58,000 Not too shabby. 556 00:38:58,000 --> 00:39:05,000 Ongi da, eta, beraz, puntu honetan, gauzak ez dira nahiko ona bila. 557 00:39:05,000 --> 00:39:13,000 Kodea idatzi bezala arazoa, zer da? 558 00:39:13,000 --> 00:39:15,000 [Student] ez duzu halves kodea endpoints. 559 00:39:15,000 --> 00:39:18,000 Eskuin, ez dugu halves kodea endpoints. 560 00:39:18,000 --> 00:39:20,000 Ere ari gara hau behin bidez bakarrik joango. 561 00:39:20,000 --> 00:39:23,000 Bakarrik erdigunea bat begiratzen ari gara. 562 00:39:23,000 --> 00:39:27,000 Edo elementu dago, edo ez da. 563 00:39:27,000 --> 00:39:34,000 Helburu hori osatzeko, nolabaiteko errepikapena egin behar dugu. 564 00:39:34,000 --> 00:39:39,000 Aurkitu arte errepikatuz mantendu behar dugu 565 00:39:39,000 --> 00:39:43,000 bai elementu hor dugu narrowed delako behera, eta, azkenik, aurkitu, 566 00:39:43,000 --> 00:39:46,000 edo ez dugu gauza guztietan barrena delako begiratu 567 00:39:46,000 --> 00:39:52,000 array dagokion halves, eta ezer ez da. 568 00:39:52,000 --> 00:39:56,000 >> Bakoitzean got dugu errepikapen hau gertatzen da, zer erabiltzen dugu? 569 00:39:56,000 --> 00:39:58,000 [Student] loop. 570 00:39:58,000 --> 00:40:00,000 Begizta moduko batzuk. Bai. 571 00:40:00,000 --> 00:40:03,000 [Student] do bitartean begizta bat egiten dugu eta egin eta orduan, berriz, 572 00:40:03,000 --> 00:40:10,000 orratz ez berdina-I'm ziur ez duten izan dut. 573 00:40:10,000 --> 00:40:18,000 Baina mota bezala ez du balio berdina erabiltzailearen sarrera egin. 574 00:40:18,000 --> 00:40:21,000 Bai, eta, beraz, dezagun ikus, nola liteke hau idaztea bera? 575 00:40:21,000 --> 00:40:23,000 Dezagun do bitartean-loop bat erabili esan duzu. 576 00:40:23,000 --> 00:40:26,000 Non egin Irteeran? 577 00:40:26,000 --> 00:40:33,000 Eskuin tamaina / 2 ondoren [Student]. 578 00:40:33,000 --> 00:40:42,000 [Nate] Ongi da, eta zer egiten dugu? 579 00:40:42,000 --> 00:40:44,000 Geroago, berriz, bete dugu. 580 00:40:44,000 --> 00:40:46,000 Zer egin dugu? 581 00:40:46,000 --> 00:40:49,000 [Student] Ez stuff guztiak egin nahi dugu behar izanez gero, zati dugun? 582 00:40:49,000 --> 00:40:52,000 [Nate] Do stuff hori guztia, handia. 583 00:40:52,000 --> 00:40:55,000 Kopiatu eta itsatsi. 584 00:40:55,000 --> 00:40:59,000 Oh, man. 585 00:40:59,000 --> 00:41:03,000 Ikus dezagun obra hori izanez gero, fitxa baino gehiago honen badugu. 586 00:41:03,000 --> 00:41:08,000 Beautiful. 587 00:41:08,000 --> 00:41:16,000 Ados, eta hau gorde dugu you guys dute, beraz. 588 00:41:16,000 --> 00:41:21,000 Guztiak eskubidea, eta hau egiteko dugun bitartean 589 00:41:21,000 --> 00:41:25,000 zer izan zen ondoren, berriz, egoera zinen? 590 00:41:25,000 --> 00:41:31,000 [Student] orratz berdinak ez izan arren, eta, beraz,, harridura puntu bezala. 591 00:41:31,000 --> 00:41:37,000 Baina ez nago ziur zehazki zer dela oraindik. 592 00:41:37,000 --> 00:41:39,000 [Nate] Bai, hau da, modu batean egin da. 593 00:41:39,000 --> 00:41:41,000 Sam, iruzkin bat izan al duzu? 594 00:41:41,000 --> 00:41:43,000 [Sam] begiratu bideoetan dut gogoratzen dut, 595 00:41:43,000 --> 00:41:48,000 Screenshot-atsegin bat hartu nuen pseudocode egin dugu, 596 00:41:48,000 --> 00:41:52,000 max arteko harremana eta min batzuk. 597 00:41:52,000 --> 00:41:58,000 Max min inoiz baino gutxiago bada, antzeko zerbait izan dela uste dut. 598 00:41:58,000 --> 00:42:00,000 Got du. 599 00:42:00,000 --> 00:42:04,000 [Sam] Edo gustatzen max ez bada min edo horrelako zerbait baino gutxiago, 600 00:42:04,000 --> 00:42:06,000 bilatuko duzula dena esan nahi lukeelako. 601 00:42:06,000 --> 00:42:13,000 >> Bai, eta, beraz, zer soinu max eta min ziren erreferentzia bezala? 602 00:42:13,000 --> 00:42:16,000 [Sam] Balioak, zenbaki osoen aldatu behar diren 603 00:42:16,000 --> 00:42:18,000 erlatiboa erdigunea jarri genituen. 604 00:42:18,000 --> 00:42:20,000 Hain zuzen ere. 605 00:42:20,000 --> 00:42:24,000 [Sam] Une horretan, [inaudible] kalkulatzeko max eta min. Da joan 606 00:42:24,000 --> 00:42:29,000 Erdigunea max eta min ideia da. 607 00:42:29,000 --> 00:42:35,000 Ez duela zentzurik folks? 608 00:42:35,000 --> 00:42:39,000 Iterazio hau nola egin behar dugu begira ginen hasteko bada, 609 00:42:39,000 --> 00:42:43,000 erabat eskuineko Oraindik egin bitartean-begizta moduko batzuk erabili nahi dugu. 610 00:42:43,000 --> 00:42:49,000 Baina uste dut gogoratzen dugu zer ari den gertatzen array honen Leku bada 611 00:42:49,000 --> 00:42:53,000 eta zer da benetan gertatzen ari dena-I'm idazteko gertatzen da hemen- 612 00:42:53,000 --> 00:42:58,000 bilaketa bitarraren iterazio lehen, dugu 613 00:42:58,000 --> 00:43:05,000 B eta e hasieratik adierazteko erabili dut. 614 00:43:05,000 --> 00:43:10,000 Eta gero, gure array amaieran. 615 00:43:10,000 --> 00:43:14,000 Hasieran 4 eskubidea da hemen baino gehiago ezagutzen dugu, 616 00:43:14,000 --> 00:43:18,000 eta, azkenean, 108 at dakigu. 617 00:43:18,000 --> 00:43:23,000 Esan 15 zenbakia bilatzen ari gara. 618 00:43:23,000 --> 00:43:27,000 Lehen aldiz hau egiten dugu, lehenago ikusi dugun bezala, 619 00:43:27,000 --> 00:43:30,000 erdigunea da bai 16 edo 23 izango 620 00:43:30,000 --> 00:43:34,000 gauzak nola kalkulatu dugu arabera. 621 00:43:34,000 --> 00:43:37,000 Berdinarekin erdian zatituko luke digu espazio honetan 622 00:43:37,000 --> 00:43:42,000 16 eta 23 urteen artean, ezin dugu berdinarekin zatitzea da 623 00:43:42,000 --> 00:43:47,000 edo zatitzea eta benetako erdigunea. 624 00:43:47,000 --> 00:43:49,000 16 bilatuko dugu. 625 00:43:49,000 --> 00:43:55,000 Konturatzen gara "Hey, 16> 15 bila ari gara." 626 00:43:55,000 --> 00:43:59,000 Ondoren array ezker erdia begiratu 627 00:43:59,000 --> 00:44:03,000 zer amaituko dugu egiten baztertu egingo da 628 00:44:03,000 --> 00:44:07,000 goiko zati osoa 629 00:44:07,000 --> 00:44:16,000 eta, esaten: "Ongi da, orain gure endpoint hemen izango da." 630 00:44:16,000 --> 00:44:22,000 Gure begizta hurrengo iterazio, orain ari gara array hau begira, 631 00:44:22,000 --> 00:44:25,000 eraginkortasunez baztertzea, ondoren zati hau orain delako 632 00:44:25,000 --> 00:44:30,000 ari gara erdigunea bada hasieran eta amaieran arteko aldea izango da, 633 00:44:30,000 --> 00:44:34,000 aurkituko dugu gure erdigunea 8, 634 00:44:34,000 --> 00:44:40,000 ahal izango dugu, orduan probatzeko 8, non da bilatzen ari gara zenbakia aldean ikusteko, 635 00:44:40,000 --> 00:44:44,000 15, 15 handiagoa da, 636 00:44:44,000 --> 00:44:49,000 beraz zerrendaren zati eskuineko mugitu behar dugu, 637 00:44:49,000 --> 00:44:51,000 gara gizakiak delako ezagutzen dugu, eta ikusi ahal izango dugu. 638 00:44:51,000 --> 00:44:54,000 Eskuineko zatia izango da, non aurkituko dugu ezagutzen dugu, 639 00:44:54,000 --> 00:45:01,000 baina ordenagailuan ez dakit, beraz, zer egin dugu benetan dizkizugu 640 00:45:01,000 --> 00:45:04,000 dute, hau igo, eta, orain, hasieran eta amaieran 641 00:45:04,000 --> 00:45:11,000 berdinak dira Leku, erdigunea zerrendako puntu hartan bakarra bihurtzen da, beraz, 642 00:45:11,000 --> 00:45:16,000 eta 15 da, eta aurkitu dugu. 643 00:45:16,000 --> 00:45:21,000 Ez duela argi batzuk non max honetan guztian eta min notazioa va ederki 644 00:45:21,000 --> 00:45:24,000 array endpoints pista mantentzeko izarrekin irudikatu 645 00:45:24,000 --> 00:45:35,000 gauzak nola mugatu behera? 646 00:45:35,000 --> 00:45:42,000 >> Zer da hau? Ez ziren bada 15 berdina gertatuko litzateke? 647 00:45:42,000 --> 00:45:52,000 Zer ginen, 15 eta, horren ordez bila bazabiltza, zenbaki hau ere 16? 648 00:45:52,000 --> 00:45:54,000 Esango genuke, "Oh, handiagoa da. 649 00:45:54,000 --> 00:45:57,000 Atzera joan ezkerrera nahi dugu. " 650 00:45:57,000 --> 00:46:01,000 Eta gure e mugitu genuke eskubidea, 651 00:46:01,000 --> 00:46:06,000 puntua endpoint gatazkatsuak izango litzateke dugu. 652 00:46:06,000 --> 00:46:09,000 Elementu gehiago bilatzeko gai ez litzateke 653 00:46:09,000 --> 00:46:13,000 orain, gure endpoint eta gure hasieran puntua izan dugulako, 654 00:46:13,000 --> 00:46:16,000 gure max eta gure min, gaur egun iraulita. 655 00:46:16,000 --> 00:46:23,000 Array bidez osoa bilatu dugu. Ezin dugu ezer aurkitu. 656 00:46:23,000 --> 00:46:27,000 Hau da, nahi genuke, esan "Okay, algoritmo hau gelditzeko goaz. 657 00:46:27,000 --> 00:46:34,000 Ez dugu ezer aurkitu. Ez da hemen ezagutzen dugu. " 658 00:46:34,000 --> 00:46:36,000 Nola da hau? 659 00:46:36,000 --> 00:46:40,000 [Student] Nola zehazki ordenagailua ez aldatzeko amaiera al da? 660 00:46:40,000 --> 00:46:45,000 Nola amaieran hasi aurretik? 661 00:46:45,000 --> 00:46:48,000 Amaiera da eta ondorioz hasieran aurretik 662 00:46:48,000 --> 00:46:54,000 math ari gara hau egiten dugu aldi bakoitzean egin behar delako. 663 00:46:54,000 --> 00:47:00,000 Swap dugu Oso lehen aldiz begiratzen baduzu, swap hau egiten dugu 664 00:47:00,000 --> 00:47:03,000 4 hasieran eta amaieran dugu 665 00:47:03,000 --> 00:47:13,000 108 at eta gure erdigunea behera modu guztiak, adibidez, 16 urterekin 666 00:47:13,000 --> 00:47:20,000 Atzera berrezartzeko noa 15-15 bilatzen ari gara, 667 00:47:20,000 --> 00:47:25,000 zer esan genuen 16 checked dugu bazekien dugu, eta ikusi zela handiagoa 668 00:47:25,000 --> 00:47:28,000 eta zerrendaren eskuineko zati osoa baztertu nahi, 669 00:47:28,000 --> 00:47:36,000 zer egin nahi izan dugu, e hau mugitzeko eskubidea hemen ikusi genuen. 670 00:47:36,000 --> 00:47:44,000 Eraginkorrean, e got erdigunea aurretik eraman. 671 00:47:44,000 --> 00:47:48,000 Era berean, algoritmoaren iterazio honetan egin dugu 672 00:47:48,000 --> 00:47:51,000 eta erdigunea 8 izan zen, 673 00:47:51,000 --> 00:47:55,000 8 <15 dela, eta, beraz, b eraman nahi izan dugu, aurkitu genuen 674 00:47:55,000 --> 00:48:00,000 erdigunea eta gola. 675 00:48:00,000 --> 00:48:07,000 Orain, hasiera eta amaiera dira, bai eta honen 15. 676 00:48:07,000 --> 00:48:10,000 >> Genuke izan bada gertatzen da, beste balio batzuk, ez 15 bilatzeko 677 00:48:10,000 --> 00:48:14,000 edo 15 izan ordez bada 16 izan da, 678 00:48:14,000 --> 00:48:20,000 e bat mugitu nahi dugu, erdigunea aurretik aurkitu genuke. 679 00:48:20,000 --> 00:48:33,000 Orain e iraulitako b baino gutxiago izango litzateke. 680 00:48:33,000 --> 00:48:39,000 Dezagun nola amaituko dugu algoritmoa hau kodeketa ibiltzeko. 681 00:48:39,000 --> 00:48:44,000 Erdigunea kalkulu hau izan nahi dugun jakin dugu. 682 00:48:44,000 --> 00:48:48,000 Jakin badakigu, halaber, nahi dugun array hasieran eta amaieran jarraipena 683 00:48:48,000 --> 00:48:51,000 gure array uneko irudikatu ahal izango dugu 684 00:48:51,000 --> 00:48:56,000 non ezkerreko zerrendaren erdia hau da, eta non zerrendan eskuineko erdia da. 685 00:48:56,000 --> 00:49:03,000 Egiten dugu, bai, hasi eta bukatu, 686 00:49:03,000 --> 00:49:07,000 edo deitu ditu min eta max ahal izango dugu. 687 00:49:07,000 --> 00:49:10,000 Hasiko da eta amaitzeko denbora hau erabili dut. 688 00:49:10,000 --> 00:49:15,000 Dugunean hasten bada, atzera begiratu dugu gure Adibidez hemen, 689 00:49:15,000 --> 00:49:20,000 gure hasieran array hasieran ezarri zen, natural gisa. 690 00:49:20,000 --> 00:49:25,000 Zer indize hori? Zer egin behar gure hasiko dira? 691 00:49:25,000 --> 00:49:27,000 Daniel. 692 00:49:27,000 --> 00:49:30,000 [Daniel] Haystack [0]. 693 00:49:30,000 --> 00:49:37,000 [Nate] Bai, beraz, ezarri ahal izango dugu haystack berdintasuna [0]. 694 00:49:37,000 --> 00:49:40,000 Arazoa, ordea, ez da hori ematen digu ez da lehen elementu posizioa. 695 00:49:40,000 --> 00:49:45,000 Ematen digu, lehen elementu edo benetako balioa lehen posizioan indizea. 696 00:49:45,000 --> 00:49:47,000 [Student] That .20 bihurtzeko? 697 00:49:47,000 --> 00:49:52,000 [Nate] Zer da hau egingo da-ondo, ez du egin bihurtzeko edozein. 698 00:49:52,000 --> 00:49:56,000 Zer egingo da hasten diren 4 bat gordeko da, 699 00:49:56,000 --> 00:49:59,000 eta, ondoren, gogorra izan da konparazioak egiten hasteko aurka izango da 700 00:49:59,000 --> 00:50:03,000 begin antolatuko baitu balioa 4, 701 00:50:03,000 --> 00:50:06,000 gure array hasten da, 702 00:50:06,000 --> 00:50:08,000 matrizearen indize jarraitzeko nahi dugu 703 00:50:08,000 --> 00:50:11,000 balioak ez bezala. 704 00:50:11,000 --> 00:50:17,000 Actually, 0 bat erabili dugu, horrela. 705 00:50:17,000 --> 00:50:20,000 Array-Charlotte amaiera ekarri hau pixka bat lehenago sortu. 706 00:50:20,000 --> 00:50:23,000 Hau da, non, kontuan hartu dugu zero indexatzeko. 707 00:50:23,000 --> 00:50:25,000 >> Charlotte, array-amaieran zer? 708 00:50:25,000 --> 00:50:28,000 Zer da amaiera indizea? 709 00:50:28,000 --> 00:50:30,000 [Charlotte] Size - 1. 710 00:50:30,000 --> 00:50:32,000 Bai, eta horrek tamaina erabili behar dugu? 711 00:50:32,000 --> 00:50:35,000 Kapitalaren tamaina edo minuskulaz tamaina erabili dugu? 712 00:50:35,000 --> 00:50:37,000 Kapital-tamaina. 713 00:50:37,000 --> 00:50:42,000 Kasu honetan, kapital-tamaina erabili izan dugu. 714 00:50:42,000 --> 00:50:45,000 Nahi izan dugu, funtzio hau eramangarriak izan nahi baduzu 715 00:50:45,000 --> 00:50:48,000 eta programak beste funtzio hau erabili, 716 00:50:48,000 --> 00:50:50,000 benetan erabili ahal izango dugu minuskulaz tamaina. 717 00:50:50,000 --> 00:50:52,000 Fina da ere. 718 00:50:52,000 --> 00:51:01,000 Baina Charlotte erabat eskuineko tamaina nahi dugun - 1. 719 00:51:01,000 --> 00:51:03,000 Puntu honetan 720 00:51:03,000 --> 00:51:05,000 [Student] Nola da, maiuskulaz tamaina erabili ahal izango duzu? 721 00:51:05,000 --> 00:51:07,000 Nola da, maiuskulaz tamaina erabil daiteke? 722 00:51:07,000 --> 00:51:13,000 Bihurtzen da horiek # definitzen dira benetan, 723 00:51:13,000 --> 00:51:19,000 kanpaia azpian, testu bat bezala eta ordezkatu, zentzua badu. 724 00:51:19,000 --> 00:51:24,000 Zure kodea konpilatu duzu, preprocessing fasean 725 00:51:24,000 --> 00:51:27,000 Konpilatzailearen fitxategia pasatzen 726 00:51:27,000 --> 00:51:31,000 eta badirudi nonahi hiriburua tamaina idatzi duzula, 727 00:51:31,000 --> 00:51:39,000 eta testu hori ordezkatzen du, hitzez hitz, 8, besterik gabe. 728 00:51:39,000 --> 00:51:42,000 Zentzu horretan, hau da, aldagai bat oso ezberdina. 729 00:51:42,000 --> 00:51:45,000 Ez du hartzen memoria edozein espazioa. 730 00:51:45,000 --> 00:51:52,000 Testu ordezko trikimailu sinple bat da. 731 00:51:52,000 --> 00:51:57,000 Kasu honetan, tamaina erabili dugu. 732 00:51:57,000 --> 00:52:01,000 Hemendik nahi errepikapenaren sort batzuk egin ahal izateko, ez dugu 733 00:52:01,000 --> 00:52:03,000 Oraindik eskuineko pista dugu, gure do-bitartean loop. 734 00:52:03,000 --> 00:52:08,000 Zerbait egin nahi dugu, baldintza bat gehiago ez arte eutsi sakatuta 735 00:52:08,000 --> 00:52:12,000 eta, ikusi dugun bezala, ikusi dugu egoera hori, eta 736 00:52:12,000 --> 00:52:19,000 izan zen, hain zuzen ere, azkenean ez dugu nahi 737 00:52:19,000 --> 00:52:24,000 baino gutxiago hasiko da. 738 00:52:24,000 --> 00:52:26,000 >> Hau da gure gelditu baldintza da. 739 00:52:26,000 --> 00:52:35,000 Hori gertatzen bada, eta gelditu bezala, aldarrikatu nahi dugu "Hey, ez dugu ezer aurkitu." 740 00:52:35,000 --> 00:52:43,000 Hori adierazteko, nahi ez dugu begizta moduko batzuk erabiltzeko. 741 00:52:43,000 --> 00:52:49,000 Kasu honetan, berriz, loop do-a izango da, loop, berriz, begizta bat? 742 00:52:49,000 --> 00:52:51,000 Do bitartean begizta bat daukagu ​​hemen. 743 00:52:51,000 --> 00:52:53,000 Do you hurbilketa bezala guys? 744 00:52:53,000 --> 00:52:59,000 Saiatu beharko dugu beste ikuspegi bat dela uste duzu? 745 00:52:59,000 --> 00:53:01,000 Kevin, pentsamenduak edozein? 746 00:53:01,000 --> 00:53:06,000 Gehienez delako ezagutzen dugun bitartean begizta bat izan dugu 747 00:53:06,000 --> 00:53:11,000 Irteeran Mediaz min baino handiagoa izango litzateke. 748 00:53:11,000 --> 00:53:14,000 Bai, Hasieratzea gertatuko ez dela behar, beraz. 749 00:53:14,000 --> 00:53:17,000 Do-bitartean loops handiak hauek dira zerbait hasieratu behar duzu 750 00:53:17,000 --> 00:53:21,000 ondoren, probatzen, hemen, berriz, aurretik 751 00:53:21,000 --> 00:53:26,000 ari garen ez biak, hasiko da eta amaitzeko reinitializing mantentzeko badakigu 752 00:53:26,000 --> 00:53:28,000 Begizta txanda bakoitzean. 753 00:53:28,000 --> 00:53:32,000 Hasieratu nahi dugun jakin dugu, ondoren, egiaztatu gure egoera. 754 00:53:32,000 --> 00:53:38,000 Kasu honetan, egia esan dut, berriz, simple loop joan. 755 00:53:38,000 --> 00:53:44,000 Bihurtzen da egin bitartean loops nahiko gutxitan erabiltzen dira. 756 00:53:44,000 --> 00:53:49,000 Leku asko ez, nahiz eta irakasteko ez loops bitartean. 757 00:53:49,000 --> 00:53:53,000 Erabiltzailearen sarrera lantzeko onak dira, beraz, horietako asko ikusi dugu, beraz, oso urrun. 758 00:53:53,000 --> 00:53:59,000 Baina normal eta begiztak dira asko eta ohikoagoa den bitartean. 759 00:53:59,000 --> 00:54:03,000 Bihurtzen da egoera hori idatzizko 760 00:54:03,000 --> 00:54:09,000 ez du benetan egiten digu askoz ere onak, eta zergatik da hori? 761 00:54:09,000 --> 00:54:11,000 Sentitzen dut, ez dakit zure izena. 762 00:54:11,000 --> 00:54:13,000 Jerry naiz. >> Sentitzen dut? 763 00:54:13,000 --> 00:54:15,000 B-O-R-U-I da. 764 00:54:15,000 --> 00:54:18,000 Oh, ados. 765 00:54:18,000 --> 00:54:23,000 Ez dut ikusten duzu nire zerrendan. 766 00:54:23,000 --> 00:54:26,000 Oh,-delako oh, zentzua da. 767 00:54:26,000 --> 00:54:31,000 Zergatik ez du funtzionatuko, berriz, begizta honen xedea, gisa ideia bat duzu, 768 00:54:31,000 --> 00:54:38,000 baldintza idatzia? 769 00:54:38,000 --> 00:54:43,000 [Jerry] esan nahi duzu nahi duzun ondoren stuff guztiak bezala sartu-? 770 00:54:43,000 --> 00:54:46,000 Bai, horrela da. 771 00:54:46,000 --> 00:54:49,000 Stuff hau guztia jarri bitartean loop, hau da, erabat egia izan liteke. 772 00:54:49,000 --> 00:54:55,000 Beste gauza da, apur bat gehiago problematikoa, ordea, egoera hori ez du funtzionatzen. 773 00:54:55,000 --> 00:54:57,000 [Student] irauli behar duzu. 774 00:54:57,000 --> 00:55:04,000 Eskuin, eta, beraz, egoera hau ez da inoiz egia hasieran hitz egin dugu. 775 00:55:04,000 --> 00:55:08,000 Zerbait egin nahi dugu amaiera 00:55:13,000 baina zerbait bitartean egin nahi dugu 777 00:55:13,000 --> 00:55:21,000 hasiko ≤ amaiera. 778 00:55:21,000 --> 00:55:24,000 >> Itzulketa hori logika ez dago. 779 00:55:24,000 --> 00:55:27,000 Akats horiek egiten denbora guztian errudun naiz. 780 00:55:27,000 --> 00:55:31,000 [Student] Zergatik ez baino txikiagoa edo berdina izan behar da? 781 00:55:31,000 --> 00:55:33,000 Gogoratzen delako kasuan lortu dugun 782 00:55:33,000 --> 00:55:36,000 han elementu bakarra izan zen, eta behera izan genuen, 783 00:55:36,000 --> 00:55:43,000 eta gure array 15 ziren bilatzen dugu? 784 00:55:43,000 --> 00:55:47,000 Eta gure hasiera-hasieratik, eta gure amaiera bera elementu ziren. 785 00:55:47,000 --> 00:55:50,000 Kudeatzeko dugun Kasu horretan ziurtatu nahi dugu. 786 00:55:50,000 --> 00:55:54,000 Genuen zuzen bat baino txikiagoa bada, 787 00:55:54,000 --> 00:55:58,000 behera lortzeko 2-elementu array bat bakarrik ahal izango genuke. 788 00:55:58,000 --> 00:56:06,000 Behin jaitsi ginen azken elementu hori, izan ziren gure elementu bada, ez genuke inoiz aurkitu. 789 00:56:06,000 --> 00:56:10,000 Orain hemen, zehatz-mehatz egin dezakegu ziren esanez bezala. 790 00:56:10,000 --> 00:56:15,000 Stuff plopping gure bitartean loop erdian sartu ahal izango dugu. 791 00:56:15,000 --> 00:56:20,000 Gure erdigunea plop dugu. 792 00:56:20,000 --> 00:56:24,000 Guztiak hartu ahal izango ditugu, horien adierazpen bada, 793 00:56:24,000 --> 00:56:30,000 tira itzazu do bitartean-begizta hau, 794 00:56:30,000 --> 00:56:34,000 plop ellos, 795 00:56:34,000 --> 00:56:39,000 garbitu, gauzak pixka bat sortu 796 00:56:39,000 --> 00:56:48,000 eta aurrera egingo dut eta gorde berrikuspena. 797 00:56:48,000 --> 00:56:53,000 Eta puntu honetan, nahiko hurbil ari gara. 798 00:56:53,000 --> 00:56:55,000 Sam. 799 00:56:55,000 --> 00:56:58,000 1/2 - Era berean, int = tamaina erdigunea izan dela uste dut. 800 00:56:58,000 --> 00:57:01,000 Got, tamaina - 1/2. 801 00:57:01,000 --> 00:57:05,000 Ba al dago beste ezer Ildo horri buruzko aldatu behar dugu? 802 00:57:05,000 --> 00:57:10,000 Harrapaketa bat ona izan zen. 803 00:57:10,000 --> 00:57:14,000 >> Zer esan nahi du tamaina egin? Are tamaina dugu inoiz aldatzen? 804 00:57:14,000 --> 00:57:17,000 Ordena hau atsegin line mantentzeko, tamaina aldatu behar dugu. 805 00:57:17,000 --> 00:57:21,000 Tamaina aldatzeko eta aldi bakoitzean inguruan dugu begizta ditugu. 806 00:57:21,000 --> 00:57:25,000 Baina gogoratu gure adibide baten bitartez ginen pixka bat lehenago joan, 807 00:57:25,000 --> 00:57:30,000 eta hasiera-hasieratik izan genuen 4 808 00:57:30,000 --> 00:57:33,000 eta amaieran 108 at baino gehiago modu guztiak? 809 00:57:33,000 --> 00:57:35,000 Nolatan erdigunea kalkulatzeko dugu? 810 00:57:35,000 --> 00:57:38,000 Ziren tamaina erabiltzen dugu? 811 00:57:38,000 --> 00:57:40,000 Edo hasten ginen, eta amaitzeko ordez erabiliz? 812 00:57:40,000 --> 00:57:42,000 Amaieran eta hasieran arteko aldea da. 813 00:57:42,000 --> 00:57:50,000 Zehazki, eta zer behar duten idazten dut, Charlotte? 814 00:57:50,000 --> 00:57:52,000 Just amaitzeko hasiko da. 815 00:57:52,000 --> 00:57:55,000 Ez duzu behar egin - 1 816 00:57:55,000 --> 00:57:58,000 delako - 1 izan da, azkenean, eta hasteko dagoeneko. 817 00:57:58,000 --> 00:58:00,000 [Nate] Great, erabat eskuineko zara. 818 00:58:00,000 --> 00:58:03,000 Ez dugu egin - 1 delako - 1 dira 819 00:58:03,000 --> 00:58:08,000 eta amaiera aldagaia hasieratu dugu. 820 00:58:08,000 --> 00:58:11,000 >> Ba al dago beste ezer line zentzurik izan sintaktikoki egin behar dut? 821 00:58:11,000 --> 00:58:13,000 [Student] Plus hasiko da. >> Plus hasteko? 822 00:58:13,000 --> 00:58:15,000 [Student] amaieran. 823 00:58:15,000 --> 00:58:20,000 Bakarrik kalkulatzen luzera erdia. 824 00:58:20,000 --> 00:58:26,000 Hasteko gehitu behar duzu. 825 00:58:26,000 --> 00:58:31,000 [Nate] Zer izango litzateke Gurekin kalkulatzeko? 826 00:58:31,000 --> 00:58:35,000 Amaiera dugu uste baduzu begizta-iterazio lehen, 827 00:58:35,000 --> 00:58:40,000 amaiera indizea 7 posizioa izango da. 828 00:58:40,000 --> 00:58:43,000 Hasi posizioa 0 da. 829 00:58:43,000 --> 00:58:47,000 Gogoratu, bai bilatzen ari gara 830 00:58:47,000 --> 00:58:52,000 posizioa 3 edo posizioa 4. 831 00:58:52,000 --> 00:58:56,000 Math hau begiratzen badiogu, besterik gabe, apur bat gehiagotan ukigarria egiteko, 832 00:58:56,000 --> 00:59:02,000 jarri zenbaki batzuk hemen, 7, 0 dugu, 833 00:59:02,000 --> 00:59:10,000 beraz, 7 - 0, eta, ondoren, / 2 834 00:59:10,000 --> 00:59:19,000 3, hau da, zatiketa zenbaki oso. 835 00:59:19,000 --> 00:59:26,000 Gero, ondoren, berriro gure hasiko behar dugu? 836 00:59:26,000 --> 00:59:28,000 Kasu honetan ez dugu. 837 00:59:28,000 --> 00:59:31,000 Oso iterazio lehen, ondo egongo litzateke hasiko da 0 delako. 838 00:59:31,000 --> 00:59:36,000 Baina dugu aurrerapen gisa, benetan egiten dugun guztiak nahikoa 839 00:59:36,000 --> 00:59:42,000 - amaiera hasiko / 2. 840 00:59:42,000 --> 00:59:46,000 Ez dago beste trikimailu bat da, eta hori da, hain zuzen ere, lehentasuna bat. 841 00:59:46,000 --> 00:59:49,000 [Student] parentesi behar dugu? 842 00:59:49,000 --> 00:59:53,000 [Nate] Zehazki, eta hori ez dugulako jarri parentesi horiek, 843 00:59:53,000 --> 00:59:58,000 ondoren lerro hau interpretatu ordez egingo da 844 00:59:58,000 --> 01:00:09,000 (amaiera) - (hasteko / 2), eta ez behin betiko ez dugu nahi. 845 01:00:09,000 --> 01:00:11,000 Watch lehentasuna arau hauekin. 846 01:00:11,000 --> 01:00:15,000 [Student] Zergatik ez da + amaitzeko hastea? 847 01:00:15,000 --> 01:00:17,000 Zergatik ez da + amaitzeko hastea? 848 01:00:17,000 --> 01:00:19,000 [Student] Zergatik da, ezta? 849 01:00:19,000 --> 01:00:24,000 Zergatik + izango da? 850 01:00:24,000 --> 01:00:26,000 Eskubidea zaudela uste dut. 851 01:00:26,000 --> 01:00:28,000 [Student] delako batez besteko? 852 01:00:28,000 --> 01:00:31,000 [Nate] End + Hasteko, erabat eskuineko zara. 853 01:00:31,000 --> 01:00:34,000 Wow, erabat goofed dut. Arrazoi duzu. 854 01:00:34,000 --> 01:00:39,000 Ken ginen egiten ari bada, nahi hasteko sartu gehitu nahi dugu 855 01:00:39,000 --> 01:00:43,000 Kasu honetan, oso eskuineko Oraindik bi batez hartu nahi dugu, 856 01:00:43,000 --> 01:00:45,000 beraz, nahi ditugu, aurrean bezala kendu. 857 01:00:45,000 --> 01:00:49,000 [Student] litzateke ere lan egin zenuen amaiera - hasiko / 2 + hasteko. 858 01:00:49,000 --> 01:00:55,000 Do-I badugu uste, beraz, ez litzateke izango. 859 01:00:55,000 --> 01:01:00,000 >> Esate baterako, bila hasten bada, 860 01:01:00,000 --> 01:01:04,000 eta aldatu dugu baino gehiago hemen 861 01:01:04,000 --> 01:01:08,000 15. 862 01:01:08,000 --> 01:01:12,000 Posizioa 2 orain hasiko da. 863 01:01:12,000 --> 01:01:15,000 Amaiera posizioa 7 da. 864 01:01:15,000 --> 01:01:21,000 Kentzen dugu gero, lortuko dugu 5. 865 01:01:21,000 --> 01:01:24,000 Zatiketa 2, 2 lortuko dugu. 866 01:01:24,000 --> 01:01:27,000 Eta gero 2 gehitu dugu berriro, 867 01:01:27,000 --> 01:01:30,000 eta lortzen dituen 4 posizio 868 01:01:30,000 --> 01:01:33,000 hau da, hemen, zein da erdigunea. 869 01:01:33,000 --> 01:01:36,000 [Student] Ez Dokumentua zaindu behar dugu? 870 01:01:36,000 --> 01:01:39,000 Zein zentzu ez itzulbiratzeko-zaindu behar dugu? 871 01:01:39,000 --> 01:01:43,000 Batura edo arteko desberdintasuna bada 872 01:01:43,000 --> 01:01:45,000 nola egiten dugun arabera hori ez da zenbaki bat. 873 01:01:45,000 --> 01:01:49,000 Ondoren, ordenagailua erabat nahastu denean 2,5 da ala ez; 874 01:01:49,000 --> 01:01:52,000 ez mugitu ezkerrera edo eskuinera erdigunea da zehazteko duzu? 875 01:01:52,000 --> 01:01:54,000 Got du. 876 01:01:54,000 --> 01:01:56,000 Bihurtzen da zatiketa osokoaren 877 01:01:56,000 --> 01:01:59,000 ez dugu inoiz koma mugikorreko zenbaki horiek. 878 01:01:59,000 --> 01:02:01,000 Inoiz ez dugu hamartar lortzeko. 879 01:02:01,000 --> 01:02:04,000 Da erabat baztertu egingo da. 880 01:02:04,000 --> 01:02:08,000 Ordenagailu bat behar duzu zatitzen bi aldagaiak int bada, 881 01:02:08,000 --> 01:02:11,000 eta 7 bat da, eta beste 2, 882 01:02:11,000 --> 01:02:13,000 ez duzu 3.5 baten ondorioz. 883 01:02:13,000 --> 01:02:16,000 3 izango da. 884 01:02:16,000 --> 01:02:19,000 Gainerakoa baztertu egingo da, eta, beraz, modu eraginkorrean da biribiltze- 885 01:02:19,000 --> 01:02:24,000 txanda bat ez, baizik eta zoru, you guys ezagutzen badira math dela, 886 01:02:24,000 --> 01:02:27,000 non erabat baztertu hamartarra, 887 01:02:27,000 --> 01:02:31,000 eta, beraz, funtsean zaren da truncating hurbilen 888 01:02:31,000 --> 01:02:33,000 posizioa osoan, dagoen zenbaki osoa. 889 01:02:33,000 --> 01:02:38,000 [Student] Baina orduan dela problematikoa bada, 7 elementu array bat duzulako 890 01:02:38,000 --> 01:02:43,000 Orduan, 3 elementu automatikoki hartzen ordez 4 erdigunea. 891 01:02:43,000 --> 01:02:46,000 Nola aurre egin duten? 892 01:02:46,000 --> 01:02:49,000 Problematikoa izan genuen 7 array bat delako, 893 01:02:49,000 --> 01:02:54,000 ordez 4tik 3 hautatu litzateke. 894 01:02:54,000 --> 01:02:56,000 Ezin izan apur bat gehiago azaldu duzu? 895 01:02:56,000 --> 01:02:59,000 [Student] delako 7 elementu gero, 4 elementu 896 01:02:59,000 --> 01:03:04,000 erdigunea izango litzateke, ezta? 897 01:03:04,000 --> 01:03:07,000 Gogoratu zure iruzkina zero indexatzen ari da, nahiz eta. 898 01:03:07,000 --> 01:03:10,000 [Student] Bai, eta, beraz, posizioa 3. Hori erdigunea izango litzateke. 899 01:03:10,000 --> 01:03:12,000 Bai. 900 01:03:12,000 --> 01:03:16,000 Oh, ados. Ikusten dut, zer esan nahi duzu. 901 01:03:16,000 --> 01:03:19,000 Bitxi mota da lortu dugun bezala, honetan guztian nozioa erabiltzen 902 01:03:19,000 --> 01:03:22,000 hamarren deusezten. 903 01:03:22,000 --> 01:03:26,000 Hori puntu bat da. 904 01:03:26,000 --> 01:03:30,000 Dezagun amaitzeko, hau. 905 01:03:30,000 --> 01:03:32,000 Kalkulatzen dugu gure erdigunea. 906 01:03:32,000 --> 01:03:37,000 >> Gure orratz erdiko balioa berdina bada probatzen ari gara. 907 01:03:37,000 --> 01:03:41,000 Aurkitu dugun inprimatzeko ari gara, baina, benetan, zer egin nahi dugu egoera hau? 908 01:03:41,000 --> 01:03:46,000 Aurkitu dugu, beraz, deitzaileari ezagutzen aurkitu dugun utzi nahi dugu. 909 01:03:46,000 --> 01:03:49,000 Idatzitako funtzio boolear bat da funtzio bat lortu dugu. 910 01:03:49,000 --> 01:03:54,000 Seinalea gure funtzio deitzailearen ari gara prest joan 911 01:03:54,000 --> 01:03:58,000 da, esaten dugu "Hey, hau ez da egia." 912 01:03:58,000 --> 01:04:00,000 Nola egiten dugu, Kevin? 913 01:04:00,000 --> 01:04:02,000 Zure burua ari zara nodding. >> [Kevin] Gehitu bueltan egia. 914 01:04:02,000 --> 01:04:06,000 [Nate] Zehazki, itzultzeko egia. 915 01:04:06,000 --> 01:04:12,000 Orain ez bada, ez da berdina, nola begiratu ezkerreko erdia dugu? 916 01:04:12,000 --> 01:04:16,000 Ideia bat? 917 01:04:16,000 --> 01:04:18,000 Stella, edozein ideia? 918 01:04:18,000 --> 01:04:21,000 , Amaiera posizioa berri bat ezarri behar duzu. 919 01:04:21,000 --> 01:04:23,000 Bai. 920 01:04:23,000 --> 01:04:29,000 Amaiera - Beraz, erdigunea posizioa egin behar dugu. 921 01:04:29,000 --> 01:04:33,000 Great. 922 01:04:33,000 --> 01:04:36,000 Berri bat ezarri behar dugu, amaieran 923 01:04:36,000 --> 01:04:38,000 ezkerreko erdia begiratu. 924 01:04:38,000 --> 01:04:41,000 Hau izan zen, zertaz hitz egin dugu, non aurretik 925 01:04:41,000 --> 01:04:44,000 Adibide honetan mantendu dut. 926 01:04:44,000 --> 01:04:50,000 Dut hasteko hemen, eta, ondoren, amaieran izan dut hemen modu guztiak. 927 01:04:50,000 --> 01:04:53,000 >> Berriz ere, ari gara 15 bila bazabiltza, eta gure erdigunea 16 da, 928 01:04:53,000 --> 01:04:56,000 eta, konturatzen gara "Oops, 16 eta handiagoa da. 929 01:04:56,000 --> 01:04:59,000 Ezkerreko erdia eraman nahi dugu. " 930 01:04:59,000 --> 01:05:02,000 15 amaiera mugitu nahi dugu, orduan, 931 01:05:02,000 --> 01:05:06,000 eta bat hartuz doa erdiko puntua egiten dugu 932 01:05:06,000 --> 01:05:09,000 eta hori gure amaiera berriak ezartzeko. 933 01:05:09,000 --> 01:05:12,000 Era berean, eskuineko erdia begiratu nahi dugu, nola egiten dugu hori? 934 01:05:12,000 --> 01:05:14,000 Ideia bat izan al duzu? 935 01:05:14,000 --> 01:05:22,000 [Student] ezarri besterik ez duzu hasteko + 1 erdigunea. 936 01:05:22,000 --> 01:05:24,000 [Nate] Great. 937 01:05:24,000 --> 01:05:29,000 Eta orain, kasu honetan, ez dugula da aurkitu ezer egin, 938 01:05:29,000 --> 01:05:32,000 ez, hori lortzeko tratua Gurekin? 939 01:05:32,000 --> 01:05:36,000 Daniel, ez duela get tratua Gurekin? 940 01:05:36,000 --> 01:05:38,000 [Daniel] N º 941 01:05:38,000 --> 01:05:40,000 [Nate] egiten badugu array osoa bidez, eta ez dugu ezer aurkitu, 942 01:05:40,000 --> 01:05:42,000 non zela tratua, edo behar den zaindu dugu? 943 01:05:42,000 --> 01:05:44,000 [Daniel] bitartean. 944 01:05:44,000 --> 01:05:48,000 [Nate] Bai, bitartean, hain zuzen. 945 01:05:48,000 --> 01:05:51,000 Array bidez osoa joan arduratuko da ezer aurkitu ez badugu. 946 01:05:51,000 --> 01:05:53,000 Bitartean begizta hau amaituko da. 947 01:05:53,000 --> 01:05:56,000 Ez dugu aurkitu da baldintza hori, 948 01:05:56,000 --> 01:06:03,000 eta itzuli faltsua ahal izango dugu. 949 01:06:03,000 --> 01:06:10,000 Hau ere utzi ahal izango ditugu, hemen hau atsegin dute 950 01:06:10,000 --> 01:06:14,000 izanez gero, bada, adierazpen, egia da, 951 01:06:14,000 --> 01:06:16,000 eta gure funtzioa itzultzeko, 952 01:06:16,000 --> 01:06:21,000 eta, beraz, bertan behera utzi, funtsean dizkizugu puntu honetan funtzio hau 953 01:06:21,000 --> 01:06:24,000 egia itzuliko gara. 954 01:06:24,000 --> 01:06:28,000 Baina zer gertatzen da egitura hau hemen? 955 01:06:28,000 --> 01:06:34,000 Hau izango du lan, oso-osorik, edo ez dago hor flaw logikoa batzuk? 956 01:06:34,000 --> 01:06:37,000 >> Logikoa zenbait akats hor da, bidea sortu. 957 01:06:37,000 --> 01:06:40,000 Zer egin dezake? 958 01:06:40,000 --> 01:06:43,000 [Student] Zergatik behar duzu - eta + 1s? 959 01:06:43,000 --> 01:06:47,000 Hori da gure helburua gure berri ezkerreko erdia eta eskuineko erdia izango array. 960 01:06:47,000 --> 01:06:51,000 [Student] Baina zergatik ezin izan du egin gabe - 1s eta + 1s? 961 01:06:51,000 --> 01:06:53,000 [Nate] ezarri ahal izango ditugu, eta erdigunea berdinak? 962 01:06:53,000 --> 01:07:04,000 Zein da horri buruz problematikoa izan daiteke? 963 01:07:04,000 --> 01:07:08,000 [Student] eraginkorra da ari zaren balio bat dagoeneko egiaztatu delako egiaztapena uste dut. 964 01:07:08,000 --> 01:07:11,000 [Nate] Zehazki, eta, beraz, Sam erabat eskubidea da. 965 01:07:11,000 --> 01:07:15,000 Amaieran bada, eta hasiko da eta erdigunea berdinak 966 01:07:15,000 --> 01:07:18,000 ordez - 1 + 1 erreflexiboki 967 01:07:18,000 --> 01:07:22,000 etorkizuneko uneren batean amaituko dugu erdigunea berriro markatuz. 968 01:07:22,000 --> 01:07:26,000 [Student] pset hasi nintzen, eta, ondoren, horrelako zerbait izan nuen 969 01:07:26,000 --> 01:07:30,000 non ahaztu I + 1, eta got begizta infinitu itsatsita. 970 01:07:30,000 --> 01:07:34,000 Eskuin, uneren delako inoiz ez zaren hasteko eta amaitzeko 971 01:07:34,000 --> 01:07:39,000 benetan bata bestearen gainean. 972 01:07:39,000 --> 01:07:41,000 Cool. 973 01:07:41,000 --> 01:07:44,000 Bat gehiago flaw logikoa da, eta hori da hori behin betiko izan behar 974 01:07:44,000 --> 01:07:48,000 bestela, bat bada. 975 01:07:48,000 --> 01:07:55,000 Zergatik izan liteke hori? 976 01:07:55,000 --> 01:07:59,000 >> Arrazoia da, ez bada, bestela, bat-ez bada, Kevin ikusten duzu? 977 01:07:59,000 --> 01:08:02,000 [Kevin] Bai, azken puntua aldatzen ari duzulako. 978 01:08:02,000 --> 01:08:05,000 [Nate] Zehazki. 979 01:08:05,000 --> 01:08:07,000 Endpoint aldatzen ari gara, 980 01:08:07,000 --> 01:08:12,000 eta-we'll hau atsegin dute idatzita egin espazio-arteko 981 01:08:12,000 --> 01:08:14,000 Kasu honetan egiaztatu egingo du. 982 01:08:14,000 --> 01:08:18,000 Kasu honetan, arrakastatsua izan bada, abortatu egingo da funtzioa. 983 01:08:18,000 --> 01:08:21,000 Ondoren, hurrengo kasu honetan egiaztatu du, 984 01:08:21,000 --> 01:08:24,000 eta hau arrakastasua bada, endpoint egokitu egingo da, 985 01:08:24,000 --> 01:08:28,000 eta, ondoren, jarraitu egingo du, eta kasu honetan egiaztatu. 986 01:08:28,000 --> 01:08:31,000 Baina puntu honetan, ez dugu nahi jarraitu egiaztapena da. 987 01:08:31,000 --> 01:08:35,000 Zorionez, ez dugu berrezarri erdigunea hemen, 988 01:08:35,000 --> 01:08:39,000 eta kasu honetan ez du arrakasta ezagutzen dugu. 989 01:08:39,000 --> 01:08:44,000 Baina beste jarri nahi dugu behin betiko ez bada, 990 01:08:44,000 --> 01:08:48,000 nahiz eta, agian kasu honetan 991 01:08:48,000 --> 01:08:52,000 ari gara, ez baita erdigunea egokituz gero, egiten duten diferentzia? 992 01:08:52,000 --> 01:08:54,000 No, kasu horietan esklusiboa direlako. 993 01:08:54,000 --> 01:08:58,000 Berriz ere, nire txarra. 994 01:08:58,000 --> 01:09:01,000 Ez dugu, uste dut, bestela, behar izanez gero. 995 01:09:01,000 --> 01:09:05,000 Ematen saiatu eta exekutatu eta zer gertatzen den ikusi ahal izango dugu. 996 01:09:05,000 --> 01:09:08,000 Eraikuntza, akats bat gertatu da. 997 01:09:08,000 --> 01:09:12,000 Izango da seguru asko utzi nuen hauek b eta e delako hemen. 998 01:09:12,000 --> 01:09:14,000 Sortu duten edozein daukat goialdean? 999 01:09:14,000 --> 01:09:16,000 Ez du itxura. 1000 01:09:16,000 --> 01:09:20,000 Txikiagotzeko dugu, eraiki, 1001 01:09:20,000 --> 01:09:24,000 ez doa, beraz, gaur egun 15 gara bilatu izanez gero, 1002 01:09:24,000 --> 01:09:28,000 bai. 1003 01:09:28,000 --> 01:09:30,000 Demagun sartu urruntzeko me 1004 01:09:30,000 --> 01:09:33,000 15, bai. Exekutatu ahal izango dugu berriro. 1005 01:09:33,000 --> 01:09:36,000 Iturburu-kodea kargatzen, eraikitzen ari. 1006 01:09:36,000 --> 01:09:41,000 Zerbait bilatu ahal izango ditugu, 13 bezala, 1007 01:09:41,000 --> 01:09:45,000 Gurekin dela, eta ez gara ezer inprimatzeko, eta, beraz, ez da aurkitzeko. 1008 01:09:45,000 --> 01:09:51,000 Hori da, ez delako gure zerrendan. 1009 01:09:51,000 --> 01:09:53,000 >> Denboraz kanpo gara. 1010 01:09:53,000 --> 01:09:55,000 Hori izango da aste honetan. 1011 01:09:55,000 --> 01:10:00,000 Eskerrik asko, sartu eta ikusiko duzu beranduago. 1012 01:10:00,000 --> 01:10:02,000 >> [CS50.TV]