DAVID MALAN: Ondo da.
Beraz, hau da CS50, eta hau da, orain astean hiru hasieratik.
>> Beraz, orain arte, dugu sido C programak idaztean
itxura apur bat hau hemen antzeko zerbait.
Beraz, lortu dugu, pare bat zorrotz goialdean dira.
Lortu int, nagusia, void dugu, eta gero zerbait du erditik egin,
Kode bit batzuen barruan funtzio hori.
Baina gakoa duenez, hain zuzen, izan izan dugu void hemen esaten.
Beraz, hutsune, denbora hori guztia, zehazten Programa honetan, denean exekutatu dela,
baino ezin izango da bere izen bidez exekutatu.
Ezin duzu beste edozein hitz idatzi edo programaren izena denean ondoren zenbakiak
exekutatzen ari da.
Beraz, adibidez, programa balira kaixo izeneko fitxategi batean bildu
egin ahal izango duzu, hello, baina hori da.
>> Modu bakarra duzula Could sarrera emateko programa honetara
funtzio bat deituz da.
Esate baterako, zer funtzio dute beraz, orain arte erabiltzen ari izan gara
sarrera erabiltzailea lortzeko?
>> IKUSLEEN: Talde katea.
DAVID MALAN: katea lortzeko, edo lortu int, edo beste batzuk ikusi duzun,
ez baduzu, nahiz eta oraindik erabiltzen horiek, bezala lortu, luze, luze eta antzekoak.
Baina demagun garela benetan hasi nahi
Programak dira gutxi gehiago polifazetikoa, eta, Egia, apur bat gehiago
duzu dut komando bezala dira, lortzean, zorionez,
pixka bat ohituta.
Cd espazio Dropbox bezalako.
Hau, jakina, aldaketak zure gida, suposatuz
Oraindik John Harvard etxean dituzun gida, zure Dropbox karpeta.
Bien bitartean, hau bezalako komando bat pset2 izeneko direktorio berri bat sortuko du,
duzu agian dute dagoeneko edo Izango arazoa laster bi ezarri.
Egin Kaixo, noski, komando bat baizik, izeneko programa bat kaixo eraikitzen
kaixo dot c izeneko fitxategi batetik.
Eta horietako bakoitzean kasu, gaur egun, izan dugu
deiturikoak buruzko argudio bat ematen Komando-lerroan, keinu gonbita,
, beraz, badaki zer eraiki nahi du eta, beraz, mkdir horretara sortzen daki zer karpetan,
eta beraz cd daki nora joan nahi duzun.
Baina orain arte, esaten mantendu dugu duten nagusiak, lehenetsitako funtzioa,
void adierazpen bat dauka parentesi horien barruan,
eta horrek esan nahi duen ezin du argumenturik hartzen.
>> Beraz, gaurtik aurrera, zer egin behar dugu
hau da, hasteko goaz Gauzak euskarri hau ere bezala.
Izan ere, kasu honetan, eta zuk ez dute normalean eskuz,
Egin izan da lan hau egiteko guretzat, ez dira
bat, baina bat, bi, hiru gehigarri programa horrek izendatu ondoren kateak
clang.
Beraz, nola egin hori lortzeko?
>> Beno, gaurtik aurrera, Kasu non nahi dugun
sarrera emateko bidezko deiturikoak komando lerroan,
gehituz hasteko goaz hemen zer yellow-- saioa
int argc koma deuseza ordezkatuz katea argv parentesi irekiak ixteko kortxetea.
Orain hau da interesgarria arrazoi pare bat da.
One, guri idatzi utzi da joan programak direla dinamiko apur bat gehiago.
Baina, gehiago egunkariak, ez da ireki joan
orain elkarrizketa bat bezala zer array benetan
erabiliko dira, zer kate bat benetan kanpaia azpian dago,
Hurrengo aste arte, urpekaritza hasten gara nahiz eta makina-nolakoa behar bezala sakonago
gauzak lan hori guztia egiteko.
Baina orain, dezagun marrazteko, agian, irudi bat.
>> Programa bat idatzi duzu deklaratu nagusiekin
modu horretan, besteak beste, honako hauek direla bi argumentu, int bat hartzen
and-- datuak zer mota bigarren argumentua da?
>> IKUSLEEN: Array.
DAVID MALAN: Array.
Beraz, itxura Lehen begiratuan bat bezala kate, baina konturatu karratu parentesi artean.
Gogoratu azken aldiz sartu dugu array baten ideia du.
Eta arrayak kortxete erabili testuinguru pare batean.
Plazaren erabil dezakezu Parentesi array batean joan
eta elementu jakin bat lortzeko, parentesirik 0 edo bracket 1 edo bracket 2.
Baina, ikusi dugu, labur-labur bada, azken astean, gainera, zuk
to kortxete horiek erabili tamaina deklaratzeko array bat,
zenbat aldez aurretik ezagutzen baduzu ints nola edo askoren kateak edo duzuna
benetan nahi.
Beraz, izarrekin bihurtzen da ez en hirugarren testuinguru batean hemen
duen zenbakia ez duela barruan parentesi karratu.
, When you zehaztu hemen dudan bezala, argv antzeko zerbait izenean,
bertan fancy modu bat besterik ez da argumentu bektorea, esanez bertan
beste modu fancy da argumentuak array bat esanez,
parentesi irekiak ixteko kortxetea besterik esan nahi du ez duzula zertan
aldez aurretik jakin zein handia Array izango da,
baina badakizu, array bat izango da.
Beraz, ez baduzu ezagutzen du zenbakia ez jarri hor,
parentesi irekiak ixteko kortxetea for esan nahi du argv ez da kate bat,
baina kateak array bat.
Beraz, sintaktikoki, baduzu uste back azken astean,
Oso esaten antzekoa da int adin bracket irekita antzeko zerbait,
eta, ondoren, zerbait hortik aurrera.
Beraz, zer itxura?
Demagun irudi bat marraztu benetan.
Beraz, Main programa hau exekutatu haber bi argumentu barruan definitu
Parentesi horiek, zuk funtsean, gutxienez bi zatitan dute
oroimenaren duzu entregatu kanpaia azpian.
One, laukizuzena bezala marrazten dut egingo denez, da argc deitzen dira egingo.
Eta besterik laburpena azkar bat bezala, zer datu argc mota da?
Beraz, int bat da.
Beraz, zenbaki bat da, joan to argc-- txandaka joan
out duten argumentu Aldaketa stands.
Bien bitartean, marrazten dut argv array gisa.
Eta ez dakit zenbat denbora izan da joan,
beraz, gaur egungo helburuetarako dot dot dot.
Luzera batzuen Litekeena da lortu.
Baina irudian hemen dut gutxienez lau laukizuzenak.
Beraz, argv memoria hori dendetan zatia katea katea katea dot dot dot,
eta argc pusketa bat besterik ez da zenbaki oso bat oroimenaren.
>> Beraz, gaur egun, dezagun apur bat gehiago zehatza.
Badago, kateak behar dut array honetan, izeneko
argv, horiek da nahi dut banaka, azken astean bezala,
idazkera erabili goaz argv tarte 0 atsegin
lehenengo gauza array bat lortzeko.
Argv parentesi 1 lortzeko Bigarren gauza, eta abar.
Gakoa hemen izateaz jarraitzen dugu 0 indexed-- ari gara oraindik 0 hasita.
Beraz, gaur egun dezagun benetan honetan zerbait jarri.
Izeneko programa bat konpilatu banintz kaixo kaixo dot c izeneko fitxategi batetik,
eta, ondoren, programa hori exekutatu I dot idatzibarrarik kaixo,
zer nire ordenagailuan, nire ordenagailu eramangarria du, kanpaia azpian itxura
Oraingoz dot exekutatu I barra kaixo eta sakatu Sartu?
Beno, hau da, beharbada, zer deskribatzeko genezake
zure ordenagailuaren edukia gisa memoria, edo RAM Random Access Memory.
Beste era batera esanda, ordenagailua, nolabait duzu magikoki egiteko,
1 zenbakia jartzen argc ere, AKA argcount, eta hitzez hitz dioen katea
Kaixo argv tarte 0 ere.
Ideia ez dut, Egia, zer da argv tartean, 1 edo 2 edo 3,
erabiltzaileak ez badu delako ezer idatzitako hello gain,
to horiek bere gain hartzen goaz ziurrenik zabor balioak,
nolabait esateko.
Memoria zatiak ere existitzen dira, baina ez da gurekin
begiratu, zeren argcount bakarra da.
>> Orain, bere aldetik, badut idatzi beste programa bat exekutatu,
cd, zein komando bat da gehiago behar bezala, Zure prompt-- cd espazio keinuka hasi
Dropbox-- denean exekutatu dut, modu eraginkorrean, cd programa abiatzean, argc,
nire ordenagailuaren memoria, barruan da azkarren gehien bigarren zenbakia 2.
Eta gero, parentesi o argv ditu cd, argv parentesi 1 ditu Dropbox,
eta ondoren, noski komandoa osatzen du, beraz, memoria hori guztia
funtsean doa urrun eta beste zerbait egiteko erabiltzen da.
Eta horregatik esan dut bigarren zati bat besterik ez.
>> Bien bitartean, mkdir pset2 egiten badugu, Irudian ia itxura bera,
baina argv barruan kateak ezberdinekin.
Clang etenaren egin dut kaixo bada kaixo dot c, ideia bera.
Gehiago stuff beteta eman argv, argc eta, jakina, 4 da.
Beraz, beste era batera esanda, are array honetan nahiz
dot liteke dot dot, batzuen luzera aldakorreko, nolabait esateko,
Badakizu beti duzu non amaieran da, argc da esango delako joan
zer puntutan gelditu behar duzu argv elementu begira.
Lauretan bakarrik begiratu dezakezu kasu honetan, guztira.
>> Hargatik begirada bat hartu en orain, agian, programa erraz bat.
Bat besterik ez dio kaixo Zamyla bezalako norbait izateko.
Beraz, programa bat idatzi nahi dut erreklamatzeko I une bat besterik horren bidez egin nezakeen
Kaixo espazio Zamyla, eta egin nahi dut nire programa out zerbait inprimatzeko
super-simple bezalako "kaixo, Zamyla."
Orain iraganean GetString erabili dugu.
Beraz, iraganean, nahiz Oraindik programazio berria,
odds dira Látigo sortu ahal izango duzu bat GetString erabiltzen duen programak
eta, ondoren, erabiltzen printf hi esateko Zamyla izateko.
Baina dezagun erabili ez oraingoan GetString.
Let me ordez Appliant sartu eta ez, besteak beste, I O dot h estandarra.
Dezagun, horrez gain, niretzat CS50 dot h.
Orain int nagusia, eta orain naiz Ez hutsunea egin gaur bertan egingo da.
Horren ordez, naiz int argc egin dut katea argv parentesi irekiak ixteko kortxetea,
Ez zenbaki bat zehaztuz.
Eta orain hemen nire deiturikoak egin.
Orain zer egin nahi dut da naiz fede-jauzi bat pixka bat egin,
To Erabiltzaile dela suposatuko dut programa hau behar bezala erabili behar da,
eta ez dut besterik gabe joan egin printf kaixo,% sn.
Beraz, ezer berririk ez.
Baina orain jarri dena delakoa hitza nahi dut Erabiltzaile mota programaren izena ondoren.
Beraz, espazio hello egiten dut Zamyla bada, I nolabait programazioaren sarbidea nahi
aipatu unquote "Zamyla." beraz, I dezaket nire argudioa bektorea sartu,
nire kateak array, eta komandoa bada, berriro ere, izan zen espazio hello Zamyla,
zer zenbaki egin nahi dut argv jarri hemen?
IKUSLEEN: 1.
DAVID MALAN: 1, zeren tarte 0 bihurtzen
da izango da programaren izena, ikusi dugun bezala.
Beraz, parentesi 1 lehen hitza da dut, erabiltzaileak, idatzi.
Aurretik joan eta gorde hau noa.
Nire karpetan sartu noa Fitxategi hau non kokatuko dut.
Kaixo 3 egin dut.
Comp IO en Ados.
Kaixo Zamyla Sartu.
Zer oker egin dut?
I zen ustekabean harrapatu besterik gabe, une bat ez neure burua.
Zer oker egin dut?
>> IKUSLEEN: Izena.
>> DAVID MALAN: Fitxategiak izango duen benetan hello3.c izenekoa.
Eta hori egin nuen, besterik ez koherentzia, dugu delako
hello.c izan hamarkadan online kodea iraganean.
Hargatik konpondu hello honetan parentesi etenaren 3 Zamyla.
Sartu.
Eta gaur egun dugun kaixo, Zamyla.
Bien bitartean, aldatu ahal ditut honetara Rob, edo benetan beste hitz izan.
>> Baina kontuan hartu dezagun izkinan kasu bat.
Zer liteke izango balitz gertatuko espero duzu Ez dut idazten inoren izen guztietan?
>> IKUSLEEN: Error.
>> DAVID MALAN: Akats bat Nolabaiteko, agian.
Ikus dezagun.
Sartu.
Null.
Beraz printf, benetan ari da gutxi gutako babes
hemen, eta literalki paren inprimatzeko nulua da, baina gauzak are okerrago gerta daiteke.
Eta besterik ez erakusteko zerbait egin nahi duzula
behar ez, goazen, hemen eta hasi kuxkuxean.
Eskuin?
Badakit gero horretan irudian memoria da, funtsean, honetan,
argv parentesi 1 Zamyla, argv ditu tarte 0 ditu hello, edo hello-3.
Zer da parentesi 2?
Beraz, erantzun ahal izango dut Neure burua zalantzan jartzen, ezta?
Besterik ez dut aldatu ahal 1 2 bati.
Dut orain konpilatu ahal kaixo 3, ./hello3 Dezagun gerturatu eta sakatu Sartu.
Whoops.
No aipu marka.
Interesgarria.
Beraz, mota horretako cool ikusi zer gehiago hemen dago.
>> Beraz, zer gehiago nire laptop barruan dago?
Dezagun gorde parentesi 3.
Egin Hello3, hello-3.
Curious.
Eta orain, dezagun benetan bold-- 50.
Beraz, benetan urpekaritza sakona nire ordenagailuaren memorian.
50 indizeak ere.
Beraz, kaixo 3 hello-3.
Curious.
Guztiak eskubidea, gaur egun besterik ez naiz jokatuz iritsi.
Goazen 5.000 en.
Guztiak eskubidea.
Hargatik konpilatu.
Egin Hello3, hello-3.
Ados.
Orain, ez dago agian zuetako batzuk bonbilla bat off joan izan.
Nola asko duzu ikusi Mezu honen aurretik?
Ados.
Beraz, zergatik?
>> Odds are-- eta ez da desberdina hori eragin dezake gauza,
eta argi eta garbi ari onean duzu company-- argi daukagu
zer deitzen eragindako segmentaziuo hutsegitea.
Eta istorio luze gaur laburrean, I memoria segmentu bat ukitu
ez dut behar.
Non segmentu bat besterik zatia esan nahi du oroimenaren hori ez dut behar.
Orain ordenagailua bermatzen du I exekutatu ./helloZamyla dut argv ukitu ahal
tarte 0 eta argv parentesi 1 izan.
Baina argc balioa 2, horrek esan nahi du I am bakarrik allowed-- ohorea moduko da
sistema ukitu tarte 0 eta bracket 1.
Joaten naiz edozein urrunago bada ere, ez da memoria izan nahi ez erabat joan.
Nire RAM existitzen fisikoki ordenagailua ere.
Baina nork daki zer dago?
Izan ere, exekutatzen ari naiz anitz programak une bat.
Baliteke seen-- daukat ez banintz Appliant buruzko lan hau egiteko
baina nire Mac edo PC-- buruzko I izan liteke email baten edukia ikusi.
Instant bat ikusi dut agian Mezu Nik duela gutxi bidali.
Egongo den ezer inguruan lingering oroimenez
zitekeen sar modu kortxetea notazioa arbitrarioa hau.
Edo, okerrago oraindik, agian behar duzu aurkitu nire pasahitzak bat
litzaidake dut duela gutxi idatzi, que programa memorian gordetzen zuen, beraz,
me autentifikatzeko, eta ondoren, besterik gabe mota hori utzi
RAM programa hori utzi nuen arte.
>> Eta, hain zuzen, hau da, bat arriskua eta bat eskumenak
C. bezalako hizkuntza bat erabiliz Unfettered sarbidea izango duzu
eduki osoa izateko programa bat memoria,
eta zer guys txarra ahal are cases-- horietan egin
batez ere, guk web programazioa lortu
seihilekoan amaiera aldera, zaitugu berrirakurtzeko topic-- hau Poke inguruan,
potentzialki, norbait da ordenagailuaren memoria eta, besteak beste, gauza bitxi aurkitu
han ikusi genuen bezala.
Edo are okerrago oraindik, pasahitzak zuela edo zuen ondoren, erabili ahal izango gauza txarrak egin.
>> Beraz, argi eta garbi, ez luke izan hori egin nuen, gauza arraro gertatuko hasten delako.
Izan ere, honen programa bertan behera gelditzen da.
Hau parekoa da Mac OS edo Windows
Programaren leiho bat besterik ez desagertzeko.
Ustekabeko errorea gertatu da.
Komando-lerroan Ingurunean honen antzeko zerbait ikusiko dugu.
Baina horregatik, hau da, besterik gabe, naiz ukitzen memoria hori ez zidan sartzen.
>> Hargatik defendatzeko a honen aurka beste modu batean pixka
Programa honen hemen begira.
Beraz, berriro ere, hezurdura lehenago ikusi dugun
eta azpimarratu dut denbora int hau.
Eta denbora nagusiak hori guztia du balio bat hain zuzen ere, itzuli zen.
Nahiz eta gure hitzaldia gehienetan Adibide inoiz ez behin erabili dugu
nagusian ezer itzultzeko.
Idatzi besterik ez dugu printf itxi kizkur giltza eta hori da.
Baina doan, zer egin konpiladore dira egiten,
eraginkortasunez, itzuli egin da 0 zuretzat.
Turns out-- eta txiki bat da, counterintuitive-- hartzen 0 onak.
Ez du esan nahi faltsua per se.
0 da ona, eta edozein-ez 0 balioa, munduko erabaki du,
Errore bat dakar.
Beraz, inoiz duzun messed bada zerbait sortu zure ordenagailuan,
edo programa bat baino ez da egin duzu hil zen eta okerrak leiho batzuk ahaztuak duzun
Pantailan, esaten error negatiboa 49 edo error kasu egiten 23--
batzuk itxuraz arbitrarioa balioa hori da, programatzaile hard-kodetuak duelako
negatiboa 49 edo positiboak bezalako balioa 23 edozein zenbaki adierazteko, ausartzen esan,
4 milioi posible gauzak of programa bat ere gaizki joan liteke.
>> Beraz, nola liteke hartzen dut honen abantaila? neuk
Beno, utzi ireki me programa bat idatzi dudala, aldez aurretik,
eta Poke inguruan online kaixo 4 izenekoa.
Eta ia berdina da, izan ezik bere erroreen zainketa pixka bat lortu.
Kasu honetan, nik berriro deklaratu dut bi argumentu hartzen nagusia,
baina oraingo honetan, on line 17, oharra Behatu txeke bat pixka bat egiten ari naiz.
Egiten ari naiz ziur argc berdin berdin 2.
Delako ez balitz, esan nahi du, segurtasunez ahal dut
ukitu ez bakarrik tarte 0, baina parentesi 1.
Eta aurrera dut eta inprimatu, kasu honetan, Zamyla edo Rob
edo dena delakoa hitza out idatzi dut.
Eta orain, besterik lortu apur bat gehiago egokia,
Esplizituki itzultzeko noa Guztiak ondo 0 adierazteko.
Ezer ez da txarra gertatu.
>> Baina konbentzio, ez naiz joan itzultzeko 1, edo Egia Bat-0 ez balio,
zerbait gaizki joan bada.
Orain, erabiltzaileak ez da joan Benetan nabarituko zer ari den gertatzen.
Izan ere joaten naiz direktorio honetan sartu bada, Handiagotzeko dugu eta ez kaixo 4,
hello-4 Zamyla jokatzen du, espero dut.
Baina badut ordez ez idatzi ezer, ezer gutxi gertatzen,
baina ez du huts egin.
Eta gero, zerbait egin beharrean dut Rob bezalako PROCTOR bat da
Thayer-- partekatzea Informazio arbitrarioa.
Baina oharra, argv 1, 2, 3, 4, eta 5 behar orain memorian existitzen.
Hori ere bai, ez da zer da nire programa espero du,
ala dut hautatuta delako argc berdin berdin 2 edo ez.
Beraz, I orain honen aurka defendatzeko naiz.
>> Orain, bat alde batera utzita, genuen programmer-- edo hobeto esanda users-- egin dugu
inoiz ikusi duten 0 eta 1 baina bat erabiliz Debugger, edo beste tresna izeneko tresna,
lehenago ikusi dugu luze, programatzaile duzu
benetan ikusi zer egongo zure programaren barruan, oker joan.
>> Beraz, argc buruzko edozein galdera?
Bai.
>> IKUSLEEN: ikusi dut, non ez dute pertsonaia izan, [INAUDIBLE]
besterik esan katea star d, atsegin pertsonaia Asteriskoa koma.
Hemen pareko dira?
>> DAVID MALAN: ez dira.
Beraz, galdera da, behar duzu noizean behin ikusten programak
hau ez zait gustatzen katea argv parentesi esan
baina horren ordez zerbait esan char izar argv parentesi bezala.
Eta ez da, nahiz eta beste agian ikusten duzun aldaera.
Hain zuzen ere, baliokideak dira.
Oraingoz, hauek ditugu prestakuntza gurpilak moduko
CS50 kate eran an liburutegia, baina astebete pasatxo hasi
edo, beraz, esaten ari gara kentzeko joan eragozpenik guztiz eta benetan
zer char eta izar begiratu dira, eta nola memoria pertain horiek
ordezkaritza oro har.
Beraz, etorri egingo dela itzuliko gara.
>> Gure argv edo argc on Beste galdera?
Bai.
IKUSLEEN: Zergatik itzuli Errore bat [INAUDIBLE]?
DAVID MALAN: Zergatik egin zuen errore bat itzuliko oh only--!
Aurreko kasuan, dugunean ziren inguruan futzing memoria,
zergatik ez zuen errore bat bakarrik itzuli da benetan idatzi dut kopuru handi bat?
Erantzun laburra da, baina besterik ez dugu zorterik.
Oro har, ordenagailu bat memoria bideratzen zatiak,
eta ni bat nahikoa zati handi eman dela Kanpoan lortu nuen, ohartu gabe,
Gaztetxean parentesi 2, parentesi 3, bracket 50, baina ahalik eta azkarren dut bultzatu
nire zorte, haratago joan nintzen memoria zatia mugak
sistema eragilea izan eman dit.
Eta hori da egiten behera lotu eta esan, ez.
Segmentazioa error.
Bai.
>> IKUSLEEN: ordenagailua Nola funtzionatzen du argc balioa ezagutzen?
>> DAVID MALAN: Nola funtzionatzen du ordenagailu argc balioa ezagutzen?
Programa bat exekutatzen baduzu, programa hori, keinu gonbita izaeraren arabera,
sorta banatu da Baliteke idatzi ziren hitzak
gonbitan, hori izan zen gonbitan idatzi.
Eta beraz, zure eragilea da sistema hori, funtsean,
nagusiak argumentuak populates duzu.
Beraz, zerbitzu bat lortu duzu, ordenatzeko ezkutuka
kanpaia azpian Sistema eragile bat.
Beste galdera?
Bai.
>> IKUSLEEN: Zer esan nahi du core dump?
DAVID MALAN: Zer esan nahi du core dump?
Beraz, galdera ona da.
Eta atzera me sartu Direktorio hau hemen.
Eta nabarituko duzula Fitxategi berri bat ez daukat.
Hain zuzen ere, core izenekoa, eta hori da, egia esan, normalean fitxategia duin-tamaina bat.
Hori da, funtsean, argazki bat nire programa memorian edukiak
edo RAM denean huts egin.
Eta hori oso erabilgarria izango da, potentzialki, diagnostikoan,
behin hitz egin dugu, etorkizuneko hitzaldi eta arazketa buruzko atalean,
benetan egin dezakedalako du Autopsia digital baten baliokidea
fitxategia horretan irudikatu laguntzeko programan zer oker egin duzu.
Bai.
>> IKUSLEEN: komando bat argc da bera, edo izena eman duzu ezer?
>> DAVID MALAN: Ona galdera.
Komando bat argc da berez, edo ezin izena eman duzu ezer?
Behin betiko ez-komandoa.
Besterik da, aldagai bat izendatzeko edo argumentu baten izena,
eta beraz, erabat dugu lelo hau deitu daiteke,
bar honetan, joera horrek deitu genezake go-hitzak duen ordenagailu bat izan nahi du
Zientzialari doa.
Baina konbentzio, argc eta argv erabili dugu.
Baina hori giza bat besterik ez konbentzio, ezer gehiago.
Guztiak eskubidea.
Beraz, izarrekin bihurtzen, Izan dut lie-- zuri bat pixka bat kontatzea
eta Egia, etorkizunean, ikusiko duzu izan dugu beste gezur zuri kontatzeko.
Baina orain, goazen itzuli zuritu horietako bat.
Nuenean aurrez Kasu honetan hemen hello edo hello-3 bezalako programa bat ran
Zamyla, edukia izan genuen nire ordenagailuaren memoria gutxi gorabehera antza
honetan.
Baina gogoratzen kate bat zer den.
Zer Duela aste bat zer esan genuen katea benetan kanpaia azpian dago?
IKUSLEEN: karakteretan Array.
DAVID MALAN: ez da bat karakteretan sorta, ezta?
Beraz, array bat izan dugu kateak, baina, aldi berean, kate bat
karaktere array bat da.
Beraz badut benetan izan nahi anal du argazki hau marraztu dut,
Benetan marrazten behar dut Hori guztia hala apur bat gehiago,
horietako bakoitzean horren bidez nire argv array-indizeak,
ez kate oso bat da bere baitan bera array bat da.
Eta orain, gezur zuriak gaur kontatzea ari gara
dela irudi ez nahiko itxura hau.
Izan ere, plazetan gutxi dira normalean laukizuzenak big kanpo
ez.
Baina etorri egingo dugun itzuli aurretik.
Baina hau backslash hello 0 da, duten izaera berezi hori izateagatik
kate baten amaiera mugatzen du, eta nik ondoren beste bat lortu dugu
Zamyla izena.
Beraz, zer esan nahi du horrek?
>> Beno, utzi aurretik, joan eta ireki beste bi adibide
linean erabilgarri dauden.
One deritzo argv1.c eta bestea argv2 da.
Super-simple programa bat da, iragana programak desberdinak
horretan gaur egun erabiltzen dut argc eta argv hemen.
Eta orain I begizta batekin integratzeko naiz 18 linea, i-tik = 0 argc up on batean.
Eta zer ari naiz egingo Hemen, kode-lerro honekin?
Ingles.
Hau, jakina, argc erabilera erakusten du.
Baina ingelesez, zer egiten duen programa hau exekutatu bada egin?
Bai?
>> IKUSLEEN: inprimatzeko joan zure proiektatuko adina aldiz nahi duzun bezala.
DAVID MALAN: Zehazki.
Beraz, edozein izanda ere hitz I gonbitan idatzi, hura izan
to regurgitate joan lerroko me at horietako bat.
Beraz, dezagun aurrera, eta hau egin.
Let me go nire direktorioa sartu eta egin Argv1 ./argv1 egiteko.
Eta orain, dezagun simple mantentzeko.
Egin dezagun deus lehen at dezagun.
Gauza bat inprimatu egin zen, eta hori da, hain zuzen ere, programaren izena,
duten tarte 0 in delako.
Orain esaten dut foo gero, egin da joan bi horiek, eta foo bar diot bada,
nik hiru gauza horiek esan du.
Orain dela zertxobait interesgarria, agian.
Baina gogoratzen argv duten kateen array bat da,
baina kate bat karakteretan array bat da, beraz, gauzak hartu ahal izango dugu Notch bat sortu
eta aplikatzeko oinarrizko dagoela Logika eta kodea ematen diotenak
itxura apur bat gehiago críptica, admittedly.
Baina habiaratua bat izatea begizta, zerbait betean
zer Mario baliteke gogoraraztea, esate baterako, modu honetan egin zenuen gero.
>> Beraz, gaur egun on line 19 nabarituko, naiz berriro nire argudioak baino gehiago errepikatzean,
up on 0tik to argc.
Eta orain lerro 21-- naiz astetik trikimailu bat maileguan
Zer da nabil egiaztapena argv tarte i luzera.
N ere erantzuna gordetzeko naiz.
Eta gero noa j etatik integratzeko n, non j 0 hasieratu gehienez.
Beraz, zenbaketa hitzarmen.
Ondoren erabili dut, bat baduzu habiaratutako begiztaren, ezin duzu i berriro erabiltzea,
bestela idazteko duzu, potentzialki, Barruko begizta kanpo balioa.
Beraz, erabiltzen dut j konbentzio.
K erabili genezake.
K baino gehiago badituzu, seguruenik duzu gehiegi habia dute, normalean.
Baina orain, nabarituko nire printf lerro apur bat desberdina da.
Ez dut% s inprimatzeko, naiz % c inprimatzeko, eta horrek, jakina,
char bat biltegian dago.
>> Eta orain konturatu sintaxia hau.
New.
Ez dugu ikusi aurretik it.
Baina noski, hori esan nahi du igarren argv Kate lortu
eta lortu jth zer?
IKUSLEEN: Character.
DAVID MALAN: kate horretan pertsonaia.
Beraz kortxete erabiliz kortxete jarraian,
hau da urpekaritza lehenengoa argv en kateak sartu,
eta ondoren, bigarrenean, j ekin kortxete
da urpekaritza pertsonaiak sartu argv kate jakin horretan.
Eta, ondoren, neurri ona, Linea berri bat inprimatzeko dut hemen.
Beraz, gaur egun utzi aurrera eta ireki zertxobait handiagoa leiho bat sortu
beraz, ikusi ahal izango dugu ekintza.
Let me go karpeta horretan.
Eta orain egin egin argv-2-- whoops-- argv-2, ./argv 2.
Sartu.
Eta gogorra, apur bat da bertikalean irakurtzeko,
baina hori da, hain zuzen ere, izenaren programa, lerro zuri bat, eta jarraian.
Orain aurrera egin eta zer foo me.
, Era berean, gogor irakurtzeko baina da hain zuzen ere, lerro bakoitzeko pertsonaia inprimatzeko.
Eta bar egiten badut, ez da orain lerroz lerro horiek inprimatzeko.
Beraz takeaway hemen ez da hainbeste , hori wow, trikimailu berria neat begiratu
non edukiak at lor dezakezu array bat pertsonaiak zehatzen,
baizik eta nola oinarrizko horiek hartzen ari gara indexatzeko bezalako ideiak array batean,
eta ondoren bat sartu indexatzeko array array horretan izan zen,
eta, besterik gabe, ideia bera erabili Adibide apur bat sofistikatuagoa.
Baina oinarriak benetan ez aldatu, nahiz eta azken astean geroztik.
>> Azken hau da, sort puntuala, horretan, gogora ekarri, astea zero saioa
jokatu telefono-liburu bat hau atsegin dugu.
Eta hori da, jakina, nahiz eta paper pieza fisikoak,
dezakezu motatako pentsatzea telefono-liburu bat array gisa.
Zalantzarik gabe, to reimplement zinen Pieza honetan paper pieza horiek
Ordenagailu bat ere, ziurrenik, zerbait erabili nahi duzun
bezalako array horiek guztiak gordetzeko Izenak eta zenbakiak A modu guztiak aurrera
Z. bitartez Beraz, hau da, polita, zeren Gurekin aukera bat ematen du,
agian, kontuan hartu behar da nola you might egia esan, horrelako zerbait martxan jartzeko.
Ate sorta bat, hemen gertatzen den bezala.
Beraz, I could-- bada bat behar dugu an sortu etorri boluntarioak.
Ikus dezagun.
Ohituta aurpegi bat, beharbada, Ohituta aurpegia agian.
Nola laranja buruz?
Hemen.
Orange kamiseta, goazen gora.
>> Dezagun aurrera orain, eta mugimendua Bizpahiru baino gehiago ate horiek,
mugitu horiek une batez out bidea.
Zein da zure izena?
>> Ajay:
>> DAVID MALAN: Ajay.
David.
Niza zu ezagutzeaz.
Guztiak eskubidea.
Beraz, sei horien atzean dugun Ate digitalki pantailan
edo, hobeto esanda, zazpi ateak pantaila zenbakiak sorta osoa.
Eta esan duzu ez dut ezer in advance-- adostu?
Ajay: aldez aurretik Nothing.
DAVID MALAN: Guztiak egin nahi dut orain da niretzat aurkitu, eta guretzat,
Benetan, 50 zenbakia da, aldi berean urrats bat.
>> Ajay: Zenbakia 50?
>> DAVID MALAN: 50 kopurua.
Eta zer da agerian dezakezu ate horietako bakoitzaren atzean
besterik da ukituko hatz batekin.
Malditos. [Barreak]
>> [Txaloak]
>> Oso ondo egiten.
Ados.
Opari eder bat daukagu zuretzat sari hemen.
Zure film jaso ditugu joan den astean eztabaidatu.
>> Ajay: Oh, man.
Oh, ez dut inoiz ikusi Spaceballs.
>> DAVID MALAN: Spaceballs.
Guztiak eskubidea.
Beraz, une bat besterik ez askatu.
How-- dezagun honen teachable une batean
nola joan zineten 50 zenbakia aurkitzeko?
Ajay: ausaz aukeratu nuen.
DAVID MALAN: Beraz, aukeratu duzun ausaz eta lortu zortea.
Ajay: Bai.
DAVID MALAN: Ados.
Bikain.
Beraz, gaur egun, izan ez duzula Ahaztuak zortea, zer gehiago
agian gertatu dira ate horien atzean?
Beraz, aurrera joan ahal naiz eta Zenbaki horiek hemen agerian,
benetan dute ausaz daude.
Eta onena izan dezakezu egin, Egia, da, azken finean,
kasurik okerrenean ere, egiaztatuz horiek guztiak.
Beraz, lortu duzu super-zortea, eta horrek Ez da zer algoritmo bat deitzen dugu.
Bai, Zorionak.
Baina orain let's-- umorea zidan, ahal izango banu.
Goazen fitxa honetara hemen.
Eta hemen argi zenbakiak zer badirudi ausaz bat izan nahi du,
eta izan ziren.
Baina orain ordez erreklamazioa badut duten ate horien atzean
antolatuko dira zenbakiak dira.
Helburua da orain ere 50 zenbakia aurkitu digu.
Baina egin ezazu algorithmically, eta kontatu digu nola horri buruz ari zaren.
Eta aurki baduzu, filma mantentzeko duzu.
Ez duzu aurkituko da, eman back duzu.
Ajay: Beraz, ez dut muturrak ikusteko joan lehen, behar bada zehazteko there's--
[Barreak eta txalo]
DAVID MALAN: Hementxe dituzu.
Ikus dezagun begirada bat Ajay-ren aurrekoek,
Sean, ez zen nahiko zortea.
Ados, beraz, zure zeregina hemen, Sean, honako hau da.
Dut hauen atzean ezkutatuta Ateak zazpi kopurua,
baina kanpoan bilduta ate horietako batzuetan baita beste zenbakiak ez negatiboa dira.
Eta zure helburua da hori, uste zenbakiak goiko errenkadan array bat besterik ez bezala.
Besterik pieza segida bat gara atzean zenbakiak dituzten paper.
Eta zure helburua da, goitik bakarrik erabiliz array hemen, niri zazpi kopurua.
Eta ari gara, ondoren, kritika joan egiten nola joan zaitezke.
Aurkitu Gurekin zazpi kopurua, mesedez.
N º
5, 19, 13.
Ez da trikimailu galdera bat.
1.
Puntu honetan zure puntuazioa ez da oso ona, beraz, baita dezakezu mantendu egingo da.
3.
Joan.
Egia, ezin dut lagundu, baina harritzekoa zer duzu, nahiz eta pentsatzen ari.
>> SEAN: bakarrik goiko errenkadan dut har dezakete.
DAVID MALAN: Goiko ilara bakarra.
Beraz duzun got hiru ezker.
Beraz, aurkituko me 7.
>> [Ikusleen iradokizunak oihuak]
Horiek, beraz, bai harrigarria izan ziren Arrazoi oso desberdina da.
Beraz, hau da, non gauden utzi duela une bat,
eta funtsezko ezagutzeko hemen zen ate horiek zenbakiak izan
horien atzean ordenatuko ziren, ideal zein eramateko dela egin ahal izango duzu
funtsean hobeto Bigarren adibide honetan
eta, hain zuzen ere, hori izan zen Sean ausazko zenbakiak dituzten lehen saiakera
bezain aurretik baina ahalik eta azkarren zenbaki horiek ordenatuko diren bezala,
telefono-liburuan bezala, zer jakina, egin dezakezu?
Edo nola ahal ezagutza duten leverage duzu?
Bai.
>> IKUSLEEN: erdiraino joan duzu [INAUDIBLE].
DAVID MALAN: Bai.
Zehazki.
Beraz Ajay hasierako sena izan zen muturrak ikusteko, gogoratzen dut,
eta, ondoren, ordenatzeko ditugu bukatutako Adibidez azkar.
Baina hasi badugu hau gehiago egin metodikoki lerro horiek batera,
baina hasita agian ere erdian, ari ordenatuko delako,
agerian dugun bezala bezain laster zenbakia 16, beraz, ezagutzen dugun
eta egin dezagun zehazki dugu horrelako utzi Hortaz jakin 50a, gaur egungo kasuan,
lortu ahal izateko eskubidea izan.
Beraz, besterik ez bezala, aste zero denean ere telefono-liburua Tore dugu erdia
eta erdia bota Arazo kanpoan, ideia bera hemen.
Zati hau bota dugu Arazoaren kanpoan.
Eta, ziurrenik, zer duzu algorithmically egin liteke,
behin 50 behar izan badakizu eskubidea, edozein lekutan bada,
saiatu han, erdian Gainerako ateak.
Jakina, 50 handiagoa da 42 baino gehiago, beraz, ahal dugun
bota hau gainerako arazoa laurdena kanpoan,
eta, azkenik, identifikatzeko 50 antzeko zerbait.
Baina besterik ez bezala telefono-liburua, zenbaki horiek
ziren guretzat dagoeneko eman diren ordena ordenatuko da, eta horrek uzten gaitu
galdera batekin, nola egiten duzu ordenatuko ordena sartu gauzak?
Eta, Egia, zer kostua?
Gauza bat da izan telefono-liburua banatu
eta, ondoren, zure lagunak harritu aurkitzeko arabera telefono benetan azkar, zenbaki bat, ezta?
32 orrialdeak tearing out aurkitu pertsona 4 milioi orriak atera,
Adibide muturreko bat zela esan dugu.
Baina zenbat denbora hartu zuen Verizon telefono liburu hori ordenatzeko?
Zenbat denbora zuen gurekin eraman ezazu zazpi zenbaki horiek ordenatzeko?
Hori galdera bat dugu, beraz, orain arte ez zaio inolako kasurik.
>> Hargatik Erantzun galdera hau orain.
Eta denak filmak atera gara orain, baina estresa pilotak batzuk egiten dugu.
Esan, zortzi boluntario, bada ez litzateke axola gurekin atxikitzeko hemen?
Dezagun aurrera, eta, nola buruz duzu lau, zuk hirutan hemen?
Talde aurpegi berri batzuk.
Eta zuk lau han?
Eta orain ez dezagun biasa hemen eta Zortzi zenbakia hemen bukaeran zehar.
Goazen sortu.
Guztiak eskubidea.
Beraz, hemen zer egin behar dugun zuetako bakoitzak zenbaki bat da.
Joan nahi baduzu Aurrera, hartu zenbaki hau.
Zein da zure izena?
>> Artie: Artie.
>> DAVID MALAN: Artie, ados.
Zenbakia 1 zara.
>> AMIN: Amin.
DAVID MALAN: Amin.
David.
2 zenbakia zara.
Eta joan aurretik, eskuz I gisa duzu paper-orriak,
zuek lerro sortu musikaren aurrean han sortu ordena berean dago.
>> ANDY: Kaixo, Andy.
>> DAVID MALAN: Andy, polita da ikusteko.
3 zenbakia.
>> JACOB: Jacob.
>> DAVID MALAN: Jacob, zenbakia 4.
Ongi etorri itsasontzian.
GRANT: Grant.
DAVID MALAN: Grant.
Zenbakia 5.
>> Alanna: Alanna.
>> DAVID MALAN: Alanna, multzoko 6.
>> FRANCES: Frances.
DAVID MALAN: Frances, kopurua 7.
Eta?
>> RACHEL: Rachel.
>> DAVID MALAN: Rachel, zenbakia 8.
Guztiak eskubidea.
Anima zaitez eta zuk zeuk ordena honetan.
Let me bat jarri gainerako musika leku stand.
Nora egin stand bat behar duzu?
Ados.
Anima zaitez eta jarri zure zenbakiak non ikusleek horien gainean ikusi ahal izango da,
musika stand kanpora begira.
Eta, zorionez, gure lehen behatu check hemen 4, 2, 6.
Oh-oh.
Itxaron minutu bat.
Ez dugu 8.
You kanporatzeko behar dut Adibidez, nolabait.
N º
Ez, hori OK.
Ikus dezagun.
Hau egin ahal izango dugu.
Stand by.
Bertan dugu.
Zuzena.
Guztiak eskubidea.
Beraz, orain dugu 8, 1, 3, 7, 5.
Ados.
Bikain.
>> Beraz, esku artean, galdera da, at zer kostu eta zer metodo bidez,
benetan zenbaki horiek ordenatzeko irudirik dezakegu motatako lan egiten duten atzeraka beraz,
azken finean, eta decide-- da benetan Ikusgarria, benetan eraginkorra,
dudala zatitzea eta konkistatzeko telefono-liburu bat?
Da benetan eraginkorra dela Banatu eta agindu ahal dut
pieza digital horiek paper taula gainean,
nik us kostatuko agian bada denbora edo energia edo CPU zikloetan fortuna
Gure datuak benetan lortu ordena ordenatuko batzuk sartu?
Hargatik eskatu galdera hori.
>> Beraz, lehen off, zenbaki horiek dira nahiko askoz ausaz,
eta naiz, proposatzen dugu I Algoritmo bat, edo prozesua
horren bidez, Folks horiek ordenatzeko dezakegu.
Ra hurbiltzeko noa hau nahiko naively.
Eta ez dut ezagutzen joan asko mota da hori da niretzat
my mind itzulbiratu inguruan Datu osoak aldi berean ezarri.
Baina, zer ezagutzen duzu?
Noa batzuk egiteko marjinala konponketak oso erraza.
4 eta 2 barrutitik kanpo daude, bada Helburua da 8raino on 1etik joan.
Beraz, zer ezagutzen duzu?
Duzu izan nahi dut guys trukatu, aukeratzen baduzu
Fisikoki posizio eta zure pieza paper.
Orain, 4 eta 6, horien ordena dira.
Horiek izan uztea noa.
6 eta 8, horietan komeni da.
Haiekin izan utzi du.
8 and1, behar bezala erabili.
Dituzun bi ez luke axola bada aldaketa.
Orain 8 eta 3, baduzu guys trukatu daiteke.
8 eta 7, baduzu guys trukatu daiteke.
Eta 8 eta 5, baduzu guys trukatu daiteke.
>> Orain, ni egin dut?
Ez, jakina, ez da.
Baina egin ditut egin Egoera hobeto, ezta?
Zer zen berriro zure izena, zenbakia 8?
>> RACHEL: Rachel.
DAVID MALAN: Beraz, Rachel ditu eraginkortasunez bubbled nahiko urrun,
amaieran modu guztiak Nire zenbakiak array hemen.
Eta, beraz, arazo mota hori konpondu.
Orain, argi eta garbi, 2, oraindik ere behar du mugitu pixka bat, eta 4 eta 6 eta 1.
Baina ahaztuak dute bat iruditu zait little konponbidea hurbilago.
Hargatik aplikatu bera honetan inozoa heuristiko berriro.
2 eta 4, OK.
4 eta 6, OK.
6 eta 1, mm-mm.
Dezagun swap.
6 eta 3 mm-mm.
Dezagun swap.
6 eta 7 OK da.
7 eta 5, Laguia.
Dezagun swap.
Eta orain, 7 eta 8.
Eta zein da zure izena berriro?
FRANCES: Frances.
DAVID MALAN: Frances.
Beraz, orain Frances are hobea da jarrera, izan ere, gaur egun, 7 eta 8
behar bezala bubbled goian.
Beraz, 2 eta 4, OK.
4 eta 1, dezagun swap.
4 eta 3, dezagun swap.
4 eta 6, Oraindik Ados.
6 eta 5, dezagun swap.
Eta orain, guys horiek onak dira.
Ia ez gara.
2 eta 1, barrutitik kanpo, beraz trukatu.
Eta orain ni ez behatu check.
2 eta 3, 3 eta 4, 4 eta 5, 5 eta 6, 6 eta 7, 8.
Ados, beraz, egiten ari gara.
>> Baina zer at kostua egin nuen zenbaki horiek ordenatzeko hemen?
Tira, zenbat urrats potentzialki egin nuen Atera Folks horiek ordenatzeko?
Beno, etorri egingo galdera hori itzuli dugu.
Baina, Egia, duzun got bada aspertuta apur bat, hori da
motatako agerian utziz ere hura ez zela agian algoritmo eraginkorrena.
Eta hain zuzen ere, Egia, izerditan naiz are atzera eta aurrera ibiltzeko.
Hori ez sentitzeko bereziki eraginkorra.
Hargatik saiatu beste zerbait.
You guys berrezarri balute zortzi balio horiek zuei.
Lan ona.
>> Ikus dezagun begirada bat digitalki, besterik Une batez, zerbait saiatzen gara, bestela, aurretik,
zer gertatu zen.
Orain arte, zaren bat ikusi buruz zortzi gizakiak horien bistaratzea
Horren bidez, urdin eta gorri tabernak zenbakiak irudikatzeko.
The taller tabernan, handiagoa kopurua.
The laburragoa tabernan, zenbaki txikiagoa.
Eta zer ikusteko zaren da ausaz horietako zortzi baino gehiago.
Taberna horiek ikusten ari zara ohitu algoritmoa, bera horrela antolatu,
edo argibideak pieza, eta horrek dugu aurrerantzean deituko burbuila sort.
Oharra Beraz, bigarren edo, beraz, behin, bi taberna argitzen dira gorriz,
dira alderatu ordenagailua.
Eta gero, gero barra handi eta barra txiki barrutitik kanpo daude,
dutela ari dira niretzat trukatu.
>> Azken hau da, oso lapurtera hau ikustera, zalantzarik gabe,
oso luzea, baina konturatu dira takeaway-- tabernak big eskuinera mugitzen,
taberna gutxi ezkerrera mugitzen.
Dezagun abortatzeko prozesu honetan eta bizkortu hau sortu
askoz azkarragoa izan dadin, beraz, ahal dugun goi mailako zer zentzu bat lortzeko,
hain zuzen ere, burbuila ordenatu egiten da.
Izan ere, sortu bubbling du! eskuineko eskua zerrendaren alde,
edo array, taberna handiagoa.
Eta alderantziz, taberna gutxi dira beren bidea bubbling ezkerreko du behera,
erritmo azkarrago bada ere Aurretik egin dugun baino.
Beraz, gogorragoa gizakiak ikusi, baina ikusmen hori da hain zuzen ere, zer
gertatzen ari zen.
>> Baina gatozen bat saiatu horrek, funtsean, ikuspegi desberdina orain.
Let desberdin bat saiatu Algoritmo horren bidez hemengo
guys original horiek hasteko posizioak, zein izan zen hemen ordena honetan.
Eta dezagun aurrera orain.
Eta ez dut zerbait egin behar da are errazagoa da, ezta?
Atzera begirako, pairwise berriro aldaketa eta, berriro ere, ia pixka bat clever.
Horrek are gehiago naively gauza dezagun, non Folks horiek ordenatu nahi badut,
utzi mantentzeko me besterik bilatzen elementu txikiena da.
Beraz, oraintxe bertan, 4 da txikiena ikusi dut kopurua.
Gogoratzen dut.
Ez, 2 da hobea, eta gogoratu.
1 are txikiagoa da.
3, 7, 5.
Ados.
One-- Zein da zure izena berriro?
>> Artie: Artie.
>> DAVID MALAN: Artie.
Beraz, Artie, aurrera.
Zuk tira line out noa.
Atzera hona etorri balute.
Eta gela egin zion behar dut.
Erabaki puntu bat dugu hemen.
Nola liteke gela egin dugu Artie hemen Hasieran bertan multzoko 1 jabea at?
>> IKUSLEEN: Shift.
>> DAVID MALAN: Ados, dugu Denek filmea daiteke.
Baina optimizatu bat proposatzeko.
Hori sentitzen pixka bat gogaikarriak Niretzat lau pertsonek eskatu
modu guztiak behera eramateko.
Zer gehiago egin nezakeen?
>> IKUSLEEN: Aldatu itzazu.
>> DAVID MALAN: Aldatu itzazu.
Eta zein da zure izena berriro?
>> JACOB: Jacob.
DAVID MALAN: Jacob, mugitu.
Askoz eraginkorragoa besterik behar Jacob swap Artie kokapenak,
behartuz ez bezala guztiak lau Folks horiek,
eskerrik asko, to Beren kokapen zuzena.
Zer da Artie buruz polita gaur egun, da bere jarrera zuzena izan zuen.
Berriro egin dezagun.
2, hori ikusi dut txikiena zenbakia da.
3, 7, 5.
Ados.
2 Behin betiko da txikiena.
Ez dute edozein lan egiteko.
Berriro egin dezagun da.
6.
Txikiena?
8.
Laguia.
4?
Ooh.
Let gogoratu dit 4.
3.
Let gogoratu dit 3.
7, 5.
Txikiena zenbaki dut pass honetan ikus 3 da.
Zinela goazen bada.
Non gaude zuk jarri nahi dut?
Eta zein da zure izena?
>> Alanna: Alanna.
>> DAVID MALAN: Alanna, gaude you kanporatu nahi izan du.
Baina eraginkorragoa dela, bi pertsona besterik ez aldatu,
jende anitz izatea baino benetan sidestep gainean.
Orain Berriro egin dezagun.
4 hautatzeko, beraz, goazen out noa.
Eta nor mugitu egingo da?
Zenbakia 8, jakina.
Orain zenbakia 5 aurkitu dut bada, goazen out.
8 zenbakia da berriro kaleratzen da iritsi.
Naiz orain kopurua 6 aurkitzeko lekuan joan.
Postuan 7.
8 leku.
>> Zer egin dugu orain aukeraketa moduko zerbait deitzen,
eta honek bistaratu badugu, hori apur bat desberdin sentitzen da joan.
Dezagun aurrera, eta hau aurrera menu hemen, visualization-- honetan
dezagun hau aldatu zaie goazen, Firefox.
Hau alda dezagun aukeraketa ordenatu ahal izateko.
Eta dezagun arindu lehen bezala, eta hasi bistaratzea orain.
Eta algoritmo hau dauka bertara hainbat ukitu bat.
Iterazio bakoitzean, Egia, are erraza da.
Besterik elementu txikiena naiz hautatuz.
Orain, Egia, apur zortea bat lortu nuen denbora, izan ere, super-azkar ordenatuko da.
Elementuek ausazko ziren.
Ez da, azkenean dugu gisa Ikus, batez ere azkarrago.
Baina dezagun hirugarren eta final Ea hurbiltzen hemen zer gertatzen den moduan.
Beraz, dezagun aurrera eta mutilak berrezarrita final garai batean, horixe da hemen egotea.
>> Eta orain, ez naiz joan izan apur bat gehiago clever,
besterik biribiltzeko gure algoritmoak.
Horretarako noa.
Ez noa atzera eta aurrera hainbeste.
Egia, nekatuta nago traversing hori guztia.
Besterik ez naiz zer naiz hartzen joan zerrendaren hasieran ematen,
eta naiz ordenatzeko noa duten gero eta han.
Beraz, hemen gaude.
Zenbakia 4.
Zenbakia txertatu noa 4 ordenatutako zerrendan sartu.
Eginda.
Orain aldarrikatzen dut, eta besterik ez hau gehiago egiteko argi eta garbi, nire zerrendako zati honetan ordenatuko da.
Ergelak erreklamazio bat mota da, baina hain zuzen ere, 4 da tamaina bat zerrenda batean ordenatuta.
Orain, naiz den kopurua 2 hartzera joaten nintzen.
Zenbakia 2 orain dut joan Leku egokian txertatzeko.
Beraz, non 2 dagozkio du?
Jakina, hemen baino gehiago.
Beraz, aurrera eta atzera mugitu, ahal izango banu.
Eta zergatik ez duzu guys hartu zure musika zurekin nabarmentzen oraingoan.
Eta dezagun indarrez sartutakoan zerrendaren hasieran sartu.
Beraz, pixka bat gehiago lan.
Inguruan Jacob eraman behar izan nuen, eta zer da zure izena?
>> AMIN: Amin.
>> DAVID MALAN: Amin.
Baina behintzat ez nuen atzera eta aurrera joateko.
Besterik gabe gauzak egiten dudanean joaten naiz eta.
Besterik egin naiz txertatzeak leku egokian.
6, hau da, benetan nahiko erraza.
Dezagun sartzerakoan han, baduzu Nahi baino gehiago pixka bat mugitu.
Zenbakia 8, gainera, nahiko erraza.
Oraintxe han.
Malditos.
Zenbakia 1 Ezin dugu besterik Amin batzuekin trukatu hemen,
hori delako joan nahastea, ordenan izateko.
Beraz, pixka bat gehiago clever izan behar dugu.
Beraz, Artie, baduzu Could babeskopia une batez.
Dezagun aurrera eta filmea, orain, gure aurreko algoritmoak ez bezala,
Artie gela egiteko hementxe hasieran.
Beraz, egunaren bukaeran, mota naiz aurretik ekiditeko zer nahi nuen egiten.
Eta beraz, nire algoritmoa moduko ren alderantziz, intelektualki,
zer zen jatorriz bertatik.
Besterik ez aldatzearen ari naiz egiten beste puntu batean.
Orain naiz 3 at dut.
Oh, madarikatua.
Lan gehiago, berriz ere egin behar dugu.
Hargatik bultza duzu.
Dezagun aurrera 8, 6, 4-- oh oh eta 3 bertan joan da.
Beraz, gutxienez aurrezki arina une honetan.
Egin behar da 7, ez lan gehiegi.
Beraz, pop nahi baduzu itzuli, dezagun sartzerakoan.
Eta, azkenik, 5, baduzu atzera pop nahi, dugu
duzu mugitzeko behar, duzu, duzu, bost arte postuan dago.
>> Beraz, gaur egun hau ikusteko batean maila handia grafikoki,
Egin algoritmo hau utzi bisualizazioa denbora gehigarri bat.
Beraz txertatzeko sort deituko hau dugu.
Exekutatu dugu bezain azkarra, eta hasi da hemen.
Eta hori ere, desberdin sentitzen du.
Honez Ordena hobea lortzean eta hobeto, baina inoiz ez da perfektua da
eta leun joan nintzen arte hutsune horietan.
Zeren eta, berriro ere, ez naiz bakarrik hartuz zer Ez naiz ari da ezkerretik eskuinera eman.
Beraz, ez nuen lortu, beraz, zortea dena ezin hobea izan zen.
Horregatik txiki horiek izan genuen konpondu dugu denboran zehar mispositions.
>> Beraz, algoritmo horiek guztiak badirudi urrats zertxobait ezberdinetan exekutatu.
Izan ere, zein esango zenuke dela onena edo azkarrenak, orain arte?
Burbuila ordenatu, lehena?
Aukeraketa ordenatu, bigarrena?
Txertatzeko sort, hirugarrena?
Aukeraketa mota batzuk entzuten dut.
Beste pentsamenduak?
>> Beraz, izarrekin bihurtzen da Algoritmo horiek guztiak
dira, funtsean, besterik ez bezain eraginkorra other-- bakoitzean edo, alderantziz, hori bezain
bata bestearen gisa eraginkorra, funtsean, egin ahal dugulako
guztiak hiru baino hobeto Algoritmo horiek.
Eta hori gezur zuri bat pixka bat da, gehiegi.
orduan eraginkor gisa esaten dut edo eraginkorra ez bezala,
hori da gutxienez n balioak super-handi.
Zortzi pertsona besterik ez dugu hemen, edo agian 50 edo, beraz, pantailan tabernak,
Erabat ezberdintasunak nabarituko duzu Hiru Algoritmo horien artean.
Baina n bezala, pertsona kopurua, Zenbaki edo kopuruaren arabera,
edo telefonoaren pertsonen kopurua liburu edo web orrialde kopurua
Google-ren datu-basean handiagoa eta handiagoa lortzen du,
Ikusiko dugu hori guztia horien hiru algoritmoak egia esan, nahiko pobrea.
Eta, batez ere egin ahal izango dugu Hori baino hobea.
>> Ikus dezagun begirada bat, azkenik, zer algoritmo horiek erabilgarri dauden
batean bezala soinua beste batzuk testuinguru
baita honen bidez Bisualizazio hemen
gaituen aurkeztuko dute nahi algoritmoak zenbaki bat.
Dezagun aurrera eta zoriondu gure parte hona, horietatik guztiak
oso txukun antolatuta beraiek.
Nahi baduzu parting opari bat hartu.
Zure zenbakiak, baita jarrai dezakezu.
Eta zer ikusiko duzu, edo, hobeto entzuteko, orain,
dela soinuak jarri dugu taberna horietako bakoitzari
eta erlazionatuko softwarea, soinuaren maiztasun ezberdinak,
your mind audioly gehiago itzulbiratu dezakezu zer gauza horiek bakoitzaren inguruan
itxurarik.
Horietatik lehena txertatzeko sort da
>> [TONES]
>> Horrek burbuila sort da.
>> [TONES]
>> Aukeraketa sort.
>> [TONES]
>> Zerbait merge sort deitu.
>> [TONES]
>> Gnome sort.
>> [TONES]
>> Hau CS50 da.
Asteazkenean ikusiko dugu.
>> Narratzailea: Eta orain, "Deep Pentsamenduak, "Daven Farnham arabera.
Zergatik da loop?
Zergatik ez da hobea izan dadin?
Bost begizta bat egin nahiko nuke.
>> [Barreak]