[Musika jotzen] Irakaslea: Ondo da. Hau CS50 da, eta hau da hiru aste bukaeran zehar. Beraz, hemen gaude gaur, ez Sanders Antzerkia, ordez Weidner liburutegian. Horietatik Inside estudio bat da Hauser Studio bezala ezagutzen, edo Studio H erranen dugu, ala Txiste hori gozatu baduzu esaten dugu, benetan da bertatik ikaskide, Mark, online, duten bezainbeste iradoki Twitter bidez. Orain zer buruz cool Hemen izateaz estudio batean dela berde horiek naiz inguratuta hormak, pantaila edo gako-kromatikoa berde bat, nolabait esateko, eta horrek esan nahi CS50 duten Ekoizpen taldeko, me unbeknownst oraintxe, barkatu izan daiteke Niri gehien munduko edozein lekutan, onerako zein txarrerako. Orain zer datza aurretik, arazoa ezarri Zure eskuetan bi da aste honetan, baina arazoa ezarri Hiru datorren astean, izango duzu desafioa egingo Partiduko 15 deiturikoak, alderdi horren aldeko zahar bat jasotzeko gogoratzen dezakezu Hori sorta oso bat du, haur bat bezala Hori irristatu gora, behera zenbakien, ezker eta eskuin, eta hutsune bat da Puzzlearen, barruan zein sartu duzu benetan puzzle pieza horiek irristatu. Azken finean hau jasoko duzu erdi ausazko ordena batzuetan ere nahasten, eta helburua da ordenatzeko zen, goitik behera, Ezkerretik eskuinera, batetik modu guztiak 15 bidez eman. Zoritxarrez, ezartzeko egingo eskuz duzu dago software izango da oinarritzen da, ez fisikoki. Benetan ari zaren den idatzi behar joan kode horrek, ikaslea edo erabiltzaile can batekin 15 partida jokatzeko. Eta hain zuzen ere, hacker-en 15 partida edizioan, ezartzea erronka bat izango zara, ez soilik eskola zaharra honen erreprodukzioa Joko, baizik eta ebazteko Da, jainko moduan gauzatzeko, nolabait esateko, egia esan, Puzzlearen konpontzen gizakiaren alde, emanez iradokizun batekin, iradokizun ondoren, iradokizun ondoren. Beraz, hurrengo astean gehiago. Baina zer dago aurretik da. Oraingoz, gogora ekarri du lehenago aste honetan cliffhanger hau izan genuen, bada, Horren bidez, onena egiten ari ginen ordenatze jakintsua goiko handietako bat lotu n o zen karratu. Beste era batera esanda, burbuila ordenatu, aukeraketa ordenatu, txertatzeko ordenatu, horiek guztiak, ezberdinak bitartean horien ezartzea ere, n bat devolved karratu exekutatzen Kasu oso txarrenean denbora. Eta, oro har, bere gain hartzen dugu, ordenatzeko kasuan oso txarrena Zure sarrera dela dira erabat atzera. Eta hain zuzen ere, urrats batzuk nahiko hartu zuen algoritmo horietako bakoitza ezartzeko. Orain klasearen amaieran oroitzapen, burbuila moduko aldean dugu aukeraketa bat bestearen aurka moduko aurka merge garai hartan, izenez duguna, eta hori egiten ari da proposatzen dut Aste ikasgai bat oso ondo zero, zatitu eta irabazi. Eta, nolabait, nolabaiteko lortzea logaritmikoa denbora, azken finean, korrika, zerbait ordez soilik quadratic da. Eta ez da nahiko logaritmikoa, Hori baino pixka bat gehiago da. Gogora class batetik bada, ordea, Askoz zen, askoz azkarrago. Ikus dezagun non utzi dugun begirada bat. Burbuila ordenatu aukeraketa versus moduko batu ordenatu versus. Orain guztiak, exekutatzen ari dira ere Teorian, aldi berean. PUZak abiadura berean exekutatzen ari da. Baina sentitu ahal izango duzu nola aspergarria honetan hau da, oso azkar joan bihurtu da, eta nola azkar, betiere injektatu dugu Aste zero en algoritmoak apur bat, Gauzak ahal azkartuko dugu martxan. Beraz, marka moduko itxura harrigarria. Nola daiteke onura dugu, ordena zenbakiak azkarrago ordenatzeko. Beno uste atzera utzi osagai bat behar dugula Atzera izan aste zero, duten Norbait bilatzen telefono-liburu batean, eta hori, gogora ekarri pseudocode proposatu dugu, horren bidez aurkitu ahal izango dugu Mike Smith bezalako norbait, honen antzeko zerbait apur bat begiratu. Orain hartu bereziki begirada bat lerroan 7 eta 8an, eta 10 eta 11, bertan amaitzen da hori bultzatu, zeinaren mantenduko dugu 3. lineak atzera joan berriro, eta berriro, eta berriro. Baina bihurtzen da hori ikusteko aukera izango dugu Algoritmo hau, hemen pseudocode, apur bat gehiago pelikula. Izan ere, zer egiten dit Hemen da pantailan at, bilatuta algoritmo bat da Mike Smith orri multzoa batzuen artean. Eta hain zuzen ere, hori errazteko genezake 7 eta 8 lerro horiek ere bildu, eta 10 eta 11 besterik esan honi, Horrek dut hemen aurkezten Nik horiz. Beste era batera esanda, bada Mike Smith lehenago liburua da, ez dugu behar urratsa zehazteko aukera Pausoz orain nola haren bila joan. Guk ez dugu izan den zehaztu atzera joan linea 3, zergatik ez dugu besterik ordez, esan, gehiago, oro har, bilatu Mike for the in ezker liburuaren erdia. Aitzitik, Mike bada benetan liburuan geroago, zergatik ez aipatu dugu besterik unquote bilaketa Mike eskubidea liburuaren erdia da. Beste era batera esanda, zergatik ez dugu besterik Sort geure esanez punt, bilatu Mike dagoen honetan Liburuaren azpimultzo, eta utzi gure lehendik Algoritmo gurekin kontatzeko nola bilatu Mike batean ezker liburu erdia. Bestela esanda, gure algoritmoa egiten du lan egiten duten Telefono lodiera honen liburu bat, honen lodiera edo inolako lodiera. Beraz errekurtsiboki ahal dugun define algoritmo hau. Beste era batera esanda, on the pantaila hemen, algoritmo bat da Mike Smith bilatzeko Telefono liburu baten orrialde artean. Beraz, linea 7 eta 10, dezagun besterik esan zehazki hori. Eta epe honetan une bat erabiltzen dut ago, eta, hain zuzen ere, errekurtsio buzzword da oraingoz, eta prozesu hori da Zerbait zikliko egiten nolabait arabera dagoeneko duzula kodea erabiliz, eta berriro deituz, eta berriro, eta berriro. Orain, garrantzitsua izango da nolabait behean dugun egindako, eta ez egin, infinituki luzea. Bestela goaz dute, hain zuzen ere, begizta amaigabea. Baina ikus dezagun ideia hori maileguan hartu ahal bada errekurtsio bat, zerbait egiten berriro eta behin eta berriro, konpondu ordenazio-merge bidez arazoa ordenatu, guztiak modu eraginkorrean. Beraz moduko batu ematen dizut. Ikus dezagun begirada bat. Hortaz, hona hemen pseudocode da, batez bertan ordenatzen den ezartzeko izan dugu, sort batu izeneko algoritmo honen bidez. Eta nahiko besterik gabe hau da. N elementuen sarrera, beste era batera esanda, ez bazaude Emandako n elementu eta zenbakiak eta hizkiak edo edozein dela ere sarrera da, n elementuak, bada ematen ari bada n 2 baino gutxiago, besterik gabe. Eskuin? N bada delako 2 baino gutxiago, Horregatik, nire elementu zerrenda tamaina 0 edo 1 bai da, eta Kasu horietan trivial bietan, Zerrenda dagoeneko ordenatuko da. Ez bada zerrenda ez da ordenatuko da. Eta han luzera zerrenda bat bada 1, jakina ordenatuko. Beraz algoritmoa bakarra behar du benetan zerbait interesgarria egiten, bi edo gehiago izanez dugu elementu ematen digu. Hargatik begiratu magia gero. Bestela elementuak ezkerreko erdia ordenatzeko, ondoren, eskuineko elementu erdia ordenatzeko, ondoren batu ordenatuko halves. Eta zer da kontuan mota okertuz Hemen, ez da hori egiten dut benetan Gezurra dela esan duzu ezer besterik ez da oraindik, ezta? Guztiak esan dut da, zerrenda bat ematen n elementu, ordenatzeko ezkerreko erdia, ondoren, eskuineko erdia, gero batu ordenatuko halves, baina non benetako saltsa sekretua? Non dago algoritmoa? Beno, bihurtzen da, bi lerro horiek direla Lehenengo, ordenatu geratzen elementu erdia, eta ordenatu eskuineko elementu erdia, dira dei errekurtsiboak, nolabait esateko. Azken finean, hau, Une, ez dut izan horrekin algoritmo bat ordenatzeko elementu sorta oso bat? Bai. Hemen da. Hemen da pantailan, eta beraz, urrats multzo hori bera erabili ahal izango dut ezkerreko erdia ordenatzeko, eskuineko erdia ahal dudan bezala. Eta hain zuzen ere, berriro, eta berriro. Beraz, nola edo hala, eta laster izango ditugu ikusi hau, batu, ordenatu magia hau da, oso final murgildurik lerroa, erdi ordenatuko batuz. Eta hori, badirudi nahiko intuitiboa. Bi erdi hartzen duzu, eta zuk, Nolabait, batu itzazu elkarrekin, eta ikusiko dugu hau Une batean konkretuki. Baina hau algoritmo bat da. Eta ikus dezagun zehazki zergatik. Pentsatzen ari garela horien eman Zortzi elementu hemen pantailan, inork Zortzi bidez, baina ari dira itxuraz ausazko ordenan. Eta esku helburua da elementu horiek ordenatzeko. Beno, nola egin daiteke hori itzultzea erabiliz egiten, berriro, batu, ordenatu, pseudocode honen arabera? Eta berriro ere, ingrain honetan zure kontuan, une bat besterik ez da. Lehenengo kasuan, nahiko da trivial, 2 baino gutxiago bada, besterik ez itzultzeko, ez dago lan egin behar da. Beraz, benetan, ez da, besterik gabe, hiru urrats benetan gogoan. Berriz ere, eta berriro, naiz izan nahi du ezkerreko erdia ordenatzeko, eskuineko erdia ordenatzeko, eta, ondoren, behin bere bi erdi antolatuko dira, Horiek elkarrekin batu nahi dut Zerrenda ordenatuko bat sartu. Beraz, kontuan izan hori. Beraz, hemen jatorrizko zerrenda da. Dezagun tratatzeko gisa array, hasi bezain dugu Aste bi urtean, hau da, bat Alboko memoria bloke. Kasu honetan, zortzi dituen zenbakiak, back to back back. Eta utzi batu ordenatu aplikatu en orain. Beraz, lehenengo ordenatzeko nahi dut ezker zerrenda honen erdia, eta dezagun, beraz, 4, 8, 6, eta 2 ardatz. Orain, nola ez, hori itzultzea tamaina 4 zerrenda bat ordenatzen den? Beno, orain kontuan hartu behar dut sailkatuz, ezkerreko erdia ezkerreko. Berriz ere, dezagun Errebobinatu une bat besterik ez da. Pseudocode da hau bada, eta naiz zortzi elementu jakin nuen, 8 da, jakina, handiagoa edo baino 2 berdina. Beraz, lehenengo kasuan ez da aplikatzen. Beraz, zortzi elementu ordenatzeko, I lehen ezker elementu erdia ordenatzeko, ondoren, eskuineko erdia ordenatzeko nuen, orduan batu I ordenatzen bi erdi, tamaina 4 bakoitzeko. ONDO DA. Baina besterik ez duzun esan zidan bada, ordenatu ezkerreko erdia, orain tamaina 4 da, nola ez dut ezkerreko erdian ordenatzeko? Beno bat badut lau elementuen sarrera, Lehenengo ordenatzeko I ezkerrera bi, ondoren, eskuineko bi, eta, ondoren, horiek batzea dut elkarrekin. Beraz, berriro ere, pixka bat bihurtzen da kontuan okertuz Joko hemen, duzulako, mota, dute Gogoratzen non daude istorioan duzu, baina egunaren amaieran, emandako edozein elementu kopurua, Lehenengo ordenatu nahi duzu ezker erdia, gero eskuineko erdia, orduan batu itzazu elkarrekin. Hasiko da zehazki hori egin dezagun. Hemen zortzi elementuen sarrera da. Orain ari gara ezker erdia hemen bila. Zelan lau elementu ordenatzeko? Beno lehen ezkerreko erdian ordenatzeko dut. Orain, nola ez nuen ezkerreko erdian ordenatzeko? Beno Nik bi elementu. Hargatik bi elementu horiek ordenatzeko. 2 baino handiagoa edo 2 berdina, noski. Beraz, lehenengo kasuan hori ez da aplikatzen. Beraz, orain ezkerrera ordenatzeko behar dut Bi elementu horien erdia. Ezker hamabostaldian, jakina, besterik 4 da. Beraz, nola ez, elementu bat zerrenda bat ordenatzeko dut? Beno, gaur egun, hori oinarri kasu bereziak Gora gora, nolabait esateko, aplikatzen. 1 2 baino gutxiago da, eta nire Zerrenda 1. Tamaina, hain zuzen. Beraz itzultzeko besterik ez dut. Ez dut ezer egin. Eta hain zuzen ere, zer egin dut begiratu egin, 4 dagoeneko ordenatuko da. Like naiz jada partzialki hemen arrakasta. Orain dela ergelak mota badirudi , diotenez, baina egia da. 4 tamaina 1 zerrenda bat da. Badago ordenatuta. Hori ezkerreko erdia. Orain eskuineko erdia ordenatzeko dut. Nire sarrera-elementu bat da, 8 era berean, dagoeneko horrela. Stupid, gehiegi, baina berriro ere, Oinarrizko printzipio hori da orain eraikitzeko gurekin uzten joan honen gainean arrakastaz. 4 ordenatuko 8 ordenatzen da, orain Zer izan zen azken urrats hori? Beraz, hirugarren eta azken urratsa, edozein Garai batean zerrenda, abisuaren arabera ordenatzeko ari zaren, bi erdi batzea zen, ezker eta eskuin. Beraz, egin zehazki hori utzi. Nire ezkerreko erdia da, jakina, 4. Nire eskuineko erdia 8 da. Beraz, egin dezagun. Lehen naiz esleitu joan memoria pixka bat, hemen adierazten dut, bigarren mailako array bat besterik ez bezala, Hori nahikoa handi honek doitzeko da. Baina zabalduz imajinatu dezakezu Laukizuzen duten luzera osoan, gehiago beranduago behar izango bagenu. Zelan 4 hartzen dut eta 8, eta batu bi tamaina 1 elkarrekin zerrendak horiek? Hemen ere, nahiko erraz. 4 dator lehen, orduan dator 8. Ordenatu nahi badut delako ezker erdia, gero eskuineko erdia, eta, ondoren, bi erdi horiek batzea elkarrekin, ordena ordenatuko, 4 dator lehen, orduan dator 8. Beraz, ezin aurrera egiten badirudi dugu, nahiz eta Ez dut, nahiz eta benetako lana egiten. Baina gogoratu, non daude istorioa dugu. Jatorriz zortzi elementu hartu genuen. Ezkerreko erdia, bertan 4 da ordenatuko dugu. Ondoren ezkerreko erdia ordenatuko dugu Ezkerreko erdia, 2 izan zen. Eta hemen dugu joan. Urrats hori egiten ari gara. Beraz, ez dugu ordenatuko bada egin nondik 2 erdia utzi, orain dugu Justu 2 erdia ordenatzeko dute. Beraz, eskuineko 2ko erdia da Bi balio horiek hemen, 6 eta 2. Hargatik tamaina sarrera bat hartu, orain 2, eta ezkerreko erdia ordenatzeko, eta orduan eskuineko erdia, eta, ondoren, batu itzazu elkarrekin. Beno, nola ez, tamaina zerrenda bat ordenatzeko I 1, besterik kopuruaren 6 duten? Jadanik naiz. Tamaina 1 zerrenda hori horrela antolatu du. Zelan zerrendan beste ordenatzeko I tamaina 1, eskuineko erdia deiturikoak. Beno, gehiegi, dagoeneko antolatuta dago. 2 zenbakia da eta hori dela. Beraz, orain bi erdi daukat, ezkerreko eta eskubidea, horiek elkarrekin batu behar dut. Neure burua ematen dit beste tarte batzuk. Eta jarri 2 han, gero 6 han ere, horrela zerrenda ordenatzen duten, ezker eta eskuin, eta elkarrekin batuz, azken finean. Beraz nago forma zertxobait hobeto hasi nintzen. Ez dut egin, ez delako argi eta garbi 4, 8, 2, 6 ez da azken agindu nahi dut. Baina bi tamaina 2 zerrendak daukat orain, hori bai, hurrenez hurren, ordenatu dira. Beraz, orain atzera egin duzu zure burua hamarkadaren bada Begia, non ez duten utzi digu ba? Hasi nintzen zortzi elementuekin, ondoren I whittled da ezker 4 erdia, ondoren ezker 2ko seihilekoan, eta ondoren, eskuinera 2ko seihilekoan, , Amaitu nuen, hortaz, ordenatzeko ezkerreko nondik 2 erdia, eta eskuineko 2ko seihilekoan, beraz, zer da hirugarren eta azken urratsa hemen? Elkarrekin batu behar dut bi tamaina 2 zerrendak. Beraz, goazen aurrera. Eta pantaila hemen, eman me memoria pixka bat, teknikoki arren, konturatu nintzen, amesten Espazio ireki hutsik goi-sorta oso bat lortu han. Batez ere, izan nahi dut bada espazio eraginkor jakintsua, Besterik ezin dut hasteko elementu mugituz atzera eta aurrera, goian eta behean. Baina besterik bisuala argitasuna, Jarri behera beheko noa, mantendu gauza polita eta garbi. Beraz, bi tamaina 2 zerrendak lortu nuen. Lehenengo zerrendatik 4 eta 8 ditu. Bigarren zerrenda 2 eta 6 ditu. Dezagun batu en horiek elkarrekin ordena ordenatuko. 2, jakina, lehenik, ondoren, 4, gero 6, gero 8. Eta orain, ikusten denez, badirudi dugu nonbait interesgarria. Erdia Orain ordenatuak Nik zerrendatu, eta coincidentally, da zenbakiak are guztia, baina hori da, hain zuzen ere, kointzidentzia bat besterik. Eta orain, ezkerreko ordenatuko ditut erdia, beraz, 2, 4, 6, 8 eta dela. Nothing ordena da. Hori aurrerapen bezala sentitzen. Orain ez dut sentitzen atsegin dute orain betiko hizketan, beraz, zer den hau bada ikusi behar izaten jarraitzen du algoritmoa da, hain zuzen ere, eraginkorragoa. Baina bidez goaz super metodikoki da. Ordenagailu bat, noski, hala egin behar duten bezala. Beraz, non gauden? Zortzi elementuekin hasi ginen. Ezker 4 erdia ordenatuko dut. Hori egin behar izan dut. Beraz, orain, hurrengo urratsa da eskuin 4 erdia ordenatzeko. Eta zati hau gaitezke Gehiago txiki baten bidez Azkar, zaren arren ongietorri atzeratzeko edo eteteko, besterik Bidez uste at Zure erritmo propioa du, baina zer orain aukera bat da dugun lau on zehatza algoritmo bera egin zenbakiak ezberdinak. Beraz, goazen aurrera, eta arreta eskuineko erdia, hemen gaude. Ezker duten erdia eskuineko erdia, eta, gaur egun, ezker ezkerreko erdia eskuineko erdia horren erdia, eta nola ez, tamaina zerrenda bat ordenatzeko I 1 besterik 1 zenbakia daukan? Hori dagoeneko egin. Zelan zerrenda bat bera egin nuen tamaina 1 7 besterik ez geratzeko? Hori dagoeneko egin. Hiru urrats Zati hau egiteko orduan bi elementu horiek batzeko tamaina 2, 1 eta 7 zerrenda berri batera. Ez dirudi guztia egin izana Hori askoz ere lan interesgarri. Ea zer gertatzen den hurrengo dezagun. Ezkerraldeko erdia ordenatuko dut nire jatorrizko sarrera erdia. Orain dezagun ordenatzeko eskubidea erdia, izanez 5 eta 3 bertan. Dezagun ezker begiratu berriro erdia, ordenatuta, eskuineko erdia, ordenatuta, eta batu bi horiek elkarrekin, espazio osagarriak batzuk sartu, 3 dator lehen, orduan 5. Eta, beraz, gaur egun, ordenatuko ditugu ezkerretik eskuinera erdi erdia Jatorrizko arazoekin, eta eskuineko erdia erdia Jatorrizko arazoekin. Zer da hirugarren eta azken urratsa? Beno bi erdi horiek elkarrekin batzeko. Beraz Neure burua me batzuk tarte, baina, berriz ere, I Espazio ireki ordezko goi-ak erabiliz, izan daiteke. Baina ari gara mantentzeko joan ikusmen sinplea da. Dezagun batu orain 1 in me, eta ondoren, 3, eta, ondoren, 5, eta, ondoren, 7. Horrela me utziz orain batera eskubidea jatorrizko arazoa erdia hori ezin hobeto ordenatuta. Beraz, zer geratzen? Esanez mantentzeko sentitzen dut Gauza bera berriro, eta berriro, baina hori islatzaileak Izan ere errekurtsio erabiltzen ari garela. Bat erabiliz prozesua Algoritmo berriro, eta berriro, azpimultzoak txikiagoan jatorrizko arazoa. Beraz, orain dute ezker bat ordenatuko dut jatorrizko arazoa erdia. I a eskubidea ordenatuko erdia dute Jatorrizko arazoekin. Zer da hirugarren eta azken urratsa? O, batuz da. Beraz, utzi egin dutela. Dezagun esleitu gehigarri batzuk memoria, baina nire Jainkoa, dugu edozein lekutan jarri ahal izan dute. Hainbeste espazio dauzkagu guretzat, baina simple mantentzeko egingo dugu. Horren ordez atzera egingo du eta dagozkio gure jatorrizko memoria, dezagun, besterik ez da egin ikusmen hemen behean behera, Amaitzeko batuz ezkerreko erdia eta eskuineko erdia. Beraz batuz, zer egin behar dut? Elementuen hartu ahal izateko egin nahi dut. Beraz, ezkerreko erdia begira, Ikusi nuen lehenengo zenbakia 2 da. Begiratu eskuineko erdia dut, Lehenengo zenbakia ikusi dut da 1, beraz, jakina, eta horrek kopurua ez out pluck nahi dut, eta lehenik nire final zerrendan? Jakina, 1. Orain galdera hori bera eskatu nahi dut. Ezkerreko erdia, dut oraindik 2 zenbakia lortu. Eskuineko erdia, Ohizko I 3 zenbakia. Zein da aukeratu nahi dut? Jakina, multzoko 2 Eta orain konturatu hautagaien 4 ezkerretara, 3 eskuinera gainean. Dezagun, jakina, aukeratu 3. Orain hautagaien 4 dira ezkerretik, 5 eskuin hegaletik. Dugu, jakina, aukeratu 4. 6 ezkerreko, 5 eskuinera gainean. Dugu, jakina, aukeratu 5. 6 ezkerreko, 7 eskuinera gainean. Aukeratu dugu 6, eta, ondoren, dugu aukeratu 7, eta, ondoren, aukeratu dugu 8. Voila. Beraz, hitz kopuru handi bat geroago, dugu Zortzi elementuen zerrenda hau horrela antolatu dute Bat zerrenda bat zortzi bidez sartu, hori da urrats bakoitzean handituz, baina denbora zenbat egin gurekin eraman ez da egin behar. Beno nahita dizkiat ezarritako gauzak egindako Pictorially Hemen, beraz, ezin dugu motatako ikusi edo maila balioetsi konkistatu hori gertatzen ari. Atzera begiratuz, egia baldin bada estela batean, Puntuzko lerro hauek guztiak utzi dut argumentu gehi ere, ahal duzun, mota, ikusi, alderantzizko ordenan, motatako baduzu, atzera begiratu batean historia, gaur egun, nire jatorrizko zerrenda da, noski, tamaina 8ko. Eta gero, aldez aurretik, izan dut bi tamaina 4 zerrendak aurre, eta, ondoren, lau tamaina 2 zerrendak, eta, ondoren, zortzi 1. Tamaina zerrendak. Beraz, zer egiten duen honetan, mota, gogorarazi nahi duzula? Beno, egia esan, edozein algoritmoak dugu beraz, ez dago begiratu non gauden arrail, eta zatiketak, eta arrail, mantentzeko gauzak berriro, eta Berriro ere, ideia orokor horren emaitzak. Eta beraz, ez zerbait logarithmic gertatzen da hemen. Eta ez da n erregistroa nahiko, baina ez logarithmic osagai bat da Zer besterik ez dugu egin behar. Orain ikus dezagun nola hori benetan da. Beraz, saioa n, berriro izan zen a lasterketak denbora handia, denean antzeko zerbait egin dugu bilaketa bitarra, orain deitu dugun bezala, Banatu eta agindu estrategiaren bertan bidez Mike Smith aurkitu dugu. Orain teknikoki. Hori log base 2 n, are matematikako klase gehienetan, nahiz eta, Oinarriaren gain hartzen duzu hori normalean 10 da. Baina informatikariak ia beti Uste eta 2 base dagokionez hitz, beraz, dugu, oro har, esan erregistroa n, ordez log base 2 n, baina zehazki bat eta ari dira ordenagailuaren munduan bera zientzia eta alde batera utzita, han konstante bat da Bien arteko aldea, beraz, Moot hala ere, arrazoi formal gehiagorako. Baina orain, zer zaintzen dugu buruzko adibide hau. Hargatik adibide moduan frogatu ez, baina, Gutxienez zenbakiak adibide bat erabili orain zuk izango behatu kontrol gisa, bada. Beraz, aldez aurretik formula log base zen 2 n da, baina zer da, kasu honetan, n. Zenbakiak n original izan nuen, edo 8 jatorrizko zenbakiaren zehazki. Orain izan da apur bat bitartean, baina nago nahiko Ziur log base 2 balioa 8 3 da, eta hain zuzen ere, zer da hori da polita 3 hori zehazki zenbat aldiz da Zerrendako banatu dezakezu luzera 8ko berriro, eta berriro, eta berriro, zu utzi arte tamaina besterik 1 zerrendak. Eskuin? 8 4 doa, 2 doa, 1 doa, eta hori da, zehazki hori islatzen Irudian duela une bat besterik ez dugu izan. Beraz, behatu apur bat non behar bezala egiaztatu logaritmoa benetan parte hartzen ari da. Beraz, orain, zer gehiago da hori? n. Beraz, konturatu bakoitza denbora zerrendan zatitu dut, historian alderantzizko ordenan arren Hemen, oraindik n gauzak egiten ari nintzen. Eskatzen batuz urratsa dagoela Behin zenbakietako bat ukitu dut, Ahal izateko, irristatu sartu bere kokapen egokia. Beraz, nahiz eta honen altuera diagram tamaina n erregistroa edo 3 n da, Zehazki, beste era batera esanda, Hiru dibisio egin nuen hemen. Zenbat lan horizontalki egin nuen Taula honetan, aldi bakoitzean zehar? Beno, n urratsen egin nuen lan, Dut bada delako lau elementu eta lau elementu lortu, eta horiek elkarrekin batu behar dut. To bidez joan behar dut horietako lau eta lau horiek, azken finean, batu Zortzi elementu zituelarik. Nik lortu zortzi behatzak alderantziz bada Zortzi hemen baino, eta hori ez dut, eta fingers-- barkatu dut bada lau behatzak lortu hemen baino gehiago, bertan egin nuen, lau behatzak hemen baino, eta hori ez dut, ondoren, hori bera da Adibidez, lehen bezala, ez dut Zortzi behatzak ere, nahiz eta guztira, eta horrek ezin dut, mota, egin. I zehazki egin dezakezu hemen, orduan, zalantzarik gabe, ezin dut batu zerrenda horiek guztiak tamaina 1 elkarrekin. Baina zalantzarik ez dut begiratu Elementu bakoitzean zehazki behin. Beraz, prozesu hori altuera log n da, Prozesu honen zabalera, nolabait esateko, n, beraz, zer egin behar dugu, badirudi , izan, azken finean, da exekutatzen tamaina n aldiz garaia izan log n. Beste era batera esanda, banatzen dugu izan zerrendan, log n aldiz, baina, aldi bakoitzean egin dugu, izan genuen behin elementuetako bat ukitzeko Ordena horiek batzea ere guztiak elkarrekin, eta horrek Urrats n zen, beraz, ez dugu izan n aldiz log n, edo ordenagailu zientzialari batek esaten duen bezala, asintotikoki, bertan Hitz handia izango litzateke goiko deskribatzeko Iraupena batean lotuak, dugu o handi batean exekutatzen ari log n garaiko, nolabait esateko. Azken hau da esanguratsua, zeren gogoratzen zer zen martxan ziren aldiz burbuila ordenatu, eta aukeraketa ordenatu, eta txertatzeko ordenatu, eta beste batzuk, nahiz eta batzuk existitzen dela, n karratu zen eta bertan izan ziren iristen gara. Eta dezakezu, mota, ikusi hau hemen. N karratu bada, bistan da, n aldiz n, baina hemen dugu n aldiz log n, eta dagoeneko ezagutzen astetik dugu zero, log n, logaritmikoa du, Zerbait lineala baino hobea da. Azken finean, gogora ekarri irudian gorria eta horia batera eta lerro berdea marraztu dugu, berdea logarithmic lerro askoz txikiagoa izan da. Eta, beraz, askoz ere hobeto eta azkarrago lerro horia eta gorria zuzen baino, n aldiz log n da, hain zuzen ere, hobeto, n aldiz baino n, edo n karratu. Beraz, egin behar dugu, antza Algoritmoa merge bat identifikatu moduko hori askoz exekutatzen denbora azkarrago, eta, hain zuzen ere, horregatik, lehenago aste honetan, denean burbuila arteko lehiaketa dela ikusi genuen ordenatu, aukeraketa ordenatu, eta batu ordenatu, batu sort benetan, benetan irabazi. Eta hain zuzen ere, ez dugu, nahiz itxaron burbuila ordenatu eta hautaketa ordena for amaitzeko. Dezagun orain beste pass bat hori dela eta, apur bat gehiago batetik ikuspuntu formal, besterik ere Kasu, hau hobe resonates maila hori handiagoa eztabaida baino. Beraz, hemen da berriro algoritmoa. Galde diezaiogun geure buruari, zer ari da denbora hau algoritmoek hainbat urratsen da? Dezagun zatitzea lehenengo sartu Kasu eta bigarren kasuan. Baldin eta, bestela, kasu honetan, IF N 2 baino gutxiago, besterik gabe. Etengabeko denbora bezala sentitzen. Da, mota, bi urrats bezala, IF N 2 baino gutxiago, gero itzultzeko. Baina, esan bezala, astelehena, etengabeko denbora, edo big 1 o, bi urrats, hiru izan daiteke pausoak, nahiz eta 1.000 urrats. Zer axola, hori da etengabeko urrats ematen. Beraz, horia nabarmenduta pseudocode Hemen doa, dugu guk esaten, etengabeko denbora. Beraz, formalki, eta hau zaie goaz norainokoa izango den bertan dugu formalizatzeko eskuin hau da gaur egun n T, exekutatzen arazo baten denbora Hori n Somethings hartzen sarrera gisa, berdinen handi bateko o, IF n 2 baino gutxiago. Beraz, hori baldintzatzen da. Beraz, argi izan, IF n baino txikiagoa 2, zerrenda oso labur bat egin behar dugu, eta gero Iraupena, T-ren n, non n dago 1 edo 0, kasu oso zehatz honetan, besterik ez da, etengabeko denbora izango da. Honez bat hartu du urratsa, bi urrats, edozein dela ere. Urrats kopuru finko bat da. Beraz, parte mamitsuena behar da ziur aski izango da beste pseudocode kasua. ELSE kasua. Sort ezkerreko elementu erdia, ordenatu eskubidea elementu erdia, batu ordenatuko halves. Zenbat denbora pausu horietako bakoitzean hartu du? Beno, lasterka bada n elementu ordenatzeko denbora da, dezagun oso deitzeko oro, n T, gero sailkatuz, ezkerreko elementuak erdia da, mota, esanez bezala, N T 2 banatuta, eta, era berean, eskuineko erdia ordenatzeko elementuen da, mota, esanez bezala, N T banatzen 2, eta, ondoren, erdi ordenatuko batuz. Beno I got bada batzuk elementu kopurua hemen, atsegin lau, eta zenbaki batzuk Hemen elementuen, lau bezala, eta lau horietako bakoitzaren batu behar dut , eta horiek lau bakoitzak, bat ere bestearen atzetik, eta, beraz, azken finean, zortzi elementu daukat. Sentitzen bezala hori da big n urratsen o? Nik lortu n behatzak eta bakoitzak badu leku bakarrean elkartu egon ondoren, Hori n urrats beste bat bezalakoa da. Beraz, hain zuzen formulaically, hau adierazteko aukera izango dugu, hasiera batean scarily apur bat bada ere begiratu, baina zerbait da harrapatzen zehazki logika hori. Exekutatzen berea, T-ren n, IF n 2 baino handiagoa edo berdina da. Kasu honetan, beste kasu batean, n T da 2. arabera, plus T N 2 arabera banatzen banatuta, plus big n O, zenbait urrats kopurua lineala, agian, zehazki n, agian, 2 aldiz n, baina gutxi gorabehera da, n ordena. Beraz, hori ere, nola ahal dugun hau adierazi formulaically. Orain ez duzu jakin hau izan ezean Nik grabatu duzu zure kontuan, edo hura bilatu batean Eskuliburu bat atzealdean, hori apur bat izan dezake tranparik xafla amaieran, baina hori da, hain zuzen ere, joan den ematen diguten handi baten n log n o, errepikatze hori delako Hemen ikusten ari zaren pantailan, benetan egin ezazu bada, elkarrekin adibide-kopuru amaigabea, edo hura formulaically zenuen, zenituzkeen ikus dezakegu hori, formula hau delako errekurtsiboak da berez, t-ekin n zerbait eskubidea baino gehiago, eta gehiagoko n ezkerreko t, ezin honetan benetan da adierazi, azken finean, n log n go big bezala. Ez konbentzitu nahi, hori da oraingoz fina, besterik ez fede on, hori da, hain zuzen ere, errepikatze hori zer eramaten den, baina hori bakarrik pixka bat gehiago Bila hurbilketa matematiko Merge sort unean oinarritutako bere pseudocode bakarrik. Orain dezagun pixka bat duten guztien atseden, eta begirada bat hartu zenbait ohia senatari, nor Pixka bat ezagutzen begiratu daiteke, eseri egin ziren nor Googleren Eric batera Schmidt, aspaldi, elkarrizketa bat eszenatokian, sorta oso baten aurrean pertsona, hizketan, azken finean buruz Gai bat, hori ezaguna da nahiko orain. Ikus dezagun begirada bat. Eric Schmidt: Orain senataria, Google at zu hemen, eta gustatzen zait pentsatzea Lehendakaritzan lan elkarrizketa baten ondorioz. Orain zaila da presidente gisa lan bat lortzeko. PRESIDENTE Obama: Eskuin. Eric Schmidt: Eta zu Orain egin [INAUDIBLE] joan. Era berean, gogor lan bat lortzeko Google at. PRESIDENTE Obama: Eskuin. Eric Schmidt: galderak egin behar dugu, eta gure hautagaien galderak ditugu, eta Larry Schwimmer da. PRESIDENTE Obama: OK. Eric Schmidt: Zer? Zaudete uste Txantxetan ari naiz? Hemen da. Zer da modurik eraginkorrena Milioi bat 32 bit osokoak ordenatzeko? PRESIDENTE Obama: Well-- Eric Schmidt: Batzuetan, agian, sentitzen dut, maybe-- PRESIDENTE Obama: Ez, ez, no, no, no, I think-- Eric Schmidt: Hori ez da it PRESIDENTE Obama: I Nik uste, globoa uste dut moduko gaizki joan litzateke. Eric Schmidt: Tira. Nork esan zion hau? ONDO DA. Ez nuen informatika on-- PRESIDENTE Obama: badaukagu Gure spies iritsi zirela ere. Irakaslea: Ondo da. Dezagun utzi digu atzean orain Algoritmoen mundu teoriko the asintotikoa analisi batean horien, eta gai batzuk itzultzeko Aste zero eta bat, eta hasieratik prestakuntza gurpilak batzuk kendu, izango bada. Beraz, benetan ulertzen lurretik gora, azken finean, zer da gertatzen kanpaia azpian, duzunean idatzi, biltzea, eta programak exekutatu. Bereziki gogoratzen, hori izan zela Lehenengo C programa begiratzen dugu, kanonikoak, programa xume bat ordenatzen, erlatiboki, dua, bistaratzen da, Hello World. Eta gogoratzen erran dudan prozesua iturburu-kode hori pasatzen da zerbait da. Hartu duzu zure kodea, gainditu Konpiladore baten bidez, Clang bezala, eta egindako objektu-kodean dator, Baliteke hau, zeroen eta itxura ordenagailuaren CPU, central dagoela Prozesatzeko unitate edo garunean, azken finean ulertzen. Zera gertatzen da hori, eta bat oversimplification baten bit, orain gaude batean dagoela gain tease posizio zer benetan izan ulertu gertatzen kanpaia azpian exekutatzen duzunetan Clang, edo gehiago, oro har, aldi bakoitzean programa bat egin duzu, Egin eta CF 50 IDE erabiliz. Hain zuzen ere, gauza bezala hau da lehen sortzen, aurreneko zure programa konpilatu duzu. Beste era batera esanda, duzunean Iturburu-kodea hartu eta konpilatu, zer da lehenengo ari Clang arabera Outputted muntaia kodea izenez ezagutzen den zerbait da. Eta hain zuzen ere, itxura zehazki hau bezala. Komando bat exekutatu at I Komando-lerroan lehenago. Clang etenaren kapital s hello.c, eta honek fitxategi bat sortu hello.s izeneko niretzat, horietatik barruan zehazki ziren Eduki horiek, eta pixka bat gehiago batez ere, eta pixka bat gehiago behean, baina juiciest jarri dut Informazio Hemen pantailan. Eta ondo erreparatuz gero, ikusiko duzu familiar keywords gutxienez batzuk. Goian nagusia dugu. Printf izan dugu behera erdian. Eta guk ere kaixo mundua backslash komatxo behera beheko n. Eta dena hemen ere beste maila oso altua argibideak da ordenagailuaren PUZ ulertzen duela. Memoria mugitzen diren CPU argibideak Inguruan, oroimenetik karga kateak, eta, azken finean, inprimatu pantailan gauzak. Orain zer gertatzen da, nahiz eta Muntaia kode hau sortzen da? Azken finean, nahi duzu, hain zuzen ere, oraindik kode objektu sortzeko. Baina hori benetan pausoak dira gertatzen kanpaia azpian Hau atsegin apur bat gehiago begiratzen. Iturburu-kodea muntaia kodea bihurtzen, eta gero kode objektu bihurtzen da, eta operatibo hitzak hona hemen, konpilatu duzu zure iturburu-kodea, ateratzen muntaia kodea, eta ondoren, denean muntatzen duzu zure muntaia kodea, ateratzen objektu kodea. Orain Clang da super sofistikatuak, konpiladoreak asko bezala, eta urrats hauek guztiak egiten du elkarrekin, eta ez du zertan egiten du irteera tarteko edozein fitxategiak ikusi, nahiz eta ahal izango duzu. Gauzak biltzen ditu, besterik ez da, bertan termino orokorra da prozesu hau guztia azaltzen du. Baina benetan nahi baduzu berezia da, ez da Asko gehiago on ez baita joan. Baina utzi ere kontuan hartu orain, nahiz eta super simple programa horretan, hello.c, funtzio bat deitzen. Printf deitzen. Baina ez dut printf idatzi, hain zuzen ere, C batekin dator, nolabait esateko. Da funtzio oroitzapen bat hori da io.h estandarra, ere deklaratu bertan Goiburu-fitxategi bat da, eta horrek Gai da benetan dugu sakonera gehiago murgiltzea baino lehenago. Baina goiburua fitxategia da normalean lagunduta kodea fitxategia, iturburu-kodea fitxategia, hain arabera ez io.h. existitzen askoz bezala Duela Noizbait, norbaitek, edo norbaiten, ere idatzi io.c estandarra deitzen, fitxategira bertan benetako definizioak, edo printf ezartzea, eta beste funtzio sortak, benetan idazten dira. Beraz, kontuan izanik, izatea kontuan hartzen badugu Hemen ezkerretara, hello.c, noiz dagoela bildutako hello.s ematen digu, nahiz eta Clang ez du aurreztea traba leku batean Ikusi ahal izango dugu, eta muntaia kodea duten lortzen hello.o, muntatu eta horrek Hain zuzen ere, izen lehenetsia da Emandako betiere iturria konpilatu duzu Objektu kodea sartu, baina ez dira nahiko prest oraindik hura betearazteko, Beste urrats bat delako gertatuko ditu, eta ditu izan gertatzen iragan batzuk egiteko asteetan, agian zuk unbeknownst. Hain zuzen ere, nonbait CS50 IDE ere, eta honek, ere, apur bat izango da une batez oversimplification, ez da, edo Bazen zen, io.c estandarra izeneko fitxategi bat, norbaitek konpilatuta io.s estandarra edo baliokidea, norbaitek ondoren muntatu io.o standard sartu, edo bihurtzen bat sartu da fitxategia zertxobait ezberdinak Hori beste bat izan daiteke formatuan fitxategi-luzapena guztiz, baina teoria eta kontzeptu aldetik, zehazki urrats horiek emateko inprimaki batzuk gertatuko. Zein da, esateko, orain dela programa bat idazten ari naiz, hello.c, besterik esaten duen, kaixo mundua, eta norbaiten kodea naiz erabiliz printf, izan zen behin Bazen bezala denbora, io.c estandarra izeneko fitxategi batean ondoren, nolabait nire hartu behar dut objektu-kodean, nire zeroen eta bai, eta pertsona horren objektu kodea edo zeroen eta bai, eta, nolabait, horiek lotzeko elkarrekin sartu final fitxategia bat, izeneko kaixo, hori du zero guztia eta Nire funtzio nagusitik direnak, eta zero guztia eta printf egiteko direnak. Eta hain zuzen ere, azken prozesua da izeneko, zure objektu kodea lotuz. Zein irteera fitxategi exekutagarria da. Beraz, zuzentasuna, at the egun, ez da ezer amaieran astebete geroztik aldatu egin da, betiere dugu Hasi konpilatu. Izan ere, hori guztia izan kanpaia azpian gertatzen, baina orain gaude posizio batean non ezin dugu benetan aurre gain, hainbat urrats horiek. Eta hain zuzen ere, amaieran Gaurko, oraindik gaude zeroen eta bai, ezkerretik bertan Benetan segue handi bat orain C gaitasuna bestera, hori ez dugu izan ziurrenik onura ateratzeko Orain arte, bitekin operadore gisa ezaguna. Beste era batera esanda, orain arte, edonoiz dugu Landu C C edo aldagai datuekin, Nik gauza izan atsegin dugu karakteretan eta karroza eta ins eta luzeak eta bikoitzak eta antzekoak, baina horiek guztiak, gutxienez, zortzi bit dira. Inoiz ez dugu oraindik ahal izan banakako bit manipulatu, nahiz eta banakako apur bat izan arren, ez dugu ezagutzen, 0 eta 1 irudikatzeko daiteke. Orain bihurtzen da C direla, zuk banakako bit sartu ahal izan, sintaxia ezagutzen baduzu, horrekin horiek da. Beraz, dezagun begirada bat bitekin operadore at. Beraz, irudian hemen sinboloak batzuk direla Nik, mota, ordenatu, eta aurretik dugu. & Ikurra ikusten dut, bertikal bat bar, eta beste batzuk, hala nola, eta gogoratzen ampersand ampersand hori Zerbait ikusi dugun da. Logikoa ETA eragilea, bertan duzu Horietako bi, elkarrekin edo logikoa OR operadorea, non duzu Bi taberna bertikala dute. Bitekin operadoreak, horrek egiten zaitugu ikusi bit lan banaka, besterik ampersand bakar bat erabili, a single barra bertikala, the kurtsore ikurra datorrena, txikia tilde, eta gero utzi parentesi utzitako tarte, edo Eskuineko parentesia eskuineko parentesirik. Horietako bakoitzak esanahi ezberdinak izan. Izan ere, dezagun begirada bat. Goazen eskola zaharra gaur, eta erabilera antaño ukipen-pantaila bat, zuri-taula bat bezala ezagutzen. Eta zuri-taula honetan da gaitu egingo ikurrak nahiko sinple batzuk adierazteko, edo, hobeto esanda, formulak nahiko sinple batzuk, orduan ezin dugula, azken finean, leverage, ordena banakako sartzeko C programaren barruan bit. Beste era batera esanda, egin dezagun. Dezagun bat lehen eztabaida ampersand buruz une, bertan bitekin ETA operadorea da. Beste era batera esanda, hau da horrek ematen du eragile bat ezkerreko aldagai bat izan da niretzat normalean, eta eskuin eskuko aldagai bat, edo banakako balio bat, hori badugu eta Haiekin batera, azken emaitza bat ematen dit. Beraz, zer esan nahi dut? Programa batean bazaude, aldagai bat behar duzu dendetan balioak horietako bat dela, edo dezagun simple mantentzeko, eta besterik zeroen eta idatzi banaka, Hemen da ampersand operadorea nola funtzionatzen du. 0 ampersand 0 0 berdinak izango. Zergatik da hori? Oso antzekoa da Adierazpen boolearrak, Hori orain arte eztabaidatu dugu. Uste ondoren baduzu, 0 da faltsua, 0 faltsua, faltsuak eta gezurrezko da, eztabaidatu dugu dugun bezala logikoki, halaber, faltsua. Beraz, lortu dugu, 0 hemen ere. Hartu duzun 0 ampersand bada 1, ondo dagoela, ere, hau da 0 izango da, hau delako ezkerreko adierazpen egia edo 1 izan behar du, egia eta egia izan behar luke. Baina hemen faltsua daukagu eta egia da, edo 0 eta 1. Orain, berriz ere, 1 ampersand badaukagu 0, hori ere, hau da 0 izango da, eta 1 ampersand 1 badugu, Azkenik, ez 1 apur bat behar dugu. Beraz, beste era batera esanda, ez gara egiten ari ezer operadorea honekin interesgarria besterik gabe, ampersand operadorea honetan. Bitekin ETA operadorea da. Baina horiek dira osagaiak horren bidez egin ahal izango dugu gauza interesgarriak, ikusiko dugu laster ikusiko. Orain dezagun besterik bakar batean aquí Eskuineko baino barra bertikala. Daukat 0 pixka bat eta biok badu Edo harekin, bitetako EDO eragilea, beste 0 bit, hori emateko me 0 doa. Hartu nuen 0 pixka bat eta edo harekin bada 1 pixka bat, gero nabil 1 lortu nahi dut. Eta hain zuzen ere, besterik gabe, argitasuna, let me atzera egin, beraz, nire tabernak bertikala Ez zara 1 en oker. Let guztia berridatzi me Nire 1 apur bat gehiago argi eta garbi, eta, beraz, hurrengo ikusiko dugu, badut Izan 1 edo 0, 1 a izan behar da joan, eta daukat 1 bat edo 1 bada, ere, da 1 bat izango da. Beraz, logikoki ikusi ahal izango duzu, edo hori operadorea modu ezberdin batean jokatzen. Honek ematen dit 0 OR 0 ematen dit 0, baina beste konbinazio ematen dit 1. Beraz, luze 1 bat ere badut ere formula, emaitza 1 izango da. ETA batera Aitzitik operadorea, ampersand, 1 bi hamarkadako badut bakarrik ekuazioa, ez benetan lortu nuen 1 out bat. Orain, ez da gutxi beste bat operadore baita. Horietako bat, apur bat gehiago parte hartzen da. Hargatik aurrera me eta ezabatu hau askatzeko espazio batzuk. Eta dezagun begirada bat kurtsore ikurra, une bat besterik ez da. Hau da, normalean bat Pertsonaia idatzi dezakezu zure teklatua holding Shift eta ondoren, zure AEBetako gainean zenbakietako bat teklatua. Beraz, hau da inorena, EDO eragilea, OR esklusiboa. Beraz, edo operadorea ikusi besterik ez dugu. Hau da, beste inorena EDO eragilea. Zer da benetan aldea? Beno dezagun formula begiratzea besterik, eta hau erabiltzeko osagai gisa, azken finean. 0 XOR 0. Esatera noa 0 da beti. Hori XOR definizioa da. 0 XOR 1 da 1 izango da. 1 XOR 0 da 1 izan behar du, eta 1 XOR 1 izango da? Okerra? Edo ez? Ez dakit. 0. Orain zer gertatzen da hemen? Beno buruz gogoeta operadorea honen izena. Esklusiboa, eta, beraz, izena, mota, iradokitzen, erantzuna da bakarra izan da joan 1 a Sarrerek esklusiboak badira, esklusiboki ezberdinetan. Hortaz, hona hemen Sarrerek dira bera, beraz, irteera 0 da. Hemen Sarrerek dira bera, beraz, irteera 0 da. Hona hemen irteerek dira ezberdinak, dute esklusiboak dira, eta beraz, irteera da 1. Beraz, oso antzekoa da ETA, oso antzekoa da, edo, hobeto esanda, oso antzekoa da Edo, beste modu baztertzailean, baizik eta bakarrik. Honek bat jada ez da 1 bat, Bi 1ek izan dugulako, eta ez hori bakarrik, besterik ez da horietako bat. Ados. Eta besteek? Beno tilde, bere aldetik, benetan polita eta erraza da, zorionez. Eta hau da unario bat operadorea, horrek esan nahi du Honez sarrera batean bakarrik aplikatu, eragigai bat, nolabait esateko. Ez ezkerreko eta eskuineko bat da. Beste era batera esanda, la tilde hartzen baduzu 0, erantzuna kontrakoa izango da. Eta hartzen duzu 1 tilde bada ere, Erantzuna ez kontrakoa izango da. Beraz, tilde operadorea da Pixka bat ukatzea modu bat, edo pixka bat iraultzeko 0 eta 1, edo 1 eta 0. Eta gurekin azkenik uzten bi besterik final operadoreak, deiturikoak ezkerreko aldaketa, eta deiturikoak eskuineko shift operadorea. Ikus dezagun nola lan horiek begirada bat. Ezkerreko maius operadorea, idatzizko Horrelako bi angelu parentesi batera, honela funtzionatzen. Bada nire sarrera, edo nire eragigai, ezkerreko shift operadorea nahiko besterik gabe 1 a. Eta gero, ordenagailua kontatzeko dut Ezkerretik shift 1, esaten duten zazpi leku, emaitza dut bagina bezala da hartu duten 1, eta eraman zazpi leku baino gehiago ezkerretik, eta besterik ezean, suposatuko goaz eskubidea espazioa da zeroz betea denean. Beste era batera esanda, 1 ezker shift 7 va Niri emateko jarraitutako 1 dela, eta 1, 2, 3, 4, 5, 6, 7 zero. Beraz, bide batez, aukera ematen du bertan 1 bezalako kopuru txiki bat hartu, eta argi eta garbi, beraz, eta askoz askoz modu honetan handiagoa, baina benetan ari gara ikusteko dut horretarako planteamendu gehiago clever Horren ordez, bai, Ados. Hori da aste hiru da. Duzun hurrengoan ikusiko dugu. Hau CS50 zen. [Musika jotzen] HIZLARIA: 1 zen merienda egin zituen taberna beroa erdipurdikoa izozkiaren jateko. Guztiek izan zuen aurpegitik zuen. He bizarrik like chocolate jantzita HIZLARIA 2: Zer egiten ari zara? HIZLARIA: 3 Hmmm? Zer? HIZLARIA 2: Ba besterik ez duzu Manteo bikoitza? Txipa bikoitza busti duzu. HIZLARIA 3: Barkatu. HIZLARIA 2: txipa busti Hik mokadu bat hartu, eta berriro busti duzu. HIZLARIA: 3 HIZLARIA 2: noiz Beraz jarriz bezalakoa da Zure osoak aho Manteo eskuinera. Hurrengo denbora txip bat hartu duzu, besterik Manteo behin, eta, azkenean hura. HIZLARIA 3: zer Badakizu, Dan? Manteo nahi duzun modu Manteo duzu. Manteo dut Manteo nahi dut bidea.