>> [Musika jotzen]
>> ANDI Peng: Ongi aste 3. ataleko izateko.
Eskerrik asko, you guys etortzeagatik Gaur, hasteko, honek denbora lehenago.
Lortu dugu polit bat, gutxi gaur intimo taldea.
Beraz, espero dugu lortu dugu akabera, agian, hasieran,
Pixka bat gaur goiz.
Beraz, azkar, besterik batzuk gaur agenda deialdiak.
Hasi aurretik dugu, ez gara besterik gabe, joan baino gehiago joan
arazo logistiko batzuk laburrak, pset galdera, debrief, horrelako gauzak.
Eta gero, eskuin murgiltze egingo dugu.
GDB izeneko arazteko bat erabiliko dugu hasteko gure kodea, desmitifikatzeko bertan David
Lehengo egunean hitzaldian azaldu.
Lau ordenatzen mota baino gehiago dugu.
Horien gainean dugu nahiko azkar joan Nahiko intentsiboa ari baitira.
Baina jakin diapositiba guztiak eta iturburu-kodea online dira beti.
Beraz, sentitzen free, zure marrazki berean, atzera egin eta begirada bat hartu.
>> Egingo da pasatzen dugu Notazio asintotikoa, bertan
modu dotore bat besterik ez da esaten "runtimes,"
non handi O, ez dugu bertan David hitzaldia azaldu.
Eta guk ere Omega, bertan behekoan lotuak runtime da.
Eta hitz egin dugu pixka bat gehiago Sakona nola lan dagokienez.
Eta, azkenik, dugu bilaketa bitarra baino gehiago joan, duzulako asko dituzten dagoeneko
zure psets at begiratu seguruenik ezagutzen duten duten galdera bat, zure pset ere egin da.
Beraz, guztiak izango zara zoriontsu Gaur hau estali garela.
>> Eta, azkenik, per zure feedback atal, I actually
15 minutu inguru utzi at amaierara Joan besterik
pset3 logistika, edozein galdera, agian, orientazio apur bat, izango bada,
programazio hasi aurretik.
Beraz, saia gaitezen bidez lortu material nahiko azkar.
Eta gero, denbora pixka bat pasatzeko aukera izango dugu pset egiteko galdera gehiago hartzeko.
ONDO DA.
>> Azkar, beraz, gutxi batzuk besterik ez dugu aurretik deialdiak hasiko da gaur.
Lehenik eta behin, egiteko ongi etorria zure psets bi bidez.
Begirada bat hartu nuen your-- en bai, utzi at txalo txanda horretarako nahikoa lortu.
Egia esan, benetan izan dut, benetan harrituta.
Lehen pset kalifikatu I zaudete azken astean, eta you guys egin sinestezina.
>> Style puntua izan zen batzuk iruzkinak gainera.
Ziurtatu Oraindik beti Zure kodea komentatuz.
Baina zure psets puntua izan ziren.
Eta mantentzeko sortu.
Eta kalifikatzailearen ona da Ikusten duzu guys duten jarriz
Zure estilo ahalegin askoz ere eta zure diseinu zure kodea
Hori nahi dugu ikusiko duzu.
Beraz, nire eskerrona batera pasatzen ari naiz IL du osorako.
>> Hala ere, badaude debrief galdera batzuk
Pasatxo joan nahi dut Nire bizitzako bi egingo luke
eta beste asko IL 'bizi pixka bat errazagoa.
Lehenik eta behin, nabaritu dut honetan iragan astean Zuetako zenbatek
izan check50 exekutatzen on Zure kodea duzu lehenago aurkeztu?
ONDO DA.
Beraz, denek izango check50 egiten behar, zeren, sekretu bat dugu benetan
exekutatu check50 gure zuzentasun baitan Zure kodea probatzen gidoiak.
Beraz, zure kodea ezean bada check50, aukera guztiak,
seguruenik joan huts egin gure check baita.
Batzuetan mutilak erantzun egokia dute.
Bezala, Greedy ere, zenbait zenbaki egokiak behar duzu,
Aparteko gauza batzuk besterik ez duzu inprimatzeko.
Eta gauza hori aparteko benetan egiaztapenak huts,
Ordenagailua ez delako dakit zer da bilatzen.
Eta horrela, besterik gabe exekutatu bidez egingo da, Ikus zure irteera Ez du
etortzeko zer erantzuna espero dugu izan, eta markatu okerra da.
>> Eta hori gertatu zen jakin dut Zure kasu batzuk aste honetan.
Beraz, atzera eta eskuz joan nintzen regraded guztion kodea.
Etorkizunean, nahiz eta, mesedez, mesedez, ziurtatu
Hori exekutatzen ari zaren egiaztatu 50 zure kodea.
TA mina bat mota delako atzera joan eta eskuz berriz kalifikatzeko dute
bakoitzean pset bakoitzean bakarra bakar, gutxi faltan botatzen adibidez.
Beraz, ez nuen hartu off postuetatik.
Uste dut off hartu dut, agian, Bat edo bi diseinua egiteko.
Etorkizunean arren, balitz check50 ezean zu,
puntuak hartuko dira zuzentasuna off.
>> Gainera, psets dira Eguerdian ostiraletan ondorioz.
Nik uste dut ez zazpi minutu bateko grazia berantiarreko ematen dizugu.
Harvard denbora Per, ari dira onartzen zazpi minutu guztia berandu.
Hortaz, hona hemen Yale, dizkizugu Hori atxikitzen baita.
Baina nahiko askoz, 12:07 etan, Zure pset ez bada ere,
nik bezala berandu markatuta egongo da.
Eta berriz, orain dela markatuko da berandu, TA-- naiz
oraindik ere zure psets kalifikatzean joan.
Beraz, oraindik ere izango duzu ikusi nota bat agertzen.
Hala ere, jakin artan seihilekoaren amaieran,
psets berandu guztiak bakarrik izango automatikoki ordenagailu bidez zeroed.
>> Horretarako dugu, bi arrazoirengatik.
Bat, batzuetan lortu dugu desenkusatu, dean en aitzakiak bezala,
Horrela, denborarekin, ez dut oraindik ezagutzen.
Beraz, ziur kalifikatzean ari gara egin nahi dugu badaezpada dena, bezala, ez naiz
dean baten aitzakia falta.
Eta, bestetik, mantendu ere gogoan, oraindik dezakezu
jaregin pset bat dagoela esparrua puntu osoa du.
Eta beraz, nahi dugun hori kalifikazioa zure psets guztia besterik
ziur zure esparrua en Han eta horietako saiatzen ari zaren.
Berandu Beraz, nahiz eta, oraindik ere izango duzu eskuratu kreditu esparrua puntu, uste dut.
>> Beraz moral istorioa da, egiteko Ziur zure psets Hemen on-time.
Eta ez dira on-denboran bada, Ezagutzen ez dela handia.
Bai, aurrera egin nuen aurretik, ez du inor pset feedback edozein galdera?
Bai.
>> Ikusleak: egin dugu esan duzu psets bat askatu ahal?
>> ANDI Peng: Bai.
Beraz, ez da bederatzi psets orokorra seihilekoan zehar.
Eta esparrua baldin baduzu erakuslea puntu hain esparrua besterik ez da,
nahiko askoz, ari zaren saiatzen du Arazoa, ari zara jartzen denboran,
dira, amesten duzun erakutsiz duzu frogatu zehaztapenak irakurri duzun.
Hori nahiko askoz esparrua da.
Eta betetzen ari bazara esparrua puntuak, dugu
txikiena askatu ahal Bat esparrua beteta daudelarik.
Beraz, zure abantaila ere egin nahi osatzeko eta saiatu pset guztietan.
>> Nahiz upload-- bat ere ez bada , lan horiek horiek guztiak igo.
Eta gero, dugu, zorionez, izan gai emango dizu puntu horietako batzuk atzera.
Cool.
Beste edozein galdera?
Great.
>> Bigarrenik, bulego hours-- gutxi barru bulego orduetan buruzko ohar azkar.
Beraz, lehenik eta behin, etortzen aste hasieran.
Inor ez da inoiz bulego astelehenetan ordu.
Christabel iritsi zen bulego orduetan bart.
Bai, Christabel.
Eta zer egin behar bulegoan dugu ordu bart, Christabel?
>> Ikusleak: izozkiak izan genuen.
>> ANDI Peng: Beraz, hori da, izan genuen izozkia bulego orduetan bart.
Ezin dut ez bitartean agintzen duten Izotz bulego orduetan krema izan dugu
Astero, zer duzu agintzen dut da, ez dagoela bat izango da, nabarmen
TA ratioa ikaslea hobea.
Egiaztatzeko bezala, hiru bat bezalakoa da.
Berriz, kontrastatu horrekin Osteguna, 150 bat lortu duzun
benetan azpimarratu haurrekin eta izozkiak ez.
Eta besterik edonork produktiboa ez da.
Beraz, istorioaren morala da, goiz etorri bulego orduetan eta gauza onak
gertatuko da.
>> Era berean, zatoz prestatu galderak.
Badakizu?
Zer IL edozein izanda ere, I Nik uste, esaten dute,
izan dugu pare ikasle bat lortzeko atzo, eta atsegin, 10:50 diradenéc
ez balitz zehaztapenak irakurri lagundu dit honela izanik ere, lagundu dit.
Zoritxarrez, puntu horretan, ez da lagunduko den, ez da hainbeste egin ahal izango dugu.
Beraz, mesedez, aste hasieran.
Zatoz goiz bulego ordu.
Goazen prestatutako galderak.
Ziurtatu duzula, jo Ikasle bat, non
horrela izan behar duzu IL batera gidatu ahal,
bertan bulegoan zer ordutan da beharko liratekeen emandako.
>> Bigarrenik, beraz, irakasleek ezagutzen dut nahi digu harritzen probak.
Irakasle batek horiek izan nuen bezala, yo, bide batez,
epe ertainera gogoratzen Datorren astelehenean duzu.
Bai, ez nuen epe ertainera dute ezagutu.
Beraz, ez dut nahi hori izan joan TA galdetegi hori guztia gogorarazten
0-- badakizu, zeren, CS gaude.
Orain egin arrayak ditudan dugu, lortuko duzu zergatik galdetegi 0 da, ez lehiaketa 1, eh?
ONDO DA.
Oh, inork horretan Chuckles batzuk lortu nuen.
ONDO DA.
>> Beraz galdetegi 0 urriaren 14an izango da, bada Oraindik astelehenetik asteazkenera atalean duzu
eta urriaren 15 Oraindik ere bada Asteartetik ostegunera atalean.
Horrek ez du esan eskatzeko duzuenontzat Harvard
who-- guztiak izango zara, uste dut 14an zure galdetegiak hartuz.
>> Beraz, bai, datorren astean, bada David, hitzaldia, doa,
Bai, beraz, horri buruz galdetegi datorren astean, duzun guztia
Ezin izango delako harritu atal heldu ziren
eta badakiela zure galdetegi 0 bi asteetan da.
Eta berrikuspena izan dugu saioak eta dena.
Beraz, kezkak ez ari dela beldur.
Edozein zalantza edozein galdera aurretik buruzko gaiak logistiko guztietan,
kalifikatzeko, bulego orduetan, atal?
Bai.
>> IKUSLEEN: galdetegi da den hitzaldian zehar izango da?
>> ANDI Peng: Bai.
Beraz, galdetegi, nire aburuz, 60 da ordutegian horretan emandako minutu
Besterik ez duzu hartu duten areto batean.
Beraz, ez duzu ere etortzen , on bezala, ausazko 7:00 PM.
Da dena ona.
Bai.
Cool.
>> Ados.
Beraz, goaz kontzeptu bat aurkeztu nahi
aste honetan David dagoeneko mota ukitu buruzko hitzaldia iragan aste honetan.
Honez GDB deitzen.
Zenbat eta zuetako askok, berriz, zure psets idazteko ikastaroa,
botoia handi bat dela dio nabaritu dute "Aratze" Zure IDE goiko aldean?
ONDO DA.
Beraz, orain benetan dugu lortu ditu unearth Zertan botoia misterioa benetan
egiten du.
Eta bermatzen dut, bat da eder, gauza ederra.
>> Beraz, orain arte, uste dut Ez da bi gauza izan dira
ikasleak dute normalean egon psets arazketa denean egiten.
One, bai gehitu dute printf () - lerro batzuk behin eta beraz,
gehitu printf () dute - Oh, zer aldagai hau?
Oh, zer aldagai hau da da gaur egun eta ikus-mota duzu aurrerapena
Zure kodea exekutatzen bezala.
Edo bigarren metodoa haurrekin egin da gauza osoa idatzi besterik ez dutela
eta, ondoren, hau bezalako joan amaieran.
Zorionez funtzionatzen duen.
Bermatzen dut, GDB hobea da metodo horiek biak baino.
Bai.
Beraz, hau da zure lagunik onena izango da.
Gauza eder bat delako ikusmen pantailetan bai
Zein da zure kodea ari da Puntu jakin batean
baita zer guztietan bezala, zure aldagaiak, egiten ari dira
zer bere baloreak dira bezala, Puntu zehatz hartan.
Eta horrela, benetan dezakezu Zure kodea eten ezarri.
Lerro bidez dezakezu exekutatu lerro.
Eta GDB besterik ez egiteko duzu, zuretzat zabalduta,
zer guztiak zure aldagai- dira, zer diren, egiten
Zer gertatzen ari kodean.
Eta, besteak beste, modu batean, da beraz, askoz errazago ikusi
ordez zer gertatzen printf-ing edo behera zure adierazpenak idaztea.
>> Beraz, horren adibide bat egin dugu geroago.
Beraz, hau abstraktu samarra dirudi.
Kezkak, adibide egingo dugu.
Eta, beraz, funtsean, hiru handienak, gehien erabiltzen diren funtzio izango GDB behar duzu
Hurrengo dira, urrats baino gehiago, eta botoiak sartu urratsa.
Noa buru han, benetan, oraintxe.
>> Beraz, ezin duzu guys guztiak ikusten edo behar dut mapan pixka batean?
Atzerago, ahal dela ikusten duzu?
Beharko dut mapan ere?
Pixka bat?
Ados, cool.
Hor dugu.
ONDO DA.
>> Beraz, hemen daukat, nire Greedy ezartzeko.
Eta zuk mutil asko idatzi zuen bitartean berriz, begizta hori form-- ere greedy
a egiteko modurik onargarria da da, besterik gabe, beste era batera egiteko it
modulo banatzeko.
Orduan izan delako dezakezu zure balio eta, ondoren, zure gainerako.
Eta gero bakarrik egin ahal izango dituzu gehitu guztiak elkarrekin.
Zer egiten ari naiz logikatik egiten du Hemen zentzurik guztiontzat,
dugu hasi aurretik?
Kind of?
Cool.
Great.
Nahiko sexy zati bat da Kode-, esango nuke.
Atsegin dut, esan nuen David, in Hitzaldia, pixka bat egin ondoren,
Egingo guztiak kodea ikusten hasten zara hori ederra den zerbait bezala.
Eta batzuetan ederrak ikusten duzu kodea, besteak beste, sentimendu zoragarri bat da.
>> Beraz, ordea, kode hau berriz, oso da ederra, ez du behar bezala funtzionatuko.
Hargatik hau exekutatu check50.
Check 50, 20 oop.
2?
Pset2 dela?
Bai.
Oh, pset1.
ONDO DA.
Beraz check50 exekutatu dugu.
>> Eta gisa you guys hemen ikusi ahal izango da, kasu pare bat izan ezean ari da.
Eta batzuk, egiteko zure arazoa ezartzen ari jakina,
Oraindik, hala ah, zergatik ez da lan.
Zergatik da batzuentzat lan egiten balioen baina ez da besteak?
Beno, GDB duzun figura laguntzeko va zergatik egindako sarrera horiek ez ziren lanean.
>> ONDO DA.
Beraz, ikus dezagun, bat txekeak check50 I ezean zen
sarrerako 0,41 balioa izan zen.
Beraz, erantzun zuzena dela lortzean egon behar duzu 4 da.
Baina horren ordez, zer naiz inprimatzen 3-n, eta hori ez da zuzena.
Hargatik exekutatu en besterik honetan eskuz, besterik ziurtatu check50 hori lanean.
Egin ./greedy utzi.
Ene, Greedy egin nahi izan dut.
Hor dugu.
Orain ./greedy.
>> Zenbat zor da?
Egin dezagun 0.41.
Eta bai, hemen ikusten dugu Honez irteera dela 3
Erantzun zuzena, hain zuzen ere, 4 izan behar du.
Hargatik, sartu GDB eta ikusi nola egiten dugu daiteke arazoa konpontzen joango.
>> Beraz, lehen urratsa Beti zure kodea arazketa
da etendura ezarri den, edo, une batetik duzu
Ordenagailuan edo nahi begira hasteko araztailea.
Beraz, ez baduzu, ez benetan Badakizu zure arazoa zein den,
normalean, ohiko gauza egin nahi dugu ez da gure etendura ezartzeko nagusian.
Beraz, zuk mutil hau ikus daiteke gorria botoia bertan,
Bai, izan zen niretzat ezarpena bat funtzio nagusia for eten-puntua.
Hori sakatu dut.
>> Eta gero Igo dezaket nire Debug botoia.
Botoia jo nuen.
Gerturatzeko atzera me out ahal badut.
Hor dugu.
Beraz, ez dugu hemen, eskuin aldean panel bat.
Sentitzen dut, mutilak atzealdean, zuk ezin benetan oso ondo ikusten.
Baina, funtsean, guztiek eskuineko panel hori egiten ari da
bai nabarmendutako jarraipena da line, eta kode-lerro da
Ordenagailua: exekutatzen ari da, baita zure aldagai guztiak bezala
Hemen behera.
>> Beraz, lortu duzun zentimo, txanponak, n, guztiak gauza desberdinak deklaratu
puntu honetan.
Kezkak, izan dugulako, ez benetan hasieratu horiek aldagai Edozein oraindik.
Zure ordenadorean Beraz, zure ordenagailua besterik ez da ikusten,
Oh, 32767 erabilitako azken funtzioa zen memoria nire ordenadorean espazio hori.
Eta beraz, non zentimo da gaur egun.
Baina ez hori behin-kodea exekutatzen, hasieratu bihurtu behar da.
>> Beraz, goazen bidez, lerroz lerroan, zer gertatzen da hemen.
ONDO DA.
Hauxe dira hirurak Hori azaldu besterik ez dut botoiak.
Play, edo exekutatu funtzioa daukazu, botoia, botoi baino gehiago Step duzu,
eta, era berean, botoia sartu urratsa egin behar duzu.
Eta, funtsean, guztiek hiru Zure kodea bidez bakarrik beraientzat joan
eta hainbat gauza egin.
>> Beraz, normalean, noiz ari zaren arazteko ez dugu nahi, besterik hit Play,
Play aski da delako Zure haren amaierara kodea.
Eta gero, ez duzu benetan Badakizu zein den zure arazoa
da anitz eten ezarri ez baduzu.
Anitz eten ezartzen baduzu, besterik automatikoki geratuko da
Etendura bat exekutatu, hurrengo, hurrengo etorri dira.
Baina kasu honetan dugu bat besterik ez dela, garelako
Gure bidean lan egin nahi gora behera behera from.
Beraz, botoi hori alde batetara joan oraintxe programa honen helburuetarako.
>> Beraz, funtzio gehiagoko urratsa besterik lerro bakar behin baino urrats
eta esaten dizu zer Ordenagailua egiten ari da.
Funtzio sartu urratsa doa benetako funtzioa sartu
Hori da zure kode line on da.
Beraz, adibidez, printf bezala (), duten funtzio bat da, ezta?
Nahi izanez gero, fisikoki urratsa printf () funtzioak sartu,
Benetan nuke pieza sartzen joan non printf () idatzi zuen, eta ikusi kodea
zer ari den gertatzen ez.
>> Baina normalean, suposatuko dugu hori Kodea emango dugu lan.
Printf () ari da lanean, bere gain hartzen dugu.
Suposatuko dugu GetInt () funtzionatzen duela.
Beraz, ez da ez da beharrezkoa funtzio horiek aukera ematen dute.
Baina ez da funtzio bada zeuk idatzi duzula
egiaztatu nahi duzula Zer gertatzen ari out,
zapaldu nahi zenuke Funtzio hori sartu.
>> Beraz, oraintxe besterik goaz to Kode zati hura gainetik.
Beraz, ikus dezagun.
Oh, inprimatu, "Oh hai, nola askoz aldaketa zor da? "
Guk ez dugu axola.
Duten lan ezagutzen dugu, beraz, etsaiak pasatu genuen.
>> Beraz, n, eta horrek gure karroza dela initialized-- dugu edo declared--
goialdean gora, orain gaude (hori lortzea GetFloat izateko).
Hargatik zapaldu baino.
Eta ikusi dugun beheko hemen, programaren
da niretzat balio bat galdetu sarrera.
Hargatik sarrerako balioa nahi dugu Hemen probatzeko, horietatik 0,41 da.
Great.
>> Beraz, orain n-- egiten duzu guys ikusi Hemen,, beheko aldean da
gordeko dugulako ez dute oraindik biribila, da
bezalako erraldoi honetan gordeta karroza duten 0,4099999996 da,
hau da, nahikoa hurbil gure helburuetarako, oraintxe, 0,41 da.
Eta gero, geroago ikusiko dugun bezala dugu programa baino gehiago zapaltzeko jarraitzeko,
Hemen gaude, n bihurtu biribildu eta zentimo ditu 41 bihurtu.
Great.
Beraz, badakizu, gure biribilketak lan garela.
Badakigu dugula zentimo kopuru zuzena,
beraz, ezagutzen dugun hori da Ez benetan arazoa.
>> Beraz, pauso batzuk jarraitu dugu Programa honen gainean.
Hemen dugu.
Eta beraz, kode lerro honen ondoren, dugu Jakin behar zenbat laurden behar dugu.
Jauzi dugu.
Eta ikusten duzu egiten dugu, hain zuzen ere, behar bat hiruhilekoan Nik kentzen ditugu 25 delako
Gure 41 hasierako balio from.
Eta 16 ezkerretik gure zentimo ditugu.
>> Denek ulertu nola programaren bidez zapaltzeko da
eta zergatik zentimo bihurtu da orain 16 eta horregatik, gaur egun, txanpon bihurtu 1?
Da guztiontzat logika hori honako?
Cool.
Puntu honetan, beraz, etorri programan lan, ezta?
Badakigu zehazki egiten da zer nahi dugun.
Eta ez dugu benetan inprimatu behar, ai, zer
puntu honetan zentimo da, zer puntu honetan txanponak da.
>> Programaren bidez ari Jarraitu.
Urratsera baino.
Cool.
Dimes errepasatuko ditugu.
Great.
Duela horrek hartutako ikusi dugu off $ 0.10 dime bat.
Eta orain, bi txanpon ditugu.
Hori da zuzena.
>> Eta pennies errepasatuko ditugu ikusiko dugu Nik dugun zentimo baino gehiago utzi egin da.
Hmm, hori arraroa da.
Hemen programa ireki, I zen ustezko Nire pennies kentzen dute.
Agian besterik ez nengoen lerro eskubide hori egiten.
Eta, ai, ikusi ahal izango duzu Hemen, ezagutzen dugulako
hori zapaltzeko dugu 32 eta 33 lerro bidez,
Hori non gure programa da gaizki izan aldagai exekutatu.
Beraz, begiratu eta ikusi, ai dezakegu, Zentimo kenduz naiz hemen,
baina ez naiz benetan nire txanpon balio gehituz.
Zentimo I gehituz naiz.
Eta ez dut nahi gehitzeko zentimo, gehitu txanponak nahi dut.
Beraz, aldatu dugu txanpon hori bada, Nik, lan-programa bat lortu dugu.
Check50 exekutatu ahal izango dut.
Besterik irteteko ditzakezu GDB eskubideaz Hemen, eta gero berriro exekutatu check50.
Besterik ezin dut egin.
Greedy egin nahi izan dut.
0.41.
Eta hemen, argitalpena da erantzun egokia out.
>> Beraz Ikus dezakezuenez bezala, GDB tresna benetan boteretsua da
denean hainbeste kodea daukagu ​​egiteko gertatzen eta aldagai hainbeste
guretzat gogorra dela, gisa giza, segimendua egiteko.
Ordenagailua, GDB batean araztailea, gaitasuna du
dena segimendua egiteko.
Badakit, Visionaire ere, ziurrenik mutil duzu segmentazio hutsegite batzuk jo izan liteke
exekutatzen ari duzulako Zure array mugetatik kanpo.
Zesarren Adibide gisa, hori da zehazki zer dut hemen inplementatu.
>> Beraz egiaztatzeko ahaztua dut zer gertatuko litzateke I
ez bi komando lerroko argumentuak dute.
I besterik ez check horretan jarri.
Eta beraz Debug-- exekutatu bada I ezarri Han eskuinera nire etendura-.
Araztu exekutatu dut.
>> ONDO DA.
Bai.
Beraz, benetan, GDB zen ustezko Esan zidan ez
segmentazio errua bat zegoen.
Ez dakit zer gertatzen zen bertan, baina denean ran I,
zen lanean.
When bidez kode lerro exekutatzen duzun eta GDB agian besterik-batean zuk irten,
igo eta begiratu errore gorri zein den.
Esango It dituzu, beno, zuk segmentazio matxura bat izan zuen,
horrek esan saiatu duzula sarbidea izateko sorta bat espazio hori ez da existitzen.
Bai.
>> Beraz, hurrengo arazoa ere Aste honetan ezarri, you guys
izango da ziurrenik asko izan aldagai inguruan flotatzen.
Oraindik ez duzu ziur izan behar du zer denek ere esan nahi puntu jakin batean.
Beraz GDB izango da benetan lagunduko duzu kalkulatzen dutena guztiak berdindu dira
eta ikusmen ikusi ahal izatea.
Da inor nola nahastu Hori edozein zen lanean?
Cool.
Ados.
Beraz, horren ondoren, gauden eskubidea murgiltze joan
lau ezberdinak dira Aste honetarako mota mota.
Nola asko, lehenik guztia, hasi aurretik,
Irakurri egin pset3 zehaztapenak osoan zehar?
ONDO DA.
You guys harro nago.
Hori da, klase erdia, adibidez, horiek Azken ordua baino nabarmen gehiago da.
>> Beraz, hori da handia, zeren edukiari buruz hitz egiten dugu
lecture-- edo Sentitzen ere, Atal hasi zait gustatzen
Hori asko erlazionatzeko pset du zein atzera
eta nola nahi duzun ezartzea zure pset direla.
Beraz, bada ethor bada zehaztapenak irakurri, egingo
Errazagoa izan daiteke ulertzen duzun zer esango dizut buruz ari naiz,
oh beno, hau benetan izan liteke leku ona moduko hau martxan jarri ahal izateko.
Beraz, nork irakurri duzuenontzat du Badakizu zehaztapenak, zure pset parte gisa,
ra izan zaren joan moduko mota bat idazteko.
Beraz, hau oso lagungarria izan daiteke zuk asko gaur.
>> Beraz, hasi egingo off dugu, funtsean, mota gehien simple
ordenatu, aukeraketa sort.
Algoritmoa tipikoak nola litzaidake honetan joan gara
is-- David hauen bidez joan guztietan hitzaldia, beraz, ez dut azkar mugitu batera
funtsean da hemen, zuk balioak array bat.
Eta gero aurkituko dituzu Sailkatu balio txikiena
eta balio hori trukatu duzu Lehenengo Sailkatu balio.
Eta gero, besterik gabe, gorde duzu errepikatuz Zerrendako gainerako.
>> Eta hemen azalpen bisuala da nola funtzionatuko lukeen ere.
Beraz, adibidez, hasteko bagenitu bost elementu multzo bat, indize
0 eta 4, 3, 5, 2, 6, eta 4 balioak array batean jartzen da, beraz, oraintxe,
Ari gara suposatuko joan Sailkatu ari dira guztiak
ez ditugun bestela probatu delako.
>> Beraz, nola aukeraketa moduko bat litzateke lana da lehenengo zela
osotasunean zehar ibiltzen Unsorted array.
Jaso luke balio txikiena.
Kasu honetan, 3, eskuineko orain, txikiena da.
Lortzen den 5 da.
Laguia, 5 da ez baino handiagoa edo barkatu, ez da gutxiago 3 hau baino.
Beraz, gutxieneko balioa da oraindik 3.
Eta gero 2 dituzu.
Ordenagailua ikusten, ai, 2 3 baino txikiagoa da.
2 orain gutxieneko balioa izan behar du.
Eta, beraz, lehen balio duten 2 swaps.
>> Beraz pass bat egin ondoren, hain zuzen ere, ikusi dugu 2 eta 3 trukatu dira.
Eta ari gara egiten jarraituko du hau berriro gainerako array batera.
Beraz, besterik gabe, ihes igaro Azken lau array-indizeak.
Ikusiko dugu hori 3 da hurrengo gutxieneko balio.
Beraz, hori trukatu 4 doa.
Eta gero, besterik ez gabiltza mantentzeko joan exekutatzen bidez, arte, azkenean, zuk
ordenatuko array bat lortu eta bertan 2, 3, 4, 5, eta 6 ordenatuko dira guztiak.
Denek logika ulertzeko nola aukeraketa moduko bat lan egiten du?
>> Nolabaiteko Nahikoa duzu gutxieneko balioa.
Zer den pista mantenduz ari zara.
Eta guztietan aurkituko duzu, trukatu duzu array batean lehen balioa
edo, ez da lehen balioa Array en hurrengo balioa.
Cool.
>> Beraz, mota you guys gisa ohi labur bat ikusi,
hau pseudocode kanpo goaz.
Beraz, bada atzealdean mutil duzu nahi talde bat, denok mahai batean osatzeko
bazkide apur bat era daiteke, noa duzu hiru minutu bezalako mutil emateko
besterik hitz bitartez logika, ingelesez,
la nola ezartzeko ahal izango dugu pseudocode aukeraketa moduko bat idazteko.
Eta han, gozoki da.
Mesedez, zatoz gora eta gozokiak.
Oraindik atzealdean bada eta nahi duzun gozokiak, gozokiak bota dezake dizkizut.
Egia esan, ez zu cool.
Oh Barkatu.
ONDO DA.
>> Beraz, bada, nahi den bezala genuke klasea, idazketa pseudocode bat
nola liteke hurbiltzen batentzat Arazo hau, besterik gabe, sentitzen free.
Dut joan inguruan eta, ordenan, eskatu talde
hurrengo lerroa erabiliz egiten egon beharko dugu.
Beraz, zuk mutil hasi nahi izanez gero off, zer da lehenengo gauza
denean saiatzen ari zarela egin programa hau konpontzeko modu bat ezartzeko
Zerrenda bat selektibo ordenatzeko?
Dezagun, besterik gabe, bere gain hartzen dugu Array, eskuineko guztiek dute?
>> Ikusleak: batzuk sortu nahi duzu Sort [INAUDIBLE] zarela
Zure array osoa zeharkatzen.
>> ANDI Peng: Eskuin.
Beraz ari den batetik bestera joateko nahi zoazen espazio guztietan barrena, ezta?
Beraz, handia.
You guys me emateko nahi baduzu hurrengo yeah lerroan, atzealdean.
>> Ikusleak: Begiratu itzazu guztiak txikiena da.
>> ANDI Peng: Bertan dugu.
Beraz, bidez joan eta begiratu nahi dugu ikusi zer gutxieneko balioa da, ezta?
Laburtu nahi duten noa "min".
Zer egin ondoren egin nahi duzu guys Agertu den gutxieneko balioa?
>> Ikusleak: [INAUDIBLE]
ANDI Peng: Beraz zu nahi joan piztu array hori lehen batera,
ezta?
Hori da hasieratik, esatera noa.
Ados.
Beraz, orain trukatu duzula lehena bat, zer egin behar duten ondoren egin nahi duzu?
Beraz, gaur egun ezagutzen dugun hau hemen balio txikiena izan behar du, ezta?
Ondoren, gainerako osagarri bat behar duzu Array hori Sailkatu of.
Beraz, zer egin behar dugu hemen, nahi izanez gero, nahi duzun Mutil dit hurrengo lerroan eman nahi?
Ikusleak: Orduan batetik bestera joateko nahi duzu Array gainerako zehar.
ANDI Peng: Bai.
Eta beraz, zer dauka bidez errepikatzean motatako esan nahiko ziurrenik dugu behar?
Zer nolako of--
>> Ikusleak: Oh, aldagai gehigarri bat?
ANDI Peng: Seguruenik beste begizta, ezta?
Beraz, ziurrenik nahi joan , bidez handi batetik bestera joateko.
Eta orduan goazen atzera joan eta ziurrenik egiaztatu gutxienekoa berriro,
ezta?
Eta zu errepikatuz jarraitzea honek, loops delako, besterik joan
exekutatzen eduki nahi, ezta?
>> Beraz, ahalik eta Ikus dezakezuenez, dugu besterik ez dute pseudocode orokor bat
nola nahi dugu programa hau begiratzen.
Batetik bestera joateko, hau hemen, zer egiten dugu normalean behar den gure kodea idatzi
to bidez batetik bestera joateko nahi badugu array, zer egitura mota?
Uste dut Christabel Dagoeneko esan aurretik.
>> Ikusleak: begizta.
>> ANDI Peng: begizta for A?
Hain zuzen ere.
Beraz, hau da, ziurrenik, bat izan behar begizta joan.
Zer da txeke bat hemen du esan nahi da?
Normalean, egiaztatu nahi baduzu Zerbait zerbait bada Bestela
>> Ikusleak: bada.
>> ANDI Peng: An bada, ezta?
Eta gero swap hemen, dugu joan baino beranduago, David delako
igaro hitzaldian baita.
Eta, ondoren, bigarren bestera joateko implies--
>> Ikusleak: Another begizta.
>> ANDI Peng: begizta for --another, zehazki.
Beraz, bada begira ari gara hau behar bezala at, ez dugu
ikusiko seguruenik ari garela begizta for nested bat behar du
baldintzapeko han adierazpen batekin eta, ondoren, benetako kode zati bat hori da,
balioak aldatu behar dugu.
Beraz, ez dut, oro har, idatzizko pseudocode kode bat hemen.
Eta orduan, benetan ari gara joan fisikoki, klase bezala,
saiatu gaur hau martxan jarri ahal izateko.
Goazen atzera IDE honetan sartu.
>> Uh-oh.
Zergatik da hori ez egun ez da.
ONDO DA.
Sentitzen dut, utzi pixka bat gehiago ikusteko gerturatzen saiatu me.
Hor dugu.
Guztiak hemen ari naiz, sortu dut izeneko programa bat "aukeraketa / sort.c."
Bederatzi array bat sortu dut balioak, 4, 8, 2, 1, 6, 9, 7, 5, 3.
Gaur egun, ahal duzun ikusi, desordenatuak dira.
n zenbaki izango da hori balioak zenbatekoa esaten dizu
Zure array duzu.
Kasu honetan, bederatzi balioak ditugu.
Eta besterik ez dut lortu loop hemen Hori Unsorted array inprimatzen.
>> Eta amaieran, Nik ere lortu for begizta hori besterik bistaratzen da berriro.
Beraz, teorikoki, programa honetan bada ondo dabilen, amaieran,
loop inprimatuta ikusi beharko duzu bertan, 1, 2, 3, 4, 5, 6, 7, 8,
9 guztiak ondo daude ordenan.
>> Beraz, lortu gure pseudocode hemen dugu.
Norbaitek nahi zaie besterik ez naiz joan boluntarioek eskatu
esan dit zehazki zer nahi izanez gero idatzi den, lehenik eta behin, batetik bestera joateko nahi dugu
array honen hasieran bidez?
Zer da kode lerro naiz ziurrenik, hemen behar joan?
>> Ikusleak: [INAUDIBLE]
>> ANDI Peng: Bai, sentitzen zaie doan Barkatu,
ez dute up-- feel stand free zure ahotsa pixka bat igotzeko.
>> Ikusleak: For int i berdin 0--
>> ANDI Peng: Bai, ona.
>> Ikusleak: i array luzera baino txikiagoa da.
>> ANDI Peng: Beraz mantentzeko in Axola hemen, garelako
ez dute funtzio bat duzula Array baten luzera kontatzen digu,
dute dagoeneko bat dugu balio hori gordetzen duen.
Eskuin?
Beste gauza bat gorde array batean mind-- ere
Bederatzi balioen, zer diren indizeak?
Dezagun esan array honetan 0 amaitu eta 3.
Ikusi azken duzula indizea da benetan 3.
Ez da 4, ez nahiz array lau balio.
>> Beraz, hemen ere, oso kontuz ibili behar dugu gure zer luzera baldintzaren
izango da.
>> Ikusleak: Ez ote da n ken 1?
ANDI Peng: Honez joan n ken 1, zehazki.
Ez duela zentzurik, zergatik da n ken 1, denek?
Da array dira zero-indexed delako.
Hasteko 0 dute, eta exekutatu sortu n ken 1 da.
Bai, pixka bat zaila da.
ONDO DA.
Eta gero--
Ikusleak: Isnt'1 dagoela Dagoeneko tratua arren,
besterik ez esanez "edo baino gutxiago berdina da ", eta besterik esaten" baino gutxiago? "
>> ANDI Peng: Hori a Galdera benetan ona.
Bai, beraz.
Baina, era berean, modu ari garela egiaztatuz eskubidea gauzatzeko,
Bi balio konparatu behar dituzu.
Beraz, benetan nahi utzi du "eta" hutsik.
Alderatu duzu delako hau, ez zaren joan
ezer ondoren konparatu, ezta?
Bai.
Beraz, i ++.
Dezagun gehitu gure Parentesi artean.
Whoops.
Great.
Beraz abian dugu Gure kanpoaldeko begizta.
Beraz, orain dugu ziurrenik nahi mantenduz aldagai bat sortu
balio txikiena pista, ezta?
Norbaitek me emateko nahi kode lerro bat egin nahi?
Zer egin behar dugu, bada behar dugu zerbait gorde nahi al duzu?
>> Eskuin.
Agian hori izen hobea izango litzateke "temp" guztiz works--
agian, gehiago egokiekin izeneko litzateke, balioa txikiena nahi badugu
>> Ikusleak: Min.
ANDI Peng: min, ez gara.
min ona izango litzateke.
Eta beraz, hemen, zer egiten dugu Nahi, abiarazi nahi?
Hau da, apur bat zaila.
Delako oraintxe at the array honen hasieran,
Ez duzu ezer begiratu zion, ezta?
Beraz, zer, automatikoki, bada besterik berdin i 0 ari gara,
zer ez hasieratu nahi dugu Gure lehenengo gutxieneko balioa?
Ikusleak: i.
ANDI Peng: i, zehazki.
Christabel, zergatik egin nahi dugu abiarazi i nahi?
>> Ikusleak: ondo delako, 0 dugu hasten ari.
Beraz, ezer alderatu delako daukagu den, gutxienekoa azkenean egingo da, eta 0 izanik.
>> ANDI Peng: Zehazki.
Beraz, zehazki eskubidea du.
Ez dugu benetan delako ezer begiratu zion oraindik,
ez dakigu zein den gure gutxieneko balioa da.
Besterik abiarazi nahi dugu i, eta horrek, gaur egun, ez da hemen.
Eta jarraituko dugu eraman behera array honetan,
Ikusiko dugu hori, bakoitzari pass gehigarri gehikuntzak i.
Eta beraz, une horretan, i da ziurrenik joan
gutxienekoa izan nahi den, delako edozein izanda ere izango da
Unsorted array hasieran da.
Cool.
>> Beraz, gaur gehitu nahi dugu begizta hemen dagoen hori da
to bidez batetik bestera joateko joan Sailkatu edo array hau gainerako.
Norbaitek me emateko Nahi kode lerro bat egin nahi?
Hint-- zer behera behar dugu hemen?
Zer ari den honetan joan loop da?
Bai.
IKUSLEEN: nahi genuke nahi ezberdinak zenbaki oso bat dute,
gainerako zehar, lasterka ari delako ordez i array, beraz, agian,
j.
>> ANDI Peng: Bai, j soinuak ona da niretzat.
Berdinen?
>> IKUSLEEN: i izango litzateke plus 1, zeren you hurrengo balioan hasten ari.
Eta gero end-- hain berriro, j da n ken 1, eta, ondoren, j ++ baino gutxiago.
ANDI Peng: Great.
>> Eta gero, hemen, gaude nahi joan Gure baldintza betetzen bada ikusteko egiaztatzeko,
ezta?
Nahi duzulako gutxieneko balioa aldatzeko
benetan baino txikiagoa da, bada zer konparatuz zaren, ezta?
Beraz, zer ari gara hemen nahi?
Aztertu.
Zer adierazpen mota seguruenik ari goaz
ti nahi izanez gero erabil nahi dugu Nahi zerbait egiaztatzeko?
>> Ikusleak: An adierazpena bada.
>> ANDI Peng: An adierazpena bada.
Beraz if-- eta zer egin behar izango da barruan nahi dugun baldintza
gure adierazpen baditut?
>> Ikusleak: bada j balioa da i balioa baino gutxiago
>> ANDI Peng: Zehazki.
Beraz if-- beraz array hau "array" deitzen da.
Great.
Beraz, bada array zer zen hori?
Esan berriro.
>> Ikusleak: array-j da baino gutxiago bada array-i, orduan min aldatzeko genuke.
Beraz, min egin j litzateke.
>> ANDI Peng: Ez duela zentzurik?
ONDO DA.
Eta orain, hemen, egia esan, ez dugu swap ezartzea nahi, ezta?
Beraz, gogora ekarri, hitzaldia, David, betiere hori the-- zer zen trukatu nahi zuen,
it laranja zukua eta milk--
>> Ikusleak: That gordina zen.
>> ANDI Peng: Bai, hori izan zen, mota gordina.
Baina ona polit bat izan zen Kontzeptu denbora erakutsiz.
Beraz, zure balioen uste hemen.
Lortu duzun array bat min, i array bat,
edo hemen trukatu saiatzen ginen edozein dela ere.
Eta ziurrenik zuk ez pour sartu bakoitza, aldi berean beste, ezta?
Beraz, zer ari gara Hemen sortu behar den
Ordena balioak behar bezala trukatu ahal izateko?
>> Ikusleak: aldi baterako aldagai bat.
>> ANDI Peng: aldi baterako aldagai bat.
Beraz, egin int temp utzi.
Ikusi, hau hobea izango litzateke denbora Tira zaie, zer izan da hori?
ONDO DA.
Beraz, hau izan litzateke hobea garai aldakorra "temp". izendatzeko
Beraz, egin int temp utzi.
Zer dira joan den dugu Ezarri aldi berdinetan hemen?
Ikusleak: Min?
ANDI Peng: pixka bat zaila da.
Egia esan, ez du azkenean axola.
Ez du axola zer izateko ere trukatu aukeratu duzu
betiere, ziur gisa ari bazara zer aldaketa zaren jarraipena.
>> Ikusleak: array-i izan zitekeen.
>> ANDI Peng: Bai, egin dezagun array-i utzi.
Eta gero, zer da hurrengo lerroan kodearen hemen nahi dugu?
Ikusleak: array-i array-j berdin.
ANDI Peng: Eta azkenik?
Ikusleak: array-j berdinen array-i.
Ikusleak: Edo array-j berdinen array-temp-- edo, temp.
>> ANDI Peng: OK.
Hargatik exekutatu honetan eta ikusi nik lanera joan bada.
Non gertatzen ari da?
Oh, hori arazo bat da.
Ikusi, on line 40, gaude array-J erabiltzen saiatzen ari da?
Baina zer gertatzen j bakarrik existitzen?
>> Ikusleak: loop batean.
ANDI Peng: Eskuin.
Beraz, zer egin behar dugu behar joan?
>> Ikusleak: the-- kanpo definitu da
Ikusleak: Bai, asmatu dut duzu beste erabili adierazpena, ezta?
Beraz bezala, minimum-- bada Ondo da, let me uste.
>> ANDI Peng: Mutilak, saiatu hartu a look Dezagun
ikusi, zer egin dezakegu Hemen zerbait?
>> Ikusleak: OK.
Beraz, gutxienekoa ez da berdina bada j beraz i gutxienekoa bada oraindik
orduan ez genuke trukatzeko.
>> ANDI Peng: Ba berdinak direla i?
Zer egin, hemen esan nahi duzu?
>> Ikusleak: Edo bai, bada gutxieneko i ez da berdina gertatzen, bai.
ANDI Peng: OK.
Beno hori konpontzen, mota, gure arazoak.
Baina horrek ez du konponduko du zer gertatzen den j bada j geroztik arazoa
ez ditu kanpo existitzen, zer ez da egin nahi dugu?
Kanpo deklaratzen da?
Saiatu hau exekutatzen utzi.
Uh-oh.
Gure sort ez da lanean ari.
>> Ikusten duzun bezala, gure hasierako array balio horiek izan.
Eta gero izan behar da 1, 2, 3, 4, 5, 6, 7, 8, 9 izan.
Ez da lan.
Ahh.
Zer egiten dugu?
Ikusleak: Debug.
ANDI Peng: Ondo da, dastatu ahal izango ditugu.
Arazteko aukera izango dugu.
Txikiagotu pixka bat.
Har dezagun gure etendura.
Goazen antzekoak OK.
>> Beraz, dagoeneko badaki hori delako Lerro hauen, 15 22 bidez;
dira working-- guztiak egiten ari naiz dagoelako besterik bidez eta printing-- errepikatzean
Aurrera dezaket eta saltatzeko.
Hasteko line 25 dezagun.
Oop, utzi duten kentzeko me.
>> IKUSLEEN: Etendura en non arazketa hasten?
ANDI Peng: Edo geldialdiak.
Ikusleak: Edo geldialdiak.
ANDI Peng: Bai.
Anitz eten ezarri ahal izango duzu, eta besterik ezin du salto besteari from.
Baina kasu honetan, ez dakigu error bertan gertatzen ari da.
Beraz, besterik gabe, nahi dugu goitik behera hasteko.
Yep.
ONDO DA.
>> Beraz, lerro hau hemen, zapaldu ahal izango ditugu.
Hemen ikusi ahal izango duzu behera, lortu dugu array bat.
Horiek balioak dira array daude.
Ikusten duzu, hori nola indizea 0, hura balioa dagokio oi,
Handiagotzeko saiatu naiz.
Sentitzen dut, benetan zaila da array indizea 0 see--,
4 balioa izango dugu eta Orduz abar eta abar.
Gure tokiko aldagai daukagu.
Oraintxe berdina da i 0, eta bertan izan nahi dugu.
>> Eta beraz, gorde dezagun bidez zapaltzeko.
Gure gutxieneko 0 berdina da, eta horrek ere izan nahi dugu.
Eta gero, gure egiteko bigarren sartzen gara begizta, array-j da array-i baino gutxiago bada,
eta hori ez zen.
Beraz, ikusi zenuen nola Hori dela gehiagoko Saltatutako?
>> Ikusleak: beraz, behar izanez gero, gutxienez, guztiak -bere behar ez duten
Loop lehen barruan egon?
ANDI Peng: Ez, zeren oraindik probatu nahi duzun.
Konparazio bat behin egin nahi duzu denbora, horren bidez exekutatu ondoren ere.
Ez besterik ez da egin nahi duzu Lehenengo pass-bidez.
Bertan egin nahi duzu pass gehigarri bakoitzeko berriro.
Beraz, egiaztatu nahi baduzu Zure egoera barruan.
Beraz, ari gara joan mantentzeko hemen zeharkatzen.
Emango dizut mutil iradokizun bat.
Izan ere, egin ditu, noiz Zure baldintzapeko zaren egiaztatzen,
Zuk ez egiaztatzen ari indize zuzena da.
Beraz, oraintxe duzu egiaztatzen ari array j indizea da array baino gutxiago
i indizea.
Baina, zer ari zarete egiten at begizta for hasieran?
Ez dira ezarriz duzu j i berdina?
>> Bai, beraz, ezin dugu benetan araztailea hemen irteteko.
Beraz, dezagun gure pseudocode begirada bat.
For goaz hasteko at berdin i 0.
Gora joateko n ken 1 goaz.
Dezagun begiratu, zuen eskubidea dugula?
Bai, arrazoi zuela.
>> Orduan hemen barruan, gaude gutxieneko balio bat sortu nahi du
eta ezarri duten i berdina.
Ba egiten dugu?
Bai, egin duten.
Orain gure barne begizta ere, ez gara j egin da joan berdinen i n ken 1.
Ba egiten dugu?
Izan ere, hori egin dugu.
>> Beraz, ordea, zer ari gara hemen alderatuz?
>> Ikusleak: j gehi 1.
ANDI Peng: Zehazki.
Eta, ondoren, zauden ezarri nahi du Zure gutxieneko j plus 1, baita berdina.
Beraz, joan zen horren baitan dut benetan azkar.
Ez duzu guys ulertzen zergatik j gehi 1 da?
ONDO DA.
>> Beraz, zure lerrotan, in zure lehen pass bidez,
Zure begizta, int berdin i 0, dezagun, besterik gabe
suposatuko honek ez du oraindik aldatu egin da.
Array bat izan dugu, erabat, Sailkatu elementu besterik lau, ezta?
Beraz, 0 i berdinak abiarazi nahi dugu.
Eta i va besterik begizta honen bidez exekutatu.
Eta, beraz, lehen mendatea ere, goazen "min" izeneko aldagai bat hasieratzeko
hori ere berdin i, zeren Ez dugu gutxieneko balio dute.
Beraz, hori baita gaur egun 0 berdina da.
Eta gero ari gara bidez joan behar.
Eta berriro ere, batetik bestera joateko nahi dugu.
Orain aurkitu dugun zer gure gutxieneko da, bidez batetik bestera joateko nahi dugu
Berriro nik alderatuz gero ohartuko da, ezta?
Beraz, j, hemen, va i berdina da, eta 0 da.
Eta gero, bada j plus i array, horrek ko duten hurrengo baino gehiago, gutxiago da
Zein da zure uneko gutxieneko baino balio da, swap nahi duzu.
>> Hargatik esaten dugu lortu, hala nola 2, 5, 1, 8.
Oraintxe bertan, berdina da i 0 eta j 0 berdina da.
Eta hori da gure gutxieneko balioa da.
Array-j bada plus i so bat bada dena ari gara begira ondoren
aurrean jarri baino handiagoa da, Honez gutxienekoa izango dira.
>> Beraz, hemen ikusten dugu 5 ez da hori baino gutxiago.
Beraz, ez dira 5 pertsona joan.
Ikusten dugun 1 2 baino gutxiago da, ezta?
Beraz, gaur egun ezagutzen dugun gure gutxieneko dela indizearen balioa izango da 0, 1, 2 zoaz.
Bai?
Eta orduan, behera lortuko duzu hemen, balio zuzenak trukatu ahal izango dituzu.
>> Beraz duzunean guys ziren besterik j izatea aurretik, ez ziren bat begira
ondoren.
Horixe ikusten ari ziren balio bera, eta horrek
horregatik besterik ez zen ezer egin.
Ez duela zentzurik denek, zergatik duten plus 1 ez genuen behar?
ONDO DA.
Orain dezagun exekutatu besterik ren bidez egin behar da Ziur kodea gainontzeko zuzena da.
Zergatik gertatzen ari da?
Ah, ondo egon da hemen min du.
Okerreko balio alderatuz ginen.
Oh ez.
>> Oh yeah, behera hemen ginen okerreko balioak baita trukea.
Dugu i eta j begira ari delako.
Horiek direnak egiaztatzen ari garen.
Benetan aldatu nahi dugu gutxieneko, uneko gutxieneko,
edozein dela ere, inork kanpo dago.
Eta zuk mutil behera ikusiko gisa Hemen, ordenatuko array bat dugu.
To egin behar izan zuen, besterik ez da Izan ere, noiz
ginen egiaztapena balioak alderatuz ari ginen,
ez ginen eskuineko balioak begira.
Bat bera begira ari ginen Hemen, ez da benetan aldaketa.
Banan begiratu hurrengo daukazu da, eta, ondoren, trukatu ahal izango dituzu.
Beraz, hori zer izan zen mota horretako Gure kodea aurretik bugging.
Eta hemen zer egin nuen dena da araztailea zuretzat egin izan da
Egin egiten dut besterik on board, delako, errazagoa da
saiatzen baino gehiago ikusteko handiago ikusteko araztailea gainean.
Ez duela zentzurik denek nahi?
Cool.
>> Ados.
On mugitu buruz hitz egiten dugu ahal Notazio asintotikoa, bertan
esanez modu dotore bat besterik ez da mota horien guztien runtimes.
Beraz, ezagutzen dut David, hitzaldia, runtimes gainean ukitu.
Eta formula osoan barrena joan zen la nola runtimes kalkulatzeko.
Kezkak horri buruz.
Oraindik benetan bitxia bada nola funtzionatzen duten on,
free nirekin hitz atala ondoren sentitzen.
Ibil gaitezke bidez Formulak elkarrekin.
Baina guztiak you guys dute benetan ezagutzen da n 2 baino gehiago karratu
Gauza bera da, n karratu bezala.
Kopururik handiena delako, berretzailea, gehien hazten.
Eta, beraz, gure helburuetarako, arduratzen gara guztiak
kopuru erraldoi hori gero eta handiagoa da.
>> Beraz, zer kasu onena da aukeraketa Ordena exekuzio?
Zu izan bada joan zerrenda batean batetik bestera joateko
eta, ondoren, batetik bestera joateko bitartez Zerrenda horretako gainerako jarduerak
zenbat aldiz dira ziurrenik zoazen,
du kasu horretan txarrenean Goiko kasuan, exekutatu bidez barkatu?
Agian galdera bat hobea da eskatu, zer kasu txarrena da
aukeraketa Ordena exekuzio.
Ikusleak: n karratu.
ANDI Peng: Honez n karratu, ezta.
Beraz, hau da pentsatzea oso erraz, Bat denbora bi loops habiaratu behar duzu,
Honez n karratu unea iritsi da.
Nahiz eta ez zara bakarra delako bidez, berriro ere martxan,
atzera egin behar duzu inguruan, eta horren bidez exekutatu
berriro ere balio bakoitzean dagoen barruan.
Beraz, kasu horretan, korrika n zu Nondik n karratu, horietatik is-- barkatu,
n aldiz n, horrek berdin n karratu.
>> Eta moduko da, gainera, pixka bat zentzuan berezia
ez dela horien bada axola balioak dira dagoeneko ordena.
Eta oraindik ere, behar Mediaz bidez exekutatu.
Dezagun esan hau izan zen 1, 2, 3, 4.
Ala ez izan zen ere kontuan hartu gabe Ordena, oraindik litzateke igarotzen zuen dituzte
eta oraindik hautatuta gutxieneko balioa.
Egin dute litzateke egin egiaztapen kopuru bera
aldi bakoitzean bakarra, nahiz eta ez zuen benetan ukitu ezer.
>> Beraz, kasu horretan, onena eta txarrena runtimes baliokideak dira benetan.
Beraz, espero exekuzio Aukeraketa ordenatu,
bertan, guk ikurra theta, theta, kasu honetan,
halaber n karratu izango litzateke.
Horiek guztiak hiru n karratu izango litzateke.
Denek zergatik on argi dago exekuzio karratu n?
>> Ados.
Beraz, ez dut besterik azkar exekutatu joan era gainerako zehar.
Algoritmia burbuila orain arte bezala gogoratzen,
hau izan zen lehena David joan baino hitzaldian.
Funtsean, pausoz Zerrenda osoa bitartez
eta zuk swap-- duzu besterik bi alderatu aldi berean.
Eta handiagoa da bat izanez gero, Zu baino besterik trukatzeko.
Beraz, bada, horiek dira handiagoak, trukatu zenuke.
Dut ofiziala hementxe.
>> Hargatik, besterik gabe esan izan duzu 8, 6, 4, 2.
Alderatu zinela 8 eta 6 a.
Litzaidake horiek aldatu behar duzu.
8 eta 4 a konparatu nahi duzu.
Litzaidake horiek aldatu behar duzu.
8 trukatu badaukazu eta 2, horiek aldatu baita.
Beraz, zentzu horretan, ikusi ahal izango dituzu, jokatu dira denbora epe luze bat baino gehiago,
nola balioak burbuila mota den muturrak, eta horregatik deitu dugun
burbuila ordenatu.
>> Besterik ez genuke berriro exekutatu bidez Gure bigarren mendatean, eta gure hirugarren mendatea,
eta gure laugarren pass.
Funtsean, burbuila sort besterik exekutatzen Ez duzu egin arte swaps gehiago jartzeko.
Beraz, zentzu horretan, hau da, besterik gabe, horretarako pseudocode orokorrari.
Kezkak, hauek izango dira guztiak online izan.
Guk ez dugu izan nahi hori baino gehiago benetan joan.
>> Hasieratu besterik ez dugu kontagailu bat 0 hasten da aldakorra.
Eta array osoan zehar batetik bestera joateko.
Eta balio bat hau bada is-- bada balio balioa baino handiagoa da,
horiek aldatu zaren.
Eta gero, Oraindik besterik jarraitzea joan.
Eta ari zenbatu zoazen.
Eta besterik ez zaren egiten jarraitzea hau mostradorera handiagoa den bitartean
0, eta horrek esan nahi du, baino aldi bakoitzean trukatzeko duzu,
Dakizuenez, joan nahi duzun Atzera eta egiaztatu berriro.
Egiaztapena mantentzeko badakizu arte nahi duzu Ez duzula jada trukatzeko.
>> Beraz, zer dira onenak eta txarrenak Kasu burbuila moduko runtimes?
Eta hau hint-- da benetan ezberdinak Aukeraketa zentzuan moduko batetik
duten bi erantzun hauek ez dira berdinak.
Zer gertatuko litzateke pentsatzen Kasu bat da dagoeneko antolatuta zen.
Eta pentsatzen zer gertatuko litzateke zen bada
kasu horietan, ez zen ordenatuta.
Eta mota dezakezu exekutatu duzu zergatik bidez gertatzen da.
Emango dizut mutil, bezala, 30 segundo hori pentsatzen.
>> ONDO DA.
Norbaitek dute zer at asmatzeko txarrena kasuan burbuila sort runtime da?
Bai.
>> Ikusleak: lirateke, adibidez, n aldiz n ken 1 edo horrelako zerbait?
Bezala, egiten duen bakoitzean, besterik ez da, bezala, swap bat gutxiago
dena dela, izan zen.
>> ANDI Peng: Bai, beraz, Oraindik erabat eskuineko.
Eta hau eta kasu bat da zure erantzuna izan zen benetan konplexuagoa
inork baino eman behar dugu.
Beraz, ez naiz run joan hau guztia hemen ezabatuko da.
Guztiontzat ona da?
Ahal dut ezabatuko hau?
ONDO DA.
N zehar ibiltzen ari zara aldiz, lehen aldiz, ezta?
Eta ari dira to barrena korrika joan n ken 1, bigarren aldiz, ezta?
Eta, ondoren, zauden mantentzeko joan , joan n mine 2, etab.
David jokatua zen hitzaldi bat, non ere, balio horiek guztiak eman gehitu badituzu,
hori da zerbait lortzen duzun antzekoak yeah-- 2, funtsean, besterik gabe murrizten baino gehiago
n behera karratu.
Bat lortzeko ari zara Han ere fraction bitxi.
Eta, beraz, besterik ez ezagutu n karratuko beti
gailentzen fraction gainean.
Eta, beraz, kasu honetan, txarrena exekuzio n karratu izango litzateke.
Zen beheranzko bada Ordena, uste, zuk
swap bat aldi bakoitzean bakarra egin behar.
>> Zer izango litzateke, potentzialki, kasu exekuzio onena?
Dezagun esan, zerrendan bazegoen jadanik ordenan, zer exekuzio izango litzateke?
>> Ikusleak: n.
ANDI Peng: Da n, zehazki.
Eta zergatik da n?
Ikusleak: you delako, besterik gabe, aldi bakoitzean egiaztatu dute.
ANDI Peng: Zehazki.
Ahalik eta exekuzio onenetan beraz, Zerrenda honetan bazegoen jadanik
ordenatuko demagun 1, 2, 3,, 4 duzu litzateke besterik gabe, joan bidez, begiratu nahi duzu,
ikusi nahi baduzu, ai, kanpora joateko egin zuten denek.
Ez nuen trukatzeko.
Bukatu dut.
Beraz, kasu horretan, besterik n edo urrats kopurua duzun besterik
den lehenengo zerrendako egiaztatu izan.
>> Eta ondoren, orain hit dugu txertatzeko ordenatu, non
algoritmoa da, funtsean zatitzeko zati ordenatuko eta ordenatu gabe sartu da.
Eta gero, banan-banan, Unsorted balioak dira
Beren egokia txertatuko zerrendaren hasieran posizioak.
>> Beraz, adibidez, bat egin behar dugu 3 zerrenda, 5, 2, 6, 4 berriro.
Badakigu dela gaur egun Besterik ez dugu Sailkatu delako
horri begira hasi.
Begirada bat hartu dugu eta badakigu Lehenengo balioa ordenatuta, eskubidea da?
Multzo batean baino ezin duzu bazabiltza tamaina bat, badakizu, duela ordenatuta.
>> Beraz, ondoren, badakigu hori Sailkatu beste lau.
Igaroko ditugu balio duten ikusiko dugu.
Goazen berriro.
Ikusi 5 balio duten?
Begirada bat hartuko dugu.
Konparatu dugu 3.
Badakigu baino handiagoa dela 3, beraz, badakigu hori dela ordenatuta.
Beraz, gaur egun ezagutzen dugun lehen bi antolatuko dira, eta azken hiru ez dira.
>> 2 begirada bat hartuko dugu.
Lehen egiaztatu dugu 5 batekin.
Dela 5 baino gutxiago?
Ez da.
Beraz, goitik begiratzen mantendu behar dugu.
Ondoren egiaztatu 2 3 off.
Da baino gutxiago?
No.
Beraz, badakizu, 2 txertatuko behar dela Aurrealdean 3 eta sartu eta 5
biek bultzatu behar dira.
Berriro egin 6 eta 4.
Eta mantendu besterik ez dugu funtsean egiaztapena, non begiratu besterik ez dugu, egiaztatu, egiaztatu.
Eta ondo egon arte posizio, mota besterik ez dugu
txertatzeko eskuineko posizioa sartu, hau da, non bere izena zetorren.
>> Beraz, hori besterik ez algoritmoa da, pseudocode per se, mota,
nola gauzatu genuke on txertatzeko ordenatu bat.
Pseudocode hemen.
Online guztiak da.
Ez duzu guys badira kezkak hau kopiatu behera nahian.
Beraz, berriro ere, bera question-- zer Onena eta txarrena runtimes litzateke
txertatzeko ordenatu egiteko?
Oso azken galderaren antzekoa da.
Emango dizut mutil, bezala, 30 segundo hau pentsatzen baita.
>> OK Norbaitek nahi eman dit exekuzio txarrena?
Bai.
>> Ikusleak: n karratu.
>> ANDI Peng: Honez n karratu.
Eta zergatik da n karratu da?
>> Ikusleak: delako alderantzizko ordenan, duzu
n aldiz bidez joan n, horrek is--
ANDI Peng: Bai, hain zuzen.
Burbuila ordena bezala gauza beraz bera.
Zerrenda honetan bada beheranzko ordenan, zaren
Lehenengo behin egiaztatu behar da.
Eta gero, behin balio gehigarri Oraindik
egiaztatu behar dute joan aurka balio bakoitza, ezta?
Eta beraz, bere osotasunean, ari egin zoazen n pass aldiz bat bestearen n pasatzen, eta horrek
N karratu.
Zer Kasu onena buruz?
Bai.
>> Ikusleak: n ken 1, zeren lehenengoa dagoeneko karratu da.
>> ANDI Peng: Beraz, hurbil.
Erantzuna n da benetan.
Lehenengoa da berriz delako ordenatuta, agian ez, egia esan, hura
besterik lucked dugu atera, in Adibidez, hori 2
Gertatu kopuru txikiena izan dadin.
Baina hori ez da beti horrela izan.
Dagoeneko 2 hasieratik ordenatuko badago baina begiratu eta ez da 1 hemen,
1 errepidea da topo egingo.
Eta nik Amaierara joan ari Mediaz aplikatzen zaie.
>> Kasurik onenean ere, orain, egia esan, besterik ez da n izango da.
Baduzu 1, 2, 3, 4, 5, 6, 7, 8, zaren
to bidez exekutatu joan Zerrenda osoa behin
egiaztatzeko behar dena fina bada ikusteko.
Denek lasterketak on argi dago Aukeraketa aldiz, bai?
Bidez noa ezagutzen dut oso azkar hauekin.
Baina besterik ez ezagutu ezagutu behar da kontzeptu orokor, ona izan behar duzu.
ONDO DA.
Beraz, besterik ez dut eman mutilak, agian, bezala, Minutu bat zure bizilagunak hitz egin
zer dira besterik batzuk Ezberdintasun nagusietako
mota mota horien artean.
Egingo errepasatuko ditugu laster.
Ikusleak: Oh, OK.
ANDI Peng: Bai.
ONDO DA.
Cool, dezagun reconvene klase bezala.
ONDO DA.
Beraz, hau izan da mota bat zentzuan irekia question
Ba hori da, haiei erantzun asko.
Eta guk baino gehiago joan egingo horietako batzuk laburki.
Nahi dut you guys eskuratu zer duten desberdin pentsatzen
Hiru mota mota guztiak.
Eta, entzun nuen, halaber, handi bat question-- zer batu ordenatu egiten?
Great galdera, hori delako hurrengo zer estaltzen ari gara.
>> Beraz batu sort da zerbaitek funtzio
Beste era oso desberdinean.
You guys see-- ahal bezain zuen David egiten demo
non cool guztia izan zuen batu ikusten zaratarekin
moduko ran, bezala, infinituki Beste bi mota baino azkarrago?
ONDO DA.
Beraz, hori da batzea delako moduko arrail hori inplementatzen
eta konkistatzeko kontzeptua dugu hitzaldian asko hitz egin du.
Lanera nahi dugun zentzu horretan smarter, ez gogorragoa, betiere zatitzen
eta arazo konkistatzeko, eta horiek apurtu behera, eta, ondoren, jarri elkarrekin,
Gauza ona da beti gertatuko.
>> Beraz, modu bateratu batean, moduko funtsean lan egiten du
da hori banatzen da erdia Sailkatu array.
Eta gero, zer bi multzo baten erdi lortu du.
Eta bi erdi horiek ordenatzen besterik ez da.
Mantentzen du, besterik gabe, erdia zatituz, in erdia, erdia dena ordenatuta dago arte
eta orduan errekurtsiboki jartzen dena batera.
>> Beraz, benetan abstraktua da.
Hau Beraz pseudocode apur bat besterik ez da.
Ez duela zentzurik ere modu exekutatzen ari da?
Hargatik esaten bat behar duzu n elementu multzo, ezta?
N 2 baino gutxiago bada, itzuli ahal izango duzu.
Badakizu delako hori ez bada Gauza bat bakarrik, ordenatu egin behar da.
Bestela, ezkerreko erdia ordenatzeko duzu, eta, ondoren, eskuineko erdia ordenatzeko duzu,
eta gero batu.
>> Beraz, hori itxura oso erraza bitartean, egia esan, ez da pentsatzen da
zaila mota. Oraindik delako bezala, bai, hori da mota bera exekutatzen.
Eskuin?
Honez bera exekutatzen.
Beraz, zentzu horretan, David tocado klasean errekurtsio gainean.
Eta hori kontzeptu bat da Gehiago buruz hitz egingo dugu.
Hori, bi lerro hauek egin Hemen, benetan programa besterik ez da
kontatzea bera exekutatzeko sarrerako ezberdinekin.
Beraz, baizik exekutatu bera baino n elementu osotasunean,
Apurtu dezakezu behera sartu ezkerreko erdia eta eskuineko erdia
eta, ondoren, berriro exekutatu.
>> Eta, ondoren, ikusiko dugu ikusmen, ikusiz ikasten a nagoelako.
Niretzat hobeto funtzionatzen du.
Beraz bisuala adibide bat bilatuko dugu hemen.
>> Demagun array bat dugu, sei elementu, 3, 5, 2, 6, 4, 1, ez ordenatuta.
Ondo da, ez orri honetan, asko.
Beraz, you guys begiratu ahal bada Lehenengo hemen urrats, 3, 5, 2, 6, 4, 1,
banatu dezakezu erdia.
3, 5, 2, 6, 4, 1 daukazu.
Badakizu horiek aren't-- duzu ez dakit ari ordenatuko edo ez bada,
beraz, horiek hautsi behera mantendu behar dituzu, erdiak, erdiak, erdia ere, azkenean arte,
bakarrik, elementu bat behar duzu.
Eta elementu bat beti ordenatuko da, ezta?
>> Beraz, badakigu hori 3, 5, 2, 4, 6, 1, berez, ordenatuko dira.
Eta orain, horiek jarri ahal izango dugu atzera elkarrekin.
Beraz, badakigu 3, 5.
Horiek jarri dugu elkarrekin.
Badakigu hori ordenatuko.
2 da oraindik han.
Jarri ahal izango dugu 4 eta 6 elkarrekin.
Badakigu hori horrela antolatu, beraz, jarri dugu elkarrekin.
Eta 1 hor dago.
>> Eta gero, begiratu besterik ez bi erdi horiek hemen.
3, 5, 2, 2, 3, 5 daukazu.
Zuk bakarrik alderatu ahal du dena hasieratik.
Dakizuenez hori ordenatuko delako eta badakizu, hori horrela antolatu.
Beraz, ondoren, ez duzu ere behar alderatu 5, alderatu duzu, besterik gabe, 3.
Eta 2 3 baino txikiagoa da, eta beraz, Dakizuenez 2 behar azkenean joan.
>> Gauza bera han.
1-hemen joan behar.
Eta, ondoren, jarri denean joan Bi balio horiek elkarrekin,
Dakizuenez hori horrela antolatu eta Badakizu hau da antolatuta.
Orduan, 1 eta 2, 1, 2 baino gutxiago.
Hori esaten dizu 1 dela beharko honen amaieran joan
nahiz eta 3 edo 5 begiratu gabe.
Eta gero, 4, eta besterik dezakezu egiaztatu, eskuinera doan da hemen ere.
Ez daukazu 5 begiratzeko.
6 berbera.
Badakizu 6-- hori bakarrik ez du zertan begiratu behar da.
>> Eta beraz, modu horretan, zaren besterik zeuk aurrezteko
urrats asko denean alderatuz zaren.
Ez daukazu guztietan konparatzeko beste elementu aurkako elementua.
Direnak aurka alderatu besterik ez duzu konparatu aurka behar duzula.
Beraz, kontzeptu abstraktu bat mota da.
Kezkak ez bada nahiko duzu kolpatzeko eskubidea oraindik.
Baina, oro har, hau da, nola batu ordenatu batean lan egiten du.
Galderak, galderak azkar, mugitu aurretik I?
Bai.
>> IKUSLEEN: hartu duzula esan duzu 1 du, eta, ondoren, 4 eta 6
eta jartzea ere.
Beraz, ez dira horiek da, ez dira begira horiek zaude
elementu bereizi, ez osotasun gisa?
ANDI Peng: Bai.
Beraz, zer gertatzen ari duzu hori da, funtsean,
dira marka sorta berria sortzeko.
Beraz, badakizu, hemen, nik egin bi 3 tamaina arrayak, ezta?
Beraz, badakizu, nire ordenatuko array beharra sei elementu dute.
Beraz, sortu besterik ez duzu bat memoria kopuru berria.
Oraindik, beraz, mota horretako nahi duzu oroimenaren parrastatzailea ere,
baina horrek ez du axola hain txikia delako.
Beraz, itxura 1 at duzu eta begiratu 2 at duzu.
Eta ezagutzen duzun hori 1 2 baino gutxiago.
Beraz, badakizu 1 joan behar horien guztien hasieran.
>> Nahiz eta ez duzu behar den 3 eta 5 begiratzeko.
Beraz, badakizu 1 doa han.
Ondoren, funtsean, txuleta duzu off 1 du.
Da, atsegin, hildako guretzat.
Ondoren, besterik ez dugu 2, 3, 5, eta, ondoren, 4 eta 6.
Eta gero, badakizu, alderatu 4 eta 2,
Oh, 2 han joan behar.
Beraz, 2 behera plop duzunean, txuleta duzu off.
Beraz, gero, besterik ez duzu 3 eta 4 eta 6 5 du.
Eta besterik gabe, gorde duzun Tajadura off horiek jarri arte array.
>> IKUSLEEN: Oraindik besterik beti [INAUDIBLE] alderatuz?
>> ANDI Peng: Zehazki.
Beraz, zentzu horretan, zaren besterik alderatuz, funtsean,
Beste zenbakia aurka zenbaki bat.
Eta badakizu delako Dela ordenatuta, zuk
ez dute begiratu bidez zenbaki guztiak.
Besterik ez duzu lehenengoa begiratzeko.
Eta gero, besterik ez plop duzu horiek behera, badakizu delako
non sartzen behar dutela sartzen dira.
Bai.
Ona galdera.
>> Eta gero, edozein bada dira pixka bat, asmo handiko,
doan, kode hau begiratu sentitzen.
Hau da, benetan ezartzeko fisiko
sort batu nola idatzi nahi dugu.
Eta ikusi ahal izango duzu, oso laburra da.
Baina atzean ideiak nahiko konplexuak dira bertan.
Beraz, hau marrazketa out sentitzen bazara Zure etxeko lanak gaur gauean ere, aske sentitzen.
>> ONDO DA.
Beraz, David ere hau baino gehiago joan hitzaldian.
Zeintzuk dira kasurik onenean runtimes, txarrena kasuan runtimes,
eta espero merge sort runtimes du?
Pare segundo bat pentsatzeko.
Hau da, nahiko gogorra da, baina mota intuitiboa iruditzen zaizu bada.
Ados.
>> IKUSLEEN: da txarrena kasuan n log n?
ANDI Peng: Zehazki.
Eta zergatik n log n.
>> Ikusleak: Ez da delako esponentzialean azkarrago bihurtzen,
beraz, hori funtzio bat bezala ordez, soilik n izatearen
karratu edo zerbait?
ANDI Peng: Zehazki.
Beraz, zergatik exekuzio honetako n log da
n da delako zer egiten ari zaren Urrats guztiak egiten?
Ari zara Tajadura erdia, ezta?
Eta beraz, ez gabiltza eginez saioa, egiten ari da hori guztia
da arazo bat erditik zatitu, erdia, erdia, halves gehiagotan.
Eta, zentzu horretan, mota egin ahal izango dituzu eredu lineala kentzeko
Nik ez dugula izan erabiliz.
Denean mozten delako zatian gauzak, egunkari bat da.
Hori besterik matematikoak hura irudikatzeko modu.
>> Eta, azkenik, bukaeran, zaren besterik bidez azken pass bat egiteko
horiek guztiak jarri ahal izateko, ezta?
Eta, beraz, izan besterik ez bada egiaztatu gauza bat, hori da n.
Eta beraz Oraindik motatako bi elkarrekin biderkatuz.
Beraz, lortu duzun bezala final hori Hemen behera N n log batekin egiaztatu
Hemen eman.
Eta biderkatu baduzu horiek, hori nn saioa.
>> Eta, beraz, kasu onena eta txarrena Kasu eta espero diren guztiak nn saioa.
Honez gain, beste edozein bezalakoa.
Sail moduko bezalakoa da egiten duten zentzuan
Ez du axola zer zure Zerrenda da, besterik ez da joan
gauza bera aldi bakoitzean bakarra egin.
ONDO DA.
Beraz Ikus dezakezuenez bezala, nahiz eta garela, bidez n desagertu dut ordenatzen
karratu, ez da oso eraginkorra.
Eta nahiz eta honek n log n dago ez eraginkorrenak.
You guys bitxia bada, moduko mekanismoak ez dago
direla, beraz, eraginkorra ari dira Ia funtsean laua exekuzio batean.
>> Nik log n en batzuk lortu duzu.
Lortu duzu log log n en batzuk.
Ez dugu, gainean ukitu Klase honetako oraintxe.
Baina zuk mutil bitxi badira, sentitzen free to google, zer da
ordenazio-mekanismoak eraginkorrena da.
Ez dakit, ez dira benetan dibertigarria batzuk ere bai,
antzekoak ez batzuek benetan Dibertigarria bai pertsonak osatzen duten.
Eta galdetzen duzu nola dauden inoiz pentsatu.
Beraz, google, aisialdian eta badituzu denbora, on, zer dira modu dibertigarri batzuk
Hori jende baita ways-- pertsona eraginkorra
dute era ezartzeko gai izan dira.
ONDO DA.
Eta hemen taula gutxi erabilgarri bat besterik ez da.
Guztiak ezagutzen dut, galdetegi hori 0 aurretik, izango da zure gelan izango da, seguruenik, dudarik
Hori memorizatzeko.
Beraz, hori da polita hor zaudete.
Just ez ahaztu logika made-- dagoela zergatik zenbaki horiek gertatzen ari.
Duzu beti galduta bazabiltza, besterik egin ziurtatu badakizu zer ordenatzen dira.
Eta exekutatu dezakezu bitartez Zure gogoan horiek
irudikatu zergatik horiek erantzunak erantzun horiek dira.
>> Ados.
Beraz, mugitu joan , azkenik, irizpide horiek emateko.
Duzuenontzat bezala delako Izan pset irakurri duten,
bilatzen da, era berean, parte aste honetan arazo ezartzen.
Ezartzea eskatzen dizu bi bilaketa mota.
One bilaketa lineala da eta Bilaketan bitar bat da.
>> Beraz, bilaketa lineala oso erraza da.
Elementu bilatu nahi besterik ez duzu Zerrenda bat lortzen baduzu ikusteko.
Besterik ez duzu bidez batetik bestera joateko.
Eta zerbait berdinen badu, besterik dezakezu itzuliko da, ezta?
Baina hori gehien gaude buruz hitz egiten interesa
bilaketa bitarra da, eskubidea, hau da, zatitzea eta konkistatzeko mekanismo
David zen hitzaldian erakutsiz.
>> Gogoratu telefono book adibidez zuela gora jarriz mantentzen,
mota horretako borrokatu zuen batak azken urte honetan pixka bat,
non arazoa zatitzen erdia, erdiak, erdia ere, behin eta berriro,
da zer bilatzen ari zaren aurkitu arte?
Eta lortu duzun horren exekuzio baita.
Eta ikusi ahal izango duzu, da nabarmen eraginkorragoa
bilaketa mota beste edozein baino.
>> Beraz, modu horri buruz genuke joan bilaketa bitarra bat gauzatzeko
da, array bat izan badugu, indizea 0 eta 6, zazpi elementu,
erdian dezakegu begiratu, eskuinera Barkatu, gure galdera izanez gero lehen aukera
galderari galdetu nahi badugu, ez du array eduki 7ko elementua,
jakina, gizakiak izateagatik, eta beharrik gisa horretako txiki bat, guretzat erraza da
bai esateko.
Baina bidean bitar bat ezartzeko Bilaketa-erdian begiratu litzateke.
>> Badakigu indizea 3 dela erdian, garelako
Badakizu zazpi elementu daude.
Zer 7 2 banatuta?
Txikitu dezakezu off extra 1 dela.
Lortu duzu 3 erdian.
Beraz, 3-sorta 7 berdina da?
Ez da, ezta?
Baina egiaztapen pare bat egin ahal izango dugu.
3 7 baino gutxiago edo array da 3 multzo 7 baino handiagoa da?
>> Eta badakigu 7 baino txikiagoa dela.
Beraz, badakigu, ai, onartu beharra dago Ez ezkerreko erdia izango.
Badakigu hori izan behar da eskuineko erdia da, ezta?
Beraz, besterik ez dugu txikitu daiteke off array erdia.
Ere ez dugu nahi ere begira jada.
Ezagutzen dugulako dela gure arazoa erdia
ezagutzen dugun erantzuna da eskubidea gure arazoaren erdia.
Beraz, hori begiratu besterik ez dugu orain.
>> Beraz, orain begiratu at dugu zer utzi erdian.
Indize hori 5.
Check bera berriro egiten dugu eta ikusi genuen txikiagoa dela.
Beraz, hori ezkerreko begiratzen dugu.
Eta gero, check dela ikusten dugu.
Array balioa da indizea 4 7 berdina?
Da.
Beraz, itzultzeko egia esan daiteke, izan ere, Gure zerrendan balioa aurkitu dugu.
Bidean zehar joan nintzen egiten du make denek zentzu horretan?
ONDO DA.
Emango dizut mutil agian, bezala, Hiru, lau minutu irudikatu nahi
hau nola pseudocode asmoz.
>> Beraz, imajina bat idazteko eskatu dizut Bilaketa funtzioa izeneko () itzulia
balioa, balio boolear bat, zela egia edo gezurra bezala,
Egia aurkitu baduzu balio, faltsua ez baduzu.
Eta gero zinen balioa gainditu duzu
ziren bila balioak, sartu bertan dago, array Oh, zalantzarik gabe jarri dut
okerreko lekuan dagoela.
ONDO DA.
Anyways, hori behar dute balioak eskubidea izan.
Eta gero, int n kopurua da Array horretan elementuen.
Nola litzateke saiatzen joan arazo hori pseudocode nahi?
Bezalako mutil emango dizut Hiru minutu horretarako.
Ez, uste dut ez da sor baitezakete Bai, ez eskuineko bat sortu da hemen.
Ikusleak: Can I?
ANDI Peng: Bai, zuk lortu nuen.
Lan hori?
Ados, cool.
>> ONDO DA.
Eskubidea guys guztiak, gaude rein aldera joan.
ONDO DA.
Beraz, bere gain hartuko lortu dugu eder hau n bertan balioak array gutxi.
Ez nuen marrak marrazteko.
Baina, nola litzateke joan gara hau idazten saiatzen?
Norbaitek nahi den eman zidan lehen lerroan?
Niri emateko lortu nahi baduzu pseudocode hau lehen lerroan.
>> Ikusleak: [INAUDIBLE]
Ikusleak: litzaidake nahi duzu bestera joateko bitartez
Ikusleak: Just beste begizta for?
Ikusleak: --for.
>> ANDI Peng: Beraz, hau da, pixka bat delikatua.
Pentsatu nahi duzun naizenean begizta hau martxan mantentzea
behin eta berriro noiz arte?
>> Ikusleak: [INAUDIBLE] arte balio balio berdina da.
ANDI Peng: Zehazki.
Beraz, ez duzu besterik ez write-- duzu nahiz eta ezin dugu sinplifikatzen da gehiago.
Bakarrik egin ahal izango dugu berriz, begizta bat, ezta?
Beraz, besterik ez duzu loop Ezagutzen dugun bitartean bat dela.
Baina oraintxe, noa zer bidez - "begizta" esatea?
Loop until-- zer da Gure bukatzen baldintza?
Uste dut entzun nuen.
Norbaitek esan entzun nuen.
>> Ikusleak: Balioen berdinen erdialdera.
ANDI Peng Berriz esaten da.
Ikusleak: Edo, arte bilatzen ari zaren balio
erdiko balioa berdina da.
>> ANDI Peng: ez da han ere badago?
Zer gertatuko da bilatzen ari zaren balioa ez da benetan array honetan?
Ikusleak: itzultzeko duzu 1.
>> ANDI Peng: Baina, zer egin nahi dugu begizta baldintza bat behar badugu arte?
Bai.
>> Ikusleak: arte ez da balio duen bakarra?
ANDI Peng: You can amaitzen da until-- beraz badakizu zarela
Gehienez balio bat izan da, ezta?
Eta hori ari zaren badakizu min balio bat, eskubidea dute?
Halaber, hori zerbait delako Aurretik esatea ahaztu zait,
Zerbait hori, bilaketa bitarra buruz kritikoak
da zure array ordenatuko dagoeneko.
Zeren eta ez dago egiteko modu hau besterik ausazko balioak ari dira.
Zuk ez dakizu bat bada bestea baino handiagoa da, ezta?
>> Beraz, badakizu, gehiengo hori eta Zure mins hemen dira, ezta?
Zuk be egokituz joan bazabiltza Zure max zure mins eta mid-- batean
Demagun, besterik gabe, zure erdialdean balio hementxe da
ari zaren, funtsean begizta zure minimoa izan arte
Zure max gisa berean, eskuineko edo buruz Zure max ez da zure min berdina bada.
Eskuin?
Hori gertatzen denean, zeren, badakiela Nik azkenean hit balio bera izango dituzu.
Beraz, zure min arte begizta nahi duzu txikiago edo berdin trabatzen zaie da,
ez baino edo gutxiago, Beste bada inguruan max modu bat da.
>> Hori egin zuen zentzurik?
Gutxi saiatzen hartu dut eskubide hori lortu ahal izateko.
Baina begizta gehiengo balio arte da, funtsean, ia gutxiago
Baino edo zure gutxieneko berdina, ezta?
Orduan badakizu duten konbergenteen duzun.
Ikusleak: Zure gehienez litzateke balio izan gutxienekoa baino txikiagoa?
ANDI Peng: duzula mantentzen bada egokituz, eta horrek
da zer goaz honetan beharreko egiten.
Ez duela zentzurik?
Gutxieneko eta gehienezko besterik ez dira hori seguruenik gara integers
nahi joan den mantentzeko sortu nahi non bilatzen ari gara pista.
Array existitzen delako zer egiten ari garen kontuan hartu gabe.
Bezala, ez gara benetan fisikoki Array moztu, ezta?
Zu besterik egokituz dugu non bilatzen ari gara.
Ez duela zentzurik?
>> IKUSLEEN: Bai.
>> ANDI Peng: OK.
Beraz, gure begizta baldintza bada, zer egin begizta honen barruan, nahi dugu?
Zer ari gara faltako den egin?
Beraz, oraintxe bertan, lortu dugu Gehienez bat eta min bat, eskubidea,
ziurrenik sortu up hemen nonbait.
Ziurrenik nahi goaz erdian, eskuineko aurkitzea?
Nola egingo dugu hori izango da gai erdialdera aurkitzea?
Zer da mathematical-- du
Ikusleak: Max plus 2 banatuta min.
ANDI Peng: Zehazki.
Ez duela zentzurik?
Eta ikusten duzu guys zergatik dugu ez besterik use-- zergatik egin dugu
ordez egiteko besterik N 2 banatuta?
Da n balio bat dagoelako hori bera lo egingo.
Eskuin?
Baina gure gutxieneko egokitu dugu eta gehieneko balioak, ari dira aldatu egingo da.
Eta, ondorioz, gure erdialdera da gehiegi aldatuko.
Beraz, horregatik nahi dugu eskubide hori egin hemen.
ONDO DA.
>> Eta gero, orain dela aurkitu dugu our-- bai.
>> Ikusleak: Just question-- azkar bat denean min eta max esan duzu,
dira suposatuz dugun ordenatuko dagoeneko ez da?
>> ANDI Peng: Bai, hori da benetan bat bilaketa bitarra bat izateko baldintza,
ordenatuko da jakin behar duzula.
Hori dela-eta, ordenatu, idazten duzun zure Arazoa zure bilaketa bitarra aurretik ezarri.
ONDO DA.
Beraz, gaur egun ezagutzen dugun erdigunea hau da, hemen zer egin nahi duzu?
>> Ikusleak: konparatu nahi dugu beste bat dela.
ANDI Peng: Zehazki.
Beraz ari alderatu zoazen balio erdialdean, ezta?
Eta zer esango du gurekin denean konparatu?
Zer gero zer egin nahi dugu?
>> Ikusleak: balio handiagoa bada erdialdean baino, moztu off nahi dugu.
ANDI Peng: Zehazki.
Beraz balio handiagoa bada erdialdean baino, gaude
horiek aldatu nahi joan gutxieneko eta maxes, ezta?
Zer aldatu nahi dugu?
Beraz baldin badakigu balioa da nonbait Hemen ere, zer egiten duzu aldatu dugu?
Gure aldatu nahi dugu gutxieneko erdialdean izango da, ezta?
Eta gero beste, da hau ere bada erdia, zer aldatu nahi dugu?
>> Ikusleak: Zure gehienez.
ANDI Peng: Bai.
Eta gero, besterik ez zaren joan , eskuineko begizta mantentzeko?
Orain delako, iterazio ondoren bidez, lortu duzun max a hemen.
Eta gero, Mid a Birkalkulatu dezakezu.
Eta gero alderatu dezakezu.
Eta zu jarraitzea joan mins eta maxes arte
funtsean konbergenteen.
Eta hori da, badakiela hit duzun da amaieran.
Eta bai aurkitu duzula da edo ez duzu puntu horretan.
>> Ez du hori zentzurik denek nahi?
ONDO DA.
Hau da, nahiko garrantzitsua, you beharko duelako
hau idatzi zure kodea gauean.
Baina nahiko ona izan duzu guys zer egiten egon behar duzu zentzua,
eta hori ona da.
ONDO DA.
Beraz, zazpi lortu dugu minutu geratzen atalean.
Beraz, hitz buruz pset hau egiten ari garela.
Beraz pset bi zatitan banatuta dago.
Lehen erdian dakar Aurkikuntza bat gauzatzeko
bertan, bilaketa lineala idatzi duzu, a bilaketa bitarra, eta ordena bildu bat.
>> Beraz, hau da lehena pset bat non denbora
you guys emanez izango dugu zer deitzen banaketa kodea, eta kode da
dugu pre-idatzitako, baina besterik pieza batzuk utzi
idatziz amaitzeko behar duzu.
Beraz, you guys begiratzen honetan duzu kodea, baliteke urratsak benetan beldur.
Zu besterik nahi baduzu, ahh, I ez dakit zer da hori egiten,
Ez dakit, bezala, badirudi hain konplexua, ahh, erlaxatzeko.
Ondo da.
Irakurri zehaztapenak.
Zehaztapenak izango duzu azaldu zehazki zer programa horiek guztiak egiten ari dira.
>> Adibidez, generate.c programa bat da Egingo zure pset etortzen.
Egia esan, ez duzu ukitu, baina zer egiten ari da ulertu behar duzu.
Eta generate.c, guztiak egiten ari da bai ausazko zenbakiak sortuz
edo, eman dezakezu hacia, bat bezala hitzartutako kopurua hartzen duela,
eta zenbaki gehiago sortzen ditu.
Beraz, ez dago modurik zehatz bat da generate.c ezartzeko eta bertan
, egin dezakezu zenbaki-sorta bat Zure bestelako metodoak probatzeko nahi da.
>> Beraz, nahi izanez gero, for Adibidez, zure aurkituko probatzeko,
generate.c exekutatu nahi zenuke, zenbaki-sorta bat sortzea,
eta, ondoren, zure laguntzaile funtzioa exekutatu.
Zure laguntzaile funtzioa da non zarela benetan fisikoki kodea idatziz.
Eta laguntzaile uste liburutegia fitxategi bezala idazten ari zaren bada deituz.
Eta beraz helpers.c barruan, ikusiko duzu ez bilatu eta sailkatzeko.
>> Eta gero joan zaren, funtsean, Besterik jarri denak elkarrekin.
Zehaztapenak ere esango dizu nola jarri duten komando-lerroan.
Eta behar den ala ez probatu ahal izango duzu, edo Ez zure moduko eta bilaketa lanetan ari gara.
Cool.
Ditu dagoeneko edonork hasi eta arazo edo galdera topo
oraintxe dute honekin?
ONDO DA.
>> Ikusleak: itxaron.
Galdera bat daukat.
>> ANDI Peng: Bai.
>> IKUSLEEN: egiten hasi nintzen Bilaketa lineala helpers.c in the
eta ez zen benetan lan egiten.
Baina gero, aurkitu dut, besterik ez dugu ezabatu eta egin bilaketa bitarra dute.
Beraz, ez da izango ez balitz axola?
>> ANDI Peng: Erantzun laburra ez da.
Baina ez bada ari gara geroztik
Ikusleak: Baina inork ez du bere benetan egiaztatuz.
ANDI Peng: gara inoiz duten ikusteko.
Baina seguruenik egin nahi duzu Ziur bilaketa lanean ari da.
Zure lineala bada delako bilatu ez da lan,
orduan aukerak zure binariodiraeta bilaketa ez da bezain ondo lan egingo da.
Antzeko izan duzulako biak ere logika.
Eta ez, ez du benetan axola.
Beraz bakarrak piztu dituzu Ordena eta bilaketa bitarra dira.
Bai.
>> Eta, era berean, seme-alabek asko egon ziren helpers.c konpilatu nahian.
Oraindik ez duzu benetan onartzen Hori egin ahal izateko, helpers.c delako
ez du funtzio nagusia dute.
Eta beraz, behar duzu bakarrik izan benetan konpilatzean
sortzen eta aurkitu, deiak aurkitu duelako helpers.c eta barruan funtzioak.
Beraz, hori arazketa egiten ipurdia mina bat.
Baina hori da, zer egin behar dugu.
Ikusleak: egin duzu, besterik gabe, guztia, ezta?
ANDI Peng: zuk zuzenean guztiak egin baita, bai.
ONDO DA.
Hori da eta zer dagokionez pset egin duzun guztia eskatuz.
Edozein zalantza izanez gero, sentitzen doan galdetu atala ondoren.
Hemen egongo naiz, dagoen bezala, 20 minutu.
>> Eta bai, pset en benetan ez dela txarra.
Zaudete ONEAN.
Hauek, besterik jarraibideak jarraitu.
Kind of dute zentzua, logikoki, zer gertatzen ari behar da, eta ondo egongo litzateke duzu.
Ez beldur izan.
Badira kode asko da Dagoeneko idatzita dago.
Ez izan beldur gehiegi ez baduzu zer hori guztia esan nahi duen ulertzeko.
Asko bada, guztiz fina da.
Eta bulego orduetan etorri.
Lagundu egingo dugu begirada bat hartu.
>> Ikusleak: estra funtzio, ez dutenek begiratu beharko dugu?
>> ANDI Peng: Bai, horiek kode daude.
15 partida, erdia ere Dagoeneko da zuretzat idatzirik.
Beraz, funtzio horiek dira Kodea dagoeneko.
Yep.
Ados.
Beno, zorterik onena.
Disgusting egun bat da.
Beraz, espero duzu mutilak ez gehiegi sentitzen barruan ostatu eta kodifikazioa buruzko txarra.