>> JASON Hirschhorn: Ongi etorri denek Zazpi Atalari.
Dira astean zazpi Ikastaroaren dugu.
Eta hurrengo ostegunean Halloween da, beraz, I am
mozorrotuta kalabaza bat bezala.
Ezin nuen okertu baino gehiago eta jarri nire oinetakoak, beraz, horregatik nago
besterik galtzerdiak jantzita.
Dut, halaber, ez da ezer jantzita pean honek, beraz, ezin dut eraman ezazu off bada
Zuri distracting.
Barkamena eskatzen dut, aldez aurretik horretarako.
Zuk ez duzu imajinatu zer ari den gertatzen.
Boxeolariak naiz jantzita.
Hain ona guztiak da.
>> Zergatik naiz buruzko istorio luzeagoa daukat kalabaza bat bezala jantzita, baina noa joan
gorde duten atal honetan geroago dut nahi duelako egiten lehen urratsak emateko.
Zirraragarria gauza asko dugu aste honetan zehar joan.
Horietako gehienak erlazionatu zuzenean honetara astean arazo multzo, gaizki idatzitako hitzak.
Lotuta baino gehiago egingo goaz zerrendak eta hash taulak
atal osorako.
Zerrenda honetan zerrenda bat jarri nuen sortu Astero, lagundu nahi baduzu zurekin baliabideak
Ikastaro honi buruzko materiala.
Galera bat bada edo batzuk bila Informazio gehiago nahi izanez gero, begiratu bat
baliabide horiek.
>> Berriz ere, pset6 Akatsik da, Aste honetan pset.
Eta ere animatzen da, eta nik animatzen zaren, beste batzuk erabili
baliabideak zehazki pset honetan.
Hain zuzen ere, hiru izan dut zerrendatu pantailan -
gdb, zein izan dugu ezagutzen eta orain erabiliz, berriz, bat, da
Oso lagungarria izango da aste honetan egingo da.
Beraz, hori jarri dut hemen.
Baina C lan egiten ari zaren, betiere, Beti egon gdb erabiliz behar duzu
zure programak arazteko.
Aste honetan ere Valgrind.
Inor daki zer valgrind du?
>> AUDIENCE: egiaztatzen memoria filtrazioak It?
>> JASON Hirschhorn: Valgrind memoria filtrazioak egiaztatzen du.
Hala bada in malloc duzu zerbait zure programa, memoria eskatuz zaren.
Zure programaren amaieran, duzu free idazten duzun guztia
malloced memorian atzera emateko.
Ez duzu idazteko free bada amaieran eta Zure programa ondorio bat dator,
guztia automatikoki egingo libratuko dira.
Eta programa txikiak, hura da Akordio bat ez duten big.
Baina zuk jada entzierro bat idazten ari bada programa horrek ez irten,
nahitaez, minutu bat edo pare bat segundo pare, ondoren memoria filtrazioak
Akordio handi bat bihur daiteke.
>> Beraz pset6 egiteko, esperantza dela zero memoria filtrazioak izan izango duzu
Zure programa.
Memoria ihesak egiaztatzeko, exekutatu valgrind eta eman egingo duzu polit batzuk
irteera jakin ala ez dezazun edo ez, dena libre zen.
Izango da batera landu dugu geroago gaur, zorionez.
>> Azkenik, diff komandoa.
Da antzeko zerbait erabili zenuen peek tresnarekin Pset5 in.
Baimenduta barruan begiratu behar duzu.
Halaber diff erabiltzen duzu, ere, per arazoa multzo zehaztapenak.
Baina onartzen duzu nahi konparatu bi fitxategiak.
The bitmap fitxategia eta konparatu dezakezu Datu langileei irtenbide bat goiburu eta
zure irtenbidea Pset5 bada hura erabiltzeko digu.
Diff duzu aukera emango du Hau egitea, bai.
Erantzun zuzena alderatu dezakezu Zure erantzuna 'ezarrita aste honetan arazo
eta ikusten baduzu up lerro da edo ikusteko non akatsak dira.
>> Beraz, horiek dira hiru tresna ona dela Aste honetan erabili behar duzu, eta
zalantzarik gabe zure programa check hiru tresna horiek
inflexio sartu aurretik
Berriz ere, astean behin esan dizudan bezala, bai - Niretzat edozein feedback duzu bada
positiboa eta konstruktiboa -
sentitzen free webgunera joatea diapositiba honen behealdean
eta sarrera han.
Benetan edozein eskertzen dut eta zuzenketa guztiak.
Eta eman duzun me bada gauza zehatzak Hobetu egin ahal izango dut edo naiz zela
ondo egiten duten me nahi duzun jarraitzeko, hori hartzen dut bihotza eta
Benetan saiatu gogor entzuteko zure iritzia emateko.
Ezin dut promesa egin noa Guztia, ordea, jantzita bezalako
Astero mozorro kalabaza.
>> Beraz ari gara gehienak pasatzera joan atalean, aipatu dudan bezala, buruz ari
lotuta zerrendak eta hash taulak, eta horrek zuzenean aplikagarri izango
Arazo multzo aste honetan.
Lotuta zerrendak dugun baino gehiago nahiko joango dugu gastatu azkar delako arrazoizko apur bat
Denboraren gainean atalean joan.
Eta horrela lortuko dugu zuzenean sartu kodeketa arazoak lotuta zerrendak egiteko.
Eta gero bukaeran dugu buruz hitz taulak hash eta nola aplikatu honi dute
astean arazo ezarri.
>> Kode hau lehenago ikusi duzu.
Hau egitura bat da, eta definitzea da Zerbait berria nodo deritzo.
Eta nodo baten barruan badaude oso bat da eskubidea han eta hemen erakuslea da
nodo beste.
Ikusi dugu honen aurretik.
Hau sortu du datozen sido para astez, orain pare bat.
Erakusleak, bertan izan gara uztartzen ditu , eta structs zeini esker lan
bi ezberdinak konbinatzeko gurekin datu mota bat sartu gauzak.
>> Asko gertatzen da pantailan da.
Baina guztia nahiko izan beharko luke duzu ezagutzen.
Lehen lerroan, dugu nodo berri bat aldarrikatu.
Eta gero nodoaren barruan, I ezarri nodo horretan osokoa bat.
Ikus hurrengo lerro bat egiten ari naiz on dugu printf komando, baina grisez markatutako dut
printf komandoa benetan delako zati garrantzitsu lerro hau da hemen -
new_node.n.
Zer esan nahi dot?
>> AUDIENCE: nodoaren ra joan eta n da balioa ebaluatzeko.
>> JASON Hirschhorn: Hori zehazki eskubidea.
Dot esan nahi n parte sartzeko nodo berri honen.
Hurrengo lerro hau ez du zer?
Michael.
>> AUDIENCE: nodoa beste sortzen du egingo duten nodo berria seinalatu.
>> JASON Hirschhorn: Beraz, ez da nodo berri bat sortzeko.
Zer bat sortzen da?
>> AUDIENCE: erakuslea.
>> JASON Hirschhorn: nodo bat erakuslea, adierazitako nodo * honetan bezala hemen.
Beraz nodo bat erakuslea bat sortzen da.
Eta horrek nodo da seinalatuz , Michael?
>> AUDIENCE: nodo berria?
>> JASON Hirschhorn: nodo berria.
Eta bertan apuntatzen da dugu delako jakin ezazu nodo berri-helbidea.
Eta, orain, lerro hau ikusten dugu bi modu desberdinak
gauza bera adierazteko.
Eta azpimarratu nahi nuen nola horiek Bi gauza bera dira.
Lehen lerroan, dugun erreferentzia kenduta erakuslea.
Beraz, joan nodo nahi dugu.
Hori zer izar horrek esan nahi.
Ikusi dugu, erakusleak aurretik.
Nodo horretara joateko.
Duten parentesi da.
Eta, ondoren, puntu operadorea bidez sartzeko n nodo duten elementua.
>> Beraz, sintaxia Honez hartu eskuinera orain eta hemen ikusi genuen
ez ezazu erabili erakuslea batekin.
Jakina, halako lortzen lanpetuta bada of ezazu parentesi horiek idazten ari zaren -
izarra duten eta puntu horretan.
Apur bat lanpetuta lortzen da.
Beraz azukre sintaktiko batzuk ditugu.
Eta lerro hau hementxe -
ptr_node-> n.
Duten zehatza gauza bera egiten du.
Beraz, bi kode lerro horiek dira baliokide eta egingo
gauza bera zehatza.
>> Baina horiek seinalatu aurretik nahi nuen Beste inora joan gara, beraz, ulertzen duzu
benetan hementxe gauza hau da besterik azukre sintaktikoa dereferencing egiteko
erakuslea eta gero joan n struct duten zatia.
Diapositiba buruzko galderarik?
Ados.
>> Beraz, bikote baten bidez joan eragiketak on egin dezakezu
lotuta zerrendak.
Lotuta zerrenda bat, abisuaren, multzo bat da beste bat seinalatu duten nodo.
Eta, oro har, erakuslea batekin hasiko dugu burua deitzen zaio, oro har, hori seinalatzen
Zerrendako lehen gauza.
Beraz, lehen lerroan hemen, dugun Lehenengo gure jatorrizko L dute.
Beraz, gauza zarela pentsa dezakezu - hori hementxe testu gisa dezakezu uste
besterik erakuslea gordetzen dugu nonbait puntu
lehenengo elementua da.
Eta lotutako zerrenda honetan lau nodo dugu.
Nodo bakoitzean kutxa handi bat da.
Koadroan handiago big barruan kutxa zenbaki oso zatia da.
Eta, ondoren, erakuslea zati bat dugu.
>> Kutxa horiek ez dira marraztuko eskala delako nola big da
bytetan zenbaki oso bat?
Zein handia orain?
Lau.
Eta zein handia da erakuslea?
Lau.
Beraz, benetan, marrazteko bagenitu hau bai kutxak eskalatzeko
tamaina bera izango litzateke.
Kasu horretan, sartu nahi dugun lotuta zerrendan sartu zerbait.
Beraz, hemen ikusi ahal izango duzu behera txertatzen ari gara bost zeharkatuko bidez dugu
lotutako zerrenda, aurkitu non bost doa, eta gero sartu.
>> Hautsi dezagun behera duten eta joan pixka bat motelago.
Taula seinalatu noa.
Beraz, gure nodoaren dugu bost duten mallocs dugu sortutako.
Zergatik denek barrezka ari da?
Just kidding.
Ados.
Beraz malloced dugu bost.
Nodo hau sortu dugu nonbait.
Joateko prest egon behar dugu.
Hasteko aurrean dugun gure bi zerrenda.
Eta sartu nahi dugun ordenatuko moda batean.
>> Beraz bi ikusiko dugu eta gero jarri nahi dugu bost urtean, zer egin dugu ikusten dugunean
Guk baino gutxiago?
Zer?
Bost txertatzeko honetan sartu nahi dugun lotutako zerrenda, mantenduz horrela antolatu.
Bi zenbaki ikusiko dugu.
Beraz, zer egiten dugu?
Marcus?
>> AUDIENCE: Dei erakuslea hurrengo nodo.
>> JASON Hirschhorn: Eta zergatik joan hurrengo bat dugu?
>> AUDIENCE: da delako Zerrendako hurrengo nodoa.
Eta beste kokapen hori bakarrik ezagutzen dugu.
>> JASON Hirschhorn: Eta bost da handiagoa bi baino, bereziki.
Ordenatuko da mantendu nahi dugulako.
Beraz, bost bi baino handiagoa da.
Beraz, aurrera egin dugu hurrengo bat.
Eta orain lau iritsiko gara.
Eta zer gertatzen den lau iritsiko gara?
>> Bost lau baino handiagoa da.
Beraz jarraitzea dugu.
Eta orain Oraindik seietan dugu.
Eta zer ikusten seietan dugu?
Bai, Carlos?
>> AUDIENCE: Sei bost baino handiagoa da.
>> JASON Hirschhorn: Sei da bost baino handiagoa.
Beraz, non nahi dugun bost txertatzeko.
Hala ere, gogoan badugu Besterik ez da erakusle bat hemen -
hau gure erakuslea estra hori da zerrendan zehar zeharkatzen.
Eta sei ari gara seinalatuz.
Pista galdu dugu zer dagoen Sei aurretik dator.
Beraz, zerbait txertatu sartu nahi badugu mantenduz zerrenda honetan ordenatuko, dugu
Ziurrenik erakusleak zenbat behar?
>> AUDIENCE: Bi.
>> JASON HIRSCHORN: Bi.
Korrontearen segimendua egiteko bat bat eta bat segimendua egiteko
aurreko bat du.
Hau banaka lotuta zerrenda bat besterik ez da.
Norabide batean bakarrik jartzen da.
Bi aldiz lotuta zerrenda bat bagenu, non dena gauza seinalatuz zen
da eta horren aurretik gauza, eta gero ondoren ez genuke behar horretarako.
Baina kasu honetan ez dugu nahi galtzen gure aurrean zer etorri zen kasu horretan, pista
bost nonbait sartu behar dugu erdian.
Esan ziren txertatu dugu bederatzi.
Zer gertatuko litzateke denean zortzi lortu nahi dugu?
>> AUDIENCE: litzaidake behar duzu null puntu hori lortzeko.
Null puntua izan beharrean litzaidake duzu elementu bat gehitu eta gero izan
seinalatu eta bederatzi da.
>> JASON HIRSCHORN: Zehazki.
Beraz, zortzi lortuko dugu.
Zerrendako amaieran iritsi garelako hau da null seinalatuz.
Eta, orain, ordez izatea seinalatu du null seinalatu gure nodo berria egiten dugu.
Eta erakuslea ezarri dugu hemen gure nodoaren null.
Du inor edozein zalantza sartzeari buruzko?
Zer ez zait, bada buruz ordenatuko zerrendan mantenduz?
>> AUDIENCE: Negu Gorriak dut at hasita edo amaieran.
>> JASON HIRSCHORN: Negu Gorriak at hasieran edo amaieran.
Zein nahi dugu?
Bobby?
Zergatik amaieran?
>> AUDIENCE: Zeren hasieran Dagoeneko beteta.
>> JASON HIRSCHORN: Ados.
Hasieran jada beteta.
Nork nahi du Bobby aurka argudiatzeko.
Marcus.
>> AUDIENCE: Beno seguruenik nahi makila hasieratik delako
jarri duzu bestela bada at amaieran duzuna izan
zeharkatuko zerrenda osoa.
>> JASON HIRSCHORN: Zehazki.
Exekuzio buruz dugun pentsatzen ari hala bada ere, amaieran txertatu du exekuzio
izan n litzateke, hau tamaina.
Zer da big O txertatzeak duen exekuzio du hasieran?
Etengabeko denbora.
Beraz, ez baduzu mantenduz buruz zaintzen zerbait ordenatuko, askoz ere, besterik gabe, hobeto
zerrenda honen hasieran txertatzeko.
Eta hori konstante denbora egin daiteke.
>> Ados.
Hurrengo eragiketa aurkituko da, eta horrek beste - phrased dugu hau bilaketa gisa.
Baina ari gara bidez begiratu egingo du objektu estekatu batzuen zerrenda.
Zaudete kodea ikusi baterako bilatu baino lehen hitzaldia.
Baina sort besterik ez genuen berarekin txertatu, edo, gutxienez, txertatu
zerbait ordenatuko.
Bidez begiratzea, joan nodo nodo arabera, kopuruaren duzu Oraindik aurkitu arte
bila.
Zer gertatzen iristeko baduzu zerrendako amaieran?
Esaten dut bederatzi eta bila nabil zerrendaren amaierara iristeko.
Zer egiten dugu?
>> AUDIENCE: Return faltsua?
>> JASON HIRSCHORN: Return faltsua.
Ez dugu aurkitu.
Zerrendaren amaiera iritsiko bada, eta Ez baduzu zenbakia Oraindik aurkitu
bila, ez da han ere.
Buruzko zalantzaren bat aurkitu?
Hau horrela antolatu zerrenda bat izan bada, zer egingo zenuke izan gure Bilatzen desberdinak?
Bai.
>> AUDIENCE: lehen balioa aurkituko litzateke hori baino handiagoa
zuretzat eta bilatzen ari zaren ondoren, itzultzeko faltsua.
>> JASON HIRSCHORN: Zehazki.
Beraz horrela antolatu zerrenda bat izanez gero, lortuko dugu hori zer baino handiagoa den zerbait
bilatzen ari gara, ez dugu behar mantentzeko zerrendaren amaieran joan.
Daiteke puntu horretan itzuliko gara faltsua ari gara, ez delako aurkitu du.
Galdera da, orain, hitz egin dugu lotuta zerrendak mantenduz ordenatuta,
horiek mantenduz ordenatu gabe.
Hori zerbait Oraindik izango da seguruenik pentsatu izan da joan
denean kodeketa arazo ezarri bost baduzu aukeratu bereizi hash taula bat
kateatzea hurbilketa, eta horrek buruz hitz egingo dugu beranduago.
>> Baina merezi du zerrendan mantentzeko ordenatuko eta ondoren izango da, agian, izan ahal
bilaketak azkarrago?
Edo, hobe azkar txerta konstante exekuzio zerbait baina gero
luzeagoa izan bilatzen?
Duten denerako bat bertan duzun get zer da gehiago egokia erabakitzeko
Zure arazo bereziei.
Eta ez dago ez da nahitaez bat erabat erantzun egokia.
Baina zalantzarik gabe, erabaki bat lortuko duzu , egiteko eta defendatzeko seguruenik ona
horretan, esan, iruzkin bat edo bi zergatik bata bestearen gainean digu.
>> Azkenik, ezabatzen.
Ikusi dugu ezabatzen.
Da bilatzen antzekoa da.
Elementua bilatzen dugu.
Esan sei ezabatzen saiatzen ari gara.
Beraz aurkituko dugu sei hemen.
Ziur dugu egin behar dugu gauza egin da hori dena delakoa da seinalatuz
Sei - ikusiko dugu urrats gisa bi behera hemen -
dena delakoa da eta sei beharrak seinalatuz skip sei orain eta behar den aldatu
edozein dela sei da seinalatuz.
Ez dugu nahi, gainerako inoiz umezurtz Gure zerrenda horretan ezarri nahi ditugu ahaztu arabera
Aurreko erakuslea.
Eta, ondoren, batzuetan, arabera programa da, besterik gabe, egingo dute
Nodo hau ezabatu erabat.
Batzuetan itzuli nahi duzu balioa duten nodo horretan da.
Beraz, lanak nola ezabatzen.
Buruzko zalantzaren bat ezabatu?
>> AUDIENCE: Beraz zu ezabatu bada da, litzateke erabili besterik ez duzu free delako
zentzuzkoa malloced zegoen?
>> JASON HIRSCHORN: to askatzea nahi baduzu hori zehazki eskubidea eta duzu zerbait
malloced da.
Esateko balio hori itzuli nahi izan dugu.
Agian itzuliko gara sei eta ondoren doan nodo hau eta dei free ezazu.
Edo seguruenik litzaidake deitzen dugun doako lehen eta ondoren itzultzeko sei.
>> Ados.
Beraz dezagun aurrera coding landu.
Hiru funtzio kode goaz.
Lehena da insert_node deritzo.
Beraz duzula bidaliko dut kodea behar duzu, eta duzu hau geroago ikusten ari bada
kodearen irits zaitezke linked.c in CS50 web orrian.
Baina linked.c batean, ez da zenbait hori da dagoeneko hezurdura kodea
idatzi zuretzat.
Eta orduan, bikote funtzio bat idatzi behar duzu.
>> Lehen goaz idatzi insert_node.
Eta zer insert_node du da zenbaki oso bat txertatzen.
Eta osokoa ari zaren emanez lotutako zerrenda batean.
Eta bereziki, behar duzun ordenatuko zerrendan mantentzeko
txikiena etatik handiena.
Halaber, ez duzu nahi edozein bikoiztuak txertatzeko.
Azkenik, insert_node ikusi dezakezu bezala boolearra itzultzen du.
Beraz, zu ustezko utzi, erabiltzaileak jakin txertatze izan zen ala ez
egia edo gezurra itzuliz arrakastatsua.
Programa honen amaieran -
eta etapa honetan, ez duzu behar ezer askatzeaz kezkatu.
Beraz, egiten ari zaren guztia da zenbaki oso bat hartzen eta txertatu zerrenda batean.
>> Hau da, zer duzun galdetzen dut orain egin.
Berriz ere, linked.c batean, eta zuk denek dute, hezurdura kodea da.
Eta duzun beheko aldera ikusi beharko lagin funtzioaren adierazpenean.
Hala ere, programazioan sartzen joan aurretik C, oso animatzen zaituztet joan
urratsak egiten dugu dugun aste bakoitzean praktikatzeko.
Dugu dagoeneko pasatu horren irudi bat.
Beraz ulertzea batzuk izan behar dituzu hau nola funtzionatzen duen.
Baina zuk idatzi animatuko nuke urpean sartu aurretik pseudocode batzuk
Eta ari gara baino gehiago joan da joan pseudocode talde gisa.
Eta ondoren idatzitakoa behin zure pseudocode, eta idatzi dugu behin gure
pseudocode talde gisa, ahal duzun coding da C. sartu
>> Buruak bat sortu, insert_node funtzioa gisa da seguruenik of trickiest
hirurak ari gara, idazteko joan dudalako mugak osagarriak batzuk gehitu behar
zure programazioa, bereziki, duten Ez bazara edozein txertatzeko joan
bikoiztuak eta den zerrendan ordenatuko jarraituko behar.
Beraz, hau ez hutsala programa bat da ondorengo kodea behar duzula.
Eta zergatik ez bost hartu duzu zazpi minutu besterik ezagutu ari da lanean
pseudocode eta kodea.
Eta orduan hasiko gara talde gisa joan.
Berriz ere, galderaren bat besterik ez duzu bada eskua altxatu eta inguruan etorriko naiz.
.
>> Ere, oro har egiten dugu horiek -
edo ez dut esplizituki esan duzu jendearekin lan egin daiteke.
Baina, jakina, oso animatzen zaitut, Zalantzaren bat izanez gero, eskatu
bizilaguna ondoan eserita edo nahiz eta norbait berarekin lan
bestela, nahi izanez gero.
Honek ez du pertsona bat izan nahi du Jarduera isila.
>> Dezagun batzuk idazteari ekin en pseudocode taula gainean.
Duten lehen lerroan eman ahal dit Programa honen pseudocode?
Funtzio honetarako, baizik eta - insert_node.
Alden?
>> AUDIENCE: Beraz, lehenengo gauza egin nuen sortu nodo eta I erakuslea berria
hasieratu seinalatuz bera da gauza zerrenda horretan apuntatzen da.
>> JASON HIRSCHORN: Ados.
Beraz erakuslea berri bat sortzen ari zaren zerrendan, ez nodo.
>> AUDIENCE: Eskuin.
Bai.
>> JASON HIRSCHORN: Ados.
Eta gero, zer egin nahi dugu?
Zer da horren ondoren?
Zer nodo buruz?
Ez dugu nodo bat.
Balio bat besterik ez dugu.
Nodo bat txertatu nahi badugu, zer egiten dugu are gehiago, ezin dugu aurretik lehen egin behar
bertan txertatu pentsatzen?
>> AUDIENCE: Oh, barkatu.
espazio malloc nodo bat behar dugu.
>> JASON HIRSCHORN: Bikain.
Egin dezagun -
Ados.
Ezin altua duten iristeko.
Ados.
Behera joan goaz, eta, ondoren, bi zutabe erabiltzen ari gara.
Ezin dut joan -
Ados.
Nodo berria sortzen du.
Erakuslea beste sor dezakezu zerrendara edo erabili dezakezu zerrenda existitzen gisa.
Ez benetan behar duzun horretarako.
>> Beraz, nodo berri bat sortu dugu.
Handia.
Hori zer lehen egin dugu.
Zer da hurrengoa?
>> AUDIENCE: Itxaron.
Nodo berri bat sortu behar dugu orain, edo behar den ziur itxaron dugu
ez dago nodo bikoiztuak zerrendan sortu aurretik dugu?
>> JASON HIRSCHORN: Ona galdera.
Dezagun eutsi en geroago delako da garai sortzeko egingo dugu gehiengo
Nodo berria.
Beraz, hemen jarraituko dugu horretan.
Baina galdera ona da.
Sortu eta bada aurkituko dugu bikoiztua, zer egin beharko lukete
egiten dugu itzuli aurretik?
>> AUDIENCE: Doan da.
>> JASON HIRSCHORN: Bai.
Ziurrenik askatzea da.
Ados.
Zer egiten dugu dugu ondoren nodo berri bat sortzeko?
Annie?
>> AUDIENCE: jarri dugu nodoaren zenbakiarekin?
>> JASON HIRSCHORN: Zehazki.
Zenbakia jarri dugu - espazio malloc dugu.
Duten utzi noa guztiak lerro bat bezala.
Baina eskubidea.
Espazio malloc dugu, eta, ondoren, zenbakia jarri dugu sartu
Nahiz erakuslea ezarri ahal izango ditugu, zati null.
Hori da zehazki eskubidea.
Eta gero, zer horren ondoren zer?
Argazki hau atera genuen taula gainean.
Beraz, zer egiten dugu?
>> AUDIENCE: zerrendan zehar joan ginen.
>> JASON HIRSCHORN: zerrendan zehar joan.
Ados.
Eta zer begiratu dugu nodo bakoitzean.
Kurt, zer egiaztatu dugu Nodo bakoitzean for?
>> AUDIENCE: Ikus n balioaren ala nodo n balioa baino handiagoa da
gure nodoa.
>> JASON HIRSCHORN: Ados.
Egin dut -
yeah, Ados.
Beraz, n -
Balioa handiagoa bada, esan nahi dut Nodo hau baino, orduan zer egiten dugu?
>> AUDIENCE: Beno, gero sartu gara eskubide hori baino lehen gauza.
>> JASON HIRSCHORN: Ados.
Beraz, hau baino handiagoa bada, ondoren, txertatu nahi dugu.
Baina txertatzeko eskuineko aurretik nahi dugu dugu izan ere egin beharko lukeelako
jarraipena, eta ondoren, zer izan zen aurretik.
Beraz txertatu aurretik.
Beraz, ziurrenik, zerbait faltan botatzen dugu lehenago.
Ziurrenik ez dugu behar izango mantenduz zer gertatzen da pista.
Baina lortu dugu han.
Beraz, zer balioa baino txikiagoa?
Kurt, zer egiten dugu bada balioa baino txikiagoa?
>> AUDIENCE: Orduan, besterik gabe, gorde duzu joan azkena salbu.
>> JASON HIRSCHORN: hori gustatzen zait.
Beraz, hurrengo nodo joan.
Ezean azkena da -
ari gara seguruenik duten egiaztapena baldintza bat baldintzapean ere.
Baina bai, hurrengo nodoa.
Eta hori oso baxua lortzean, beraz mugitu dugu hemen.
Baina bada -
daiteke denek ikusi hau?
Berdinak Oraindik badugu zer egiten dugu?
Balioa txertatzeko saiatzen ari gara bada nodo honen balioa berdina?
Bai?
>> IKUSLEEN: [INAUDIBLE].
>> JASON HIRSCHORN: Bai.
Hori -
Marcus eskubidea da.
Liteke agian egin dugu zerbait desberdina.
Baina emandako sortu dugu, hemen askatu behar dugu, eta ondoren itzuli.
Oh mutil.
Hobea da hori?
Nola da hori?
Ados.
Libre eta gero, zer egin dugu itzultzeko, [INAUDIBLE]?
Ados.
Dugu ezer falta dira?
Beraz, non dira jarraipena dugu aurretiko Nodo?
>> AUDIENCE: uste dut joango litzateke ondoren nodo berri bat sortzeko.
>> JASON HIRSCHORN: Ados.
Beraz, hasieran ziurrenik zaitugu -
yeah, erakuslea erregistro berri bat sortu ahal izango dugu Nodo, aurreko nodoaren erakuslea bat bezala eta
uneko nodoaren erakuslea.
Hargatik txertatu duten hemen.
Sortu egungo eta aurreko nodo erakusleak.
Baina ez erakusleak horiek doitzeko dugu?
Non ez dela egin nahi dugu kodean?
Jeff?
>> AUDIENCE: - Balio baldintza?
>> JASON HIRSCHORN: Zein bereziki bat?
>> AUDIENCE: besterik ez naiz nahastu.
Balioa nodo hori baino handiagoa bada, ez du esan nahi joan nahi duzula
hurrengo nodo?
>> JASON Hirschhorn: Beraz, gure balioa bada nodo honen balioa baino handiagoa.
>> AUDIENCE: Bai, gero zuk nahi duzuna nahi joan gehiago line behera, ezta?
>> JASON Hirschhorn: Eskuin.
Beraz, ez dugu sartu ezazu hemen.
Balioa nodo hau baino txikiagoa bada, orduan joan hurrengo nodo nahi dugu - edo orduan guk
txertatu aurretik.
>> AUDIENCE: Itxaron, hau da hau nodo eta dagokion balioa da?
>> JASON Hirschhorn: Ona galdera.
Balioa funtzioaren definizio hau per da, zer ari zaren jakin dugu.
Balioa beraz gaude emandako kopurua da.
Beraz, balioa da hau baino gutxiago bada Nodo, txertatzeko denbora behar dugu.
Balioa nodo hori baino handiagoa bada, joan hurrengo nodo nahi dugu.
Eta jatorrizko galdera atzera, nahiz eta, non -
>> AUDIENCE: balioa handiagoa bada Nodo hau baino.
>> JASON Hirschhorn: Eta, beraz, zer egin, hemen egiten dugu?
Gozoa.
Zuzena dela.
Besterik ez dut idazten joan eguneratzea erakusleak.
Baina bai, uneko bat-ekin eguneratu nahi duzu
hurrengo bat seinalatu.
Beste ezer falta ari gara?
Beraz, ez dut hori idazten joan gedit sartu kodea.
Eta hau egin bitartean I, bat izan dezakezu minutu pare gehiago coding gainean lan
hau C.
>> Beraz, sarrera daukat pseudocode.
Ohar azkar bat Hasteko dugu aurretik.
Agian ez gara izango guztiz gai amaitzeko hau guztietan
Funtzio horiek hiru.
Haiei konponbide zuzena hor dago duten mezu elektroniko bat egingo dut you guys
atalaren ondoren, eta, izango da CS50.net on da argitaratu.
Beraz, ez dut animatzen duzu zoaz atal begiratu.
Dituzun horiek saiatzeko buruzko animatzen dut zure jabea, eta, ondoren, praktikan erabili
arazoak zure erantzunak egiaztatzeko.
Diseinatu guztiak dira horiei estuki erlazionatzeko eta atxikitzen zer
arazo multzo egin behar duzun.
Beraz, hau praktikatzera animatzen dut zuri zeure eta, ondoren, kodea erabili
euren erantzunak frogatzea.
Nahi ez dut delako mugitu ahal hash atalean uneren mahaiak.
Beraz, ez da agian guztiarekin negoziatzeko.
Baina ahal dugu askoz egin dugu orain.
>> Ados.
Has gaitezen.
Asam, nola ez, nodo berri bat sortzen dugu?
>> AUDIENCE: egiturari duzu *.
>> JASON Hirschhorn: Beraz dugu duten hemen sortu.
Oh, barkatu.
Egiturari esaten ari zinen *.
>> AUDIENCE: Eta gero, [? mota?] Nodo edo c nodoa.
>> JASON Hirschhorn: Ados.
Deitu du new_node noa beraz, koherentea geratzeko aukera izango dugu.
>> AUDIENCE: Eta hori ezarri nahi diozun , buru lehen nodoa.
>> JASON Hirschhorn: Ados.
Beraz, gaur egun seinalatuz hau - beraz, hau ez du nodo berri sortu oraindik.
Hau da, besterik gabe seinalatuz Zerrendako lehen nodoa.
Nola ez, nodo berri bat?
Espazioa behar dut nodo berri bat sortu nahi bada.
Malloc.
Eta zein handia?
>> AUDIENCE: struct handiagoak.
>> JASON Hirschhorn: The struct tamaina.
Eta zer deitzen struct?
>> AUDIENCE: Node?
>> JASON Hirschhorn: Node.
Beraz malloc (sizeof (nodo)); espazioan ematen digu.
Eta lerro hau da -
Gauza bat da zuzena linea honetan.
New_node da eta egitura bat erakuslea?
Duen izen generiko bat da.
Zer da -
Nodo, zehazki.
Nodo bat da *.
Eta zer eskuineko ondoren egiten dugu zerbait, Asan malloc dugu?
Zer da lehen gauza egiten dugu?
Zer bada ez du funtzionatzen?
>> AUDIENCE: Oh, begiratu bada nodo seinalatzen?
>> JASON Hirschhorn: Zehazki.
Beraz new_node badituzu berdin berdin nulua, zer egiten dugu?
Hau bool batean, funtzio hori itzultzen.
Zehazki.
Itxura ona.
Ezer ez dago gehitzeko?
Gauzak gehitu dugu amaieran.
Baina hori orain arte itxura ona.
Sortu egungo eta aurreko erakusleak.
Michael, nola egin behar dut hau?
>> AUDIENCE: beharko zenioke nodo bat egin *.
Bat egiteko ez izan zinela new_node baina eman du
nodo dagoeneko badugu.
>> JASON Hirschhorn: Ados.
Beraz, uneko nodoaren on Oraindik dugu.
Curr duten deitu dut.
Ondo da.
Erabaki dugu gorde nahi dugu jakin behar dugu bi delako
aurretik zer.
Zer ez dute ezagutu hasieratu?
>> AUDIENCE: Haien gure zerrendan balioa.
>> JASON Hirschhorn: Beraz, zer da Gure zerrendan lehenengo gauza?
Edo nola ez badakigu non da gure zerrendaren hasiera-hasieratik?
>> AUDIENCE: Ez da igaro funtzioa sartu?
>> JASON Hirschhorn: Eskuin.
Hura hementxe gainditu zen.
Ari funtzioa pasa hala bada ere, zerrendaren hasteko, zer behar dugu
ezarri egungo berdina?
>> AUDIENCE: zerrenda.
>> JASON Hirschhorn: zerrenda.
Hori da zehazki eskubidea.
Orain helbidearen ditu Gure zerrendaren hasieran.
Eta zer aurreko buruz?
>> AUDIENCE: Zerrenda ken bat?
>> JASON Hirschhorn: da bertaratu aurretik ezer ez.
Beraz, zer deus adierazteko egin dezakegu?
>> AUDIENCE: Null.
>> JASON Hirschhorn: Bai.
Ideia on bat bezala soinuak.
Perfektua.
Eskerrik asko.
Zerrendan zehar joan.
Constantino, zenbat denboraz goaz zerrendan zehar joan?
>> AUDIENCE: null iritsi arte.
>> JASON Hirschhorn: Ados.
Beraz, berriz, loop, bada.
Zer ari gara egiten?
>> AUDIENCE: Agian loop bat?
>> JASON Hirschhorn: Egin loop dezagun.
Ados.
>> AUDIENCE: Eta esaten dugu -
egungo erakuslea arte ez da nulua berdina.
>> JASON Hirschhorn: Beraz badakizu dugu Baldintza, nola begizta bat idatzi dugu
baldintza duten off oinarritutako.
Nolako begizta bat erabili behar dugu?
>> AUDIENCE: bitartean.
>> JASON Hirschhorn: Bai.
Zentzu gehiago oinarritutako hace zer esan duzu off.
Besterik ez dugu sartu nahi badugu litzateke Besterik ez dakit gauza hori, egin luke
Zentzu berriz, begizta bat egin.
Korrontea nulua ez berdina du, berriz, balioa nodo hau baino txikiagoa bada.
Akshar, emaidazu lerro hau.
>> AUDIENCE: bada oraingoa-> n n balioa baino gutxiago.
Edo alderantzizko duten.
Aldatzeko tarte horietako.
>> JASON Hirschhorn: Barkatu.
>> AUDIENCE: Aldatu parentesi.
>> JASON Hirschhorn: Beraz, bada balioa baino handiagoa.
Hori da duten nahasgarria delako comment gainetik, nik hori egin dut.
Baina bai.
Gure balioa da hau baino txikiagoa bada Nodo, zer egiten dugu?
Oh.
Dut hemen.
Txertatu aurretik.
Ados.
Nola egin behar dugu?
>> AUDIENCE: Da oraindik me?
>> JASON Hirschhorn: Bai.
>> AUDIENCE: You -
new_node-> hurrengo.
>> JASON Hirschhorn: Beraz, zer da hori berdina da?
>> AUDIENCE: Honez oraingoa berdinak izango.
>> JASON Hirschhorn: Zehazki.
Eta beraz, beste -
Zer gehiago eguneratu behar dugu?
>> AUDIENCE: Check iragana berdin nulua bada.
>> JASON Hirschhorn: aurrekoak izanez gero -
beraz azkena balitz null berdin.
>> AUDIENCE: Horrek esan nahi du joan buru bihurtu.
>> JASON Hirschhorn: bide Hori Honez buru bihurtu da.
Orduan, zer egiten dugu?
>> AUDIENCE: burua egiten dugu new_node berdin.
>> JASON Hirschhorn: Head new_node berdin.
Eta zergatik burua hemen, ez zerrendatu?
>> AUDIENCE: burua da global bat delako aldakorra, eta horrek hasierako leku da.
>> JASON Hirschhorn: Sweet.
Ados.
Eta -
>> AUDIENCE: Ondoren, bestela ez duzu kolpeen-> hurrengo new_node berdin.
Eta gero, egia itzuliko duzu.
>> JASON Hirschhorn: Nora egin new_node bukaeran ezarri dugu?
>> AUDIENCE: nuke -
Ezarri dut hasieran.
>> JASON Hirschhorn: Beraz, zer linea?
>> AUDIENCE: After the bada adierazpena bezala ezaguna bada egiaztatzen.
>> JASON Hirschhorn: Eskuin hemen?
>> AUDIENCE: litzaidake egiten dut new_node-> n balioa berdin.
>> JASON Hirschhorn: Soinu ona.
Ziurrenik zentzuzkoa da - ez dugu zer zerrendan gaude on jakin behar
bakarrik ari gara aurre delako zerrenda batekin.
Beraz baten funtzioa adierazpen hobeto hau besterik ez da behar hau kentzeko
osorik eta besterik txerta burua sartu balio bat.
Ere ez dugu jakin behar zer zerrendan sartu Oraindik dugu
Baina mantendu egingo dut oraingoz eta Orduz aldatu eguneratzeari gainean
diapositibak eta kodea.
Beraz, gaur egun itxura ona.
Bada balioa - nor lerro hau egin dezakegu?
Bada -
zer egin, hemen egiten dugu, Noah.
>> AUDIENCE: balioa handiagoa bada baino Curr-> n -
>> JASON Hirschhorn: nola egin joan hurrengo nodo nahi dugu?
>> AUDIENCE: Curr-> n da new_node berdina.
>> JASON Hirschhorn: Beraz, n da zer zati egiturari du?
Osokoa.
Eta new_node nodo bat erakuslea da.
Beraz, zer zati Curr of eguneratu behar dugu?
Ez n bada, orduan, zer da, beste zatia?
Noah, zer beste zati.
>> AUDIENCE: Oh, hurrengoa.
>> JASON Hirschhorn: Hurrengoa, zehatz-mehatz.
Zehazki.
Hurrengo eskubidea da.
Eta zer gehiago behar dugu eguneratu, Noah?
>> AUDIENCE: erakusleak dira.
>> JASON Hirschhorn: Beraz, egungo eguneratu dugu.
>> AUDIENCE: Aurrekoa-> hurrengo.
>> JASON Hirschhorn: Bai.
Ados, eten egingo dugu.
Nork lagunduko digu hemendik dezaket?
Manu, zer egin behar dugu?
>> AUDIENCE: Lortu duzu ezarri hura Curr-> hurrengo berdina.
Baina hori egin aurreko lerroa aurretik.
>> JASON Hirschhorn: Ados.
Beste ezer?
Akshar.
>> AUDIENCE: ez dut uste Oraindik ekarri Curr-> aldatu ondoan.
Ari esan nahi zenuena Curr berdin egin behar dela uste dut Curr-> hurrengo hurrengo nodo joan.
>> JASON Hirschhorn: Beraz, barkatu, non?
Zer lerroan?
Lerro hau?
>> IKUSLEEN: Bai.
Egin Curr berdinen Curr-> hurrengo.
>> JASON Hirschhorn: Beraz, hori da zuzena egungo delako bat
nodo bat erakuslea.
Eta hurrengo seinalatu nahi dugu zer ari den unean lortzeko nodo
adierazi.
Curr bera hurrengo dauka.
Baina bagenitu curr.next eguneratzeko, dugu eguneratzeko litzateke benetako oharraren
berez, ez da kode hau erakuslea apuntatzen zen.
Zer line honi buruz, baina.
Avi?
>> AUDIENCE: Aurrekoa-> hurrengo Curr berdin.
>> JASON Hirschhorn: Beraz, berriro ere, azkena bada bat nodo bat erakuslea, aur-> hurrengoa da
benetako nodo en erakuslea.
Beraz, hau eguneratzeko litzateke bat Curr den nodo bat erakuslea.
Ez dugu nahi eguneratzeko Nodo batean erakuslea.
Aurreko eguneratu nahi dugu.
Beraz, zer egin dugu?
>> AUDIENCE: besterik ez litzateke izango kolpeen.
>> JASON Hirschhorn: Eskuin.
Aurrekoa nodo bat erakuslea da.
Orain, ordea, aldatzen ari gara batera nodo bat erakuslea berria.
Ados dezagun behera mugitu digu.
Azkenik, azken baldintza hori.
Jeff, zer egin, hemen egiten dugu?
>> AUDIENCE: balioa bada ra Curr-> n berdina.
>> JASON Hirschhorn: Barkatu.
Oh my bondad.
Zer?
Balioa == Curr-> n.
Zer egiten dugu?
>> AUDIENCE: gure new_node askatzea duzu litzaidake, eta, ondoren, faltsua itzuliko zinela.
>> JASON Hirschhorn: Hau da, zer beraz, orain arte idatzi dugu.
Ez du inor ezer egin dugu aurretik gehitzeko?
Ados.
Dezagun saiatuko da.
Kontrol amaiera iritsi daiteke hutsa ez den funtzio bat.
Avi, zer gertatzen da?
>> AUDIENCE: Are bueltan jarri ustezko duzu bitartean Begizta kanpo egia?
>> JASON Hirschhorn: Ez dakit.
Ez niri nahi duzu?
>> AUDIENCE: Never mind.
N º
>> JASON Hirschhorn: Akshar?
>> AUDIENCE: uste dut esan nahi duzu bueltan faltsua jarri amaieran
berriz, begizta du.
>> JASON Hirschhorn: Beraz, non do joan nahi duzu?
>> AUDIENCE: berriz, begizta kanpo bezala.
Beraz, berriz, begizta irteteko duten bide bada ditudan bukaerara iritsi zara eta
ezer ez gertatu.
>> JASON Hirschhorn: Ados.
Beraz, zer egiten dugu hemen?
>> AUDIENCE: faltsua itzuliko zara han baita.
>> JASON Hirschhorn: Oh, dugu egin ezazu bi lekuetan?
>> IKUSLEEN: Bai.
>> JASON Hirschhorn: Ados.
Joan behar dugu?
Oh my bondad.
Sentitzen dut.
Pantailan Barkatu.
Honez motatako freaking gaituzu.
Beraz, aukeratu aukera bat.
Zero, kodea per, programatik irten.
Zerbait txertatzen bat.
Dezagun txertatzeko hiru.
Txertatze ez zen arrakastatsua.
Inprimatu noa.
Ez dut ezer izan.
Ados.
Agian hori kasualitate bat besterik ez zen.
Sartu disko bat.
Ez arrakastatsua.
Ados.
Dezagun exekutatu GDB bidez benetan azkar ikusteko zer ari den gertatzen.
>> Gogoratzen gdb. / Izen zure programa lortzen gurekin GDB sartu.
Hori kudeatzeko asko da?
Keinuka?
Seguruenik.
Itxi begiak eta sakon batzuk hartu arnasa nekatuta lortu baduzu
du hari so.
Naiz GDB dut.
Zer da lehen gauza egin dut GDB?
Lortu dugu irudikatu zer gertatzen da hemen.
Ikus dezagun.
Sei minutu figura behar dugu zer gertatzen ari zen.
Apurtu nagusia.
Eta gero, zer egin dezaket?
Carlos?
Exekutatu.
Ados.
Dezagun aukeratu aukera bat.
Eta zer N egiten?
Hurrengoa.
Bai.
>> AUDIENCE: Ez al duzu aipatu -
ez zuen esan duzu burua zela, izan zen Internet hasieratu hasieran.
Baina hori izan zen OK esan duzun pentsatu nuen.
>> JASON Hirschhorn: Goazen - dezagun GDB, eta, ondoren, atzera egin dugu.
Baina jadanik piztuta bezala soinuak zer gertatzen ari buruzko ideia batzuk.
Beraz, zerbait txertatu nahi dugu.
Ados.
Txertatu dugu.
Mesedez sartu int.
Sartu dugu hiru.
Eta orduan naiz lerro hau dut.
Nola ez banoa arazketa hasteko txertatze ezaguna funtzioa?
Oh my bondad.
Hori asko da.
Da asko freaking hori?
>> AUDIENCE: Oh, hura hil zen.
>> JASON Hirschhorn: besterik ez dut Bota ezazu.
Ados.
>> AUDIENCE: Agian da beste harian amaieran.
>> JASON Hirschhorn: Wow.
Beraz, beheko lerroa -
zer esan duzu?
>> AUDIENCE: esan dut tekniko ironia klase honetan zailtasunak.
>> JASON Hirschhorn: Badakit.
Bakarra bada zati horren gaineko kontrola izan nuen.
[INAUDIBLE]
Duten soinuak handia.
Zergatik ez duzu guys hasteko pentsatzen zer egin genezake, oker,
eta 90 segundotan itzuliko gara.
>> Avica, naiz zuri galdetzeko nola joan nintzen da arazteko barruan insert_node.
Beraz, hau da, non azken utzi dugu.
Nola ez insert_node barruan joan nintzen, Avica, zer gertatzen den aztertzeko?
Zer GDB komando?
Break ez litzateke hartu me barruan.
Marquise du ezagutzen?
>> AUDIENCE: Zer?
>> JASON Hirschhorn: Zer GDB komando Funtzio honen barruan sartuz erabili dut?
>> AUDIENCE: Urratsera?
>> JASON Hirschhorn: Urratsera bidez S. Horrek barruan hartzen me.
Ados.
New_node espazio batzuk mallocing.
Guztiak bere egingo itxura.
Dezagun aztertu new_node.
Memoria-helbide batzuk lortu.
Dezagun begiratu -
hori da, guztiak zuzenak.
Beraz, dena hemen badirudi behar bezala funtzionatzen.
>> AUDIENCE: Zein da diferentzia P eta pantailaren artean?
>> JASON Hirschhorn: P inprimatu dago.
Eta beraz, zer da eskatzen ari zaren duten eta honen arteko desberdintasuna?
Kasu honetan, ez da ezer.
Baina, oro har, ez dira ezberdintasun batzuk.
Eta GDB eskuliburua begiratu behar duzu.
Baina kasu honetan, ez da ezer.
Inprimatu erabili ohi dugu, nahiz eta, delako ez dugu behar baino askoz gehiago egin
balio bakar bat inprimatzeko.
>> Ados.
Beraz on line 80 gure kode gara, nodo * zerrenda berdina Curr ezarriz.
Utzi Curr inprimatu digu.
Zerrenda berdin da.
Gozoa.
Itxaron.
Zerbait hobetu da.
Horrek ez dirudi eskubidea.
Hor dugu.
Delako GDB, eskuinera, bada lerroan Oraindik bertan da
oraindik ez exekutatu.
Beraz, benetan idatzi behar duzu hurrengo lerroan exekutatu
bere emaitzak ikusi aurretik.
Beraz, hemen gaude.
Exekutatu besterik ez dugu lerro hau, aurreko berdinen nulua.
Beraz, berriro ere, aurreko inprimatu badugu ez dugu ezer arraro ikusten.
Baina benetan exekutatu dugu bada lerroan, eta gero ikusiko dugu
lerro hori, eta lan egin du.
>> Beraz Curr dugu.
Horiek dira bai onak.
Ezta?
Oraindik orain, lerro hau dugu hemen.
Curr ez berdinak NULL bitartean.
Beno, zer ez Curr berdinak?
Besterik ez dugu ikusi null berdindu arren.
Bertan inprimatuta dugu daudelarik.
Inprimatu dut berriro.
Beraz, da, berriz, begizta exekutatu behar?
>> AUDIENCE: N º
>> JASON Hirschhorn: Beraz, noiz idatzi dut lerroa, modu guztiak salto egin dugu ikusten duzuna
behean egin eta gero, itzultzeko faltsua.
Eta gero ari gara faltsua itzuli egingo da eta eta itzuli gure programara
azkenean, inprimatu, ikusi dugun bezala, txertatze ez zen arrakastatsua.
Beraz, inor zer ideiak edozein hau konpontzeko egin behar dugu?
Itxaron dut ikusi arte noa eskuak pare bat igo.
Ez genuen exekutatu hau.
Gogoan izan, hau zen lehen gauza egiten ari ginen.
Ez dut pare bat egin.
Batzuk bat egin nahi dut.
Pare bat bi esan nahi duelako.
Dut itxaron bi urte baino gehiagorako.
>> Lehenengo txertatzeko, Curr, arabera lehenetsi null berdin.
Eta begizta hau bakarrik exekutatzen Curr ez da nulua bada.
Beraz, nola egin dezaket honen inguruan lortu dut?
Hiru eskuak ikusten dut.
Dut itxaron hiru baino gehiago.
Marcus, zer uste duzu?
>> AUDIENCE: Beno, behar izanez gero behin baino gehiago exekutatu, besterik ez duzu
aldatu egin bitartean-begizta bat.
>> JASON Hirschhorn: Ados.
Dela konponduko gure arazoa, nahiz eta?
>> AUDIENCE: Kasu honetan ez delako Izan ere, zerrenda hutsik dagoela.
Beraz, orduan seguraski besterik gehitu behar adierazpen hori bada begizta irteerak
ondoren, amaieran izango duzu zerrendan, eta amaitzen duzu
besterik txerta daiteke.
>> JASON Hirschhorn: hori gustatzen zait.
Zentzua.
Begizta irteten bada -
faltsuak hemen itzuli egingo delako.
Beraz, begizta esistitzen bada, orduan egiten ari garen Zerrendaren amaieran, edo, agian,
zerrenda bat hasteko ez dago ezer in da, eta horrek amaieran bera da.
Beraz, gaur egun txertatzea nahi dugu zerbait hemen.
Beraz, nola kodea duten begiratzen du, Marcus?
>> AUDIENCE: dagoeneko lortu nodoaren bada malloced, ezin besterik esan duzu
new_node-> hurrengo berdinen nulua delako amaieran izango du.
Edo new_node-> hurrengo null berdin.
>> JASON Hirschhorn: Ados.
Barkatu.
New_node-> hurrengo berdinen null Oraindik dugu amaieran delako.
Horrek ez du jarri oraindik sartu
Nola jarri dugu zerrendan?
Eskuinera.
Hori besterik ez da ezarpena berdina.
Ez nola egiten dugun benetan jarri zerrendan?
Zer seinalatuz zerrendaren bukaeran?
>> AUDIENCE: Head.
>> JASON Hirschhorn: Barkatu?
>> AUDIENCE: Head seinalatuz zerrendaren amaieran.
>> JASON Hirschhorn: Ez bada ezer in zerrendan, buru da seinalatuz
zerrendaren bukaeran.
Beraz, hori izango da lan Lehenengo txertatzeko.
Han pare bat zer bada buruz zerrendan gauzak?
Ez dugu baino, ezarri nahi buru new_node berdina.
Zer ez egin nahi dugu?
Bai?
Badirudi aurreko.
Lan hori egingo?
Gogoratu aurreko besterik ez da nodo bat erakuslea.
Eta aurreko tokiko aldagai bat da.
Beraz, lerro hau tokiko aldagai bat ezarriko da, aurreko, berdina edo
nodo berri hau seinalatuz.
Ez dela benetan jarri gure zerrendan, nahiz eta.
Nola jarri genituen gure zerrendan?
Akchar?
>> AUDIENCE: uste dut Egin uneko-> hurrengo.
>> JASON Hirschhorn: Ados.
Curr-> hurrengo.
Beraz, berriro ere, arrazoi bakarra jaitsiko gara hemen da, zer egiten duen egungo berdinak?
>> AUDIENCE: null berdin.
>> JASON Hirschhorn: Eta beraz, zer Gertatzen egiten dugu nulua-> bada hurrengoa?
Zer lortu dugu?
Segmentaziuo hutsegitea lortu dugu.
>> AUDIENCE: Do Curr berdinen nulua.
>> JASON Hirschhorn: Hori gauza bera da azkena bezala, ordea, ez da delako
tokiko aldagai bat ezartzeko ari gara nodo berri honen berdina.
Goazen berriro gure argazkia egiteko zerbait tartekatuz.
Esaten dugu amaieran txertatzen ari zerrendaren, beraz hemen.
Egungo erakuslea hori dugu Aurreko puntuaren a null seinalatuz eta
hori 8 seinalatuz.
Beraz, zer da eguneratu behar dugu, Avi?
>> AUDIENCE: Aurreko-> hurrengo?
>> JASON Hirschhorn: Aurreko-> hurrengo zer da eguneratu nahi dugulako dela
benetan egingo txertatu at zerrendaren amaieran.
Oraindik ere, akatsen bat izan dugu, nahiz eta, ari gara sartu exekutatu egingo.
Zein da akatsa?
Bai?
>> AUDIENCE: It, itzuli egingo kasu honetan faltsuak?
>> JASON Hirschhorn: Oh, da faltsua itzuli egingo da.
Baina badira beste intsektu bat da.
Beraz itzuli egia jarri behar dugu.
>> IKUSLEEN: aurreko oraindik ere berdinak zerrendaren goialdean nulua?
>> JASON Hirschhorn: Beraz, aurreko oraindik berdinen null oso hasiera-hasieratik.
Beraz, nola egin dezaket hori baino gehiago lortuko dugu?
Bai?
>> AUDIENCE: uste dut txeke bat egin dezakezu lehenago, berriz, loop da bada ikusteko
zerrenda huts bat.
>> JASON Hirschhorn: Ados.
Beraz, goazen hemendik.
Egin txeke bat.
Bada -
>> AUDIENCE: Beraz, gero burua berdin berdin nulua.
>> JASON Hirschhorn: bada burua berdin berdin nulua -
duten esango digu zerrenda huts bat bada.
>> AUDIENCE: Eta gero zuk Egin burua berdinen berria.
>> JASON Hirschhorn: Head berdinen new_node?
Eta zer gehiago egin behar dugu?
>> AUDIENCE: Eta gero, egia itzuliko duzu.
>> JASON Hirschhorn: Ez nahiko.
Urrats bat falta ari gara.
>> AUDIENCE: new_node hurrengo null seinalatu ditu.
>> JASON Hirschhorn: Zehazki, Alden.
Eta gero, egia itzuli ahal izango dugu.
Ados.
Baina oraindik ideia ona da gauzak egiteko zerrendako amaieran, ezta?
Ondo da.
Oraindik ere, baliteke benetan lortuko dugu zerrendaren amaieran.
Beraz kodea fin hau da gara at bada zerrendaren amaitzeko eta batzuk daude
zerrendan gauzak?
Ezta?
Jarraitzen dugu Marcus en ideia delako.
Agian begizta hau irteteko dugulako Oraindik zerrendaren amaieran dugu.
Beraz, oraindik ere nahi dugu hau hemen kode-behera?
>> AUDIENCE: Bai.
>> JASON Hirschhorn: Bai.
Eta zer egin hau aldatzeko behar dugu?
Egia.
Ez dela soinu ona guztiontzat hain urruti?
Inor izan baldin -
Avi, ez zerbait gehitu nahi duzu?
>> AUDIENCE: N º
>> JASON Hirschhorn: Ados.
Beraz, aldaketa pare bat egin dugu.
Egiaztapen hau egin dugu aurretik dugu joan zerrenda huts bat da.
Beraz, hartu dugu arreta zerrenda huts bat du.
Eta hemen arreta hartu genuen txertatzeak duen zerrendako amaieran zerbait.
Beraz, badirudi, berriz, begizta hartzea hau atsegin du gauzak zaintzen artean,
zerrendan nonbait han bada zerrendan gauzak dira.
>> Ados.
Let programa hau berriro exekutatu digu.
Ez arrakastatsua.
>> AUDIENCE: ez da zuk egina.
>> JASON Hirschhorn: Oh, Ez nuen egin da.
Puntu ona, Michael.
Dezagun gehitu loturiko marka bat.
87 lerro batean akatsen bat.
87 lerro.
Alden, hau lerroan ni eman zen.
Zer gertatzen da?
>> AUDIENCE: null izan behar du.
>> JASON Hirschhorn: Bikain.
Zehazki eskubidea.
Nulua izan behar da.
Egin dezagun berriz.
Konpilatu.
Ados.
Dezagun txertatzeko hiru.
Txertatze arrakastatsua izan zen.
Dezagun inprimatu.
Oh, bakarrik begiratu ahal izango bagenu.
Baina ez dugu egin du inprimatu funtzioa oraindik.
Dezagun sartu beste zerbait.
Zer sartu behar dugu?
>> AUDIENCE: Zazpi.
>> JASON Hirschhorn: Zazpi?
>> AUDIENCE: Bai.
>> JASON Hirschhorn: seg matxura bat daukagu.
Beraz, inork lortu dugu, baina argi eta garbi dugu ezin bi lortzeko.
5:07 da.
Beraz, hau arazteko genezake hiru minutuz.
Baina naiz digu utzi hemen noa eta aurrera egiteko mahaiak egiaztatu.
Baina, berriro ere, kode honen erantzunak Posta elektronikoaren bidez bidaliko dizut pixka batean.
Oso hurbil gaude.
Oso irudikatu animatzen zaitut zer gertatzen da hemen eta konpondu.
Beraz email dizut kode hau bezalako baita plus konponbidea -
Ziurrenik konponbidea geroago.
Lehen kode hau.
>> Beste gauza dugu aurretik egin nahi dut akabera da, ez dugu ezer libratuko.
Beraz, zuk erakutsi nahi dut zer valgrind itxura.
Valgrind mugak exekutatzen badugu gure programa,. / lotua.
Berriz ere, diapositiba honen arabera, dugu valgrind exekutatu behar mota batzuekin
aukera, kasu honetan - Leak-check = betea.
Hargatik idatzi valgrind - Leak-check = betea.
Beraz, hau valgrind exekutatu egingo gure programa da.
Eta, orain, programa benetan doa.
Beraz, exekutatu behar bezala joan aurretik, zerbait sartu jarri
Hiru jarri noa.
Duten lanak.
Ez dut zerbait jarri saiatzeko joan goaz, bestela, delako
seg kasu horretan faltsu bat lortzeko.
Naiz, beraz, irten egingo da.
>> Eta orain behera ikusiko duzu hemen Leak eta zeure laburpena.
Hauek dira gauza onak direla Joan nahi duzun.
Beraz zeure laburpena - dio, erabileran irtetean - zortzi byte bloke batean.
Alde blokea dela nodo dugu malloced.
Michael, esan duzu nodo bat zortzi da aurretik osokoa ditu ziztadak delako
eta erakuslea.
Beraz, gure nodoa da.
Eta gero malloc erabiltzen dugun dio zazpi aldiz eta libratuko dugu
zerbait sei aldiz.
Baina inoiz free deitzen dugu, beraz, I have no Ideia zeri buruz hitz egiten da hau.
>> Baina nahikoa esan nahi du horrek, zure programaren bidez, malloc deitzen ari da
beste leku batzuetan dugun behar ez kezkatu.
Beraz malloc ziurrenik deitzen zen leku batzuetan.
Ez dugu behar kezkatu nora.
Baina hau da benetan guretzat.
Lehen lerro hau da gurekin.
Bloke horretan utzi dugu.
Eta hori hemen ikusi ahal izango duzu leak laburpen batean.
Oraindik ere eskuratu -
Zortzi byte bloke batean.
Memoria horrek esan nahi du -
memoria duten leaked ditugu.
Behin betiko galdu -
zerbait da ona galdu.
Oro har, ez duzu Ikusten ezer han.
Oraindik ere eskuratu da, oro har, non gauzak ikusiko duzu, non nahi duzu
ikusteko zer kodea behar duzu begiratu libratuko dute baina askatzea ahazten duzu.
>> Eta ondoren, hau ez zen horrelakorik egin bada, libre guztia egin dugu bada,
duten egiaztatu ahal izango dugu.
Let programa exekutatu besterik en Ez du ezer jartzen.
Hemen ikusiko duzu behera erabileran irtetean -
zero byte zero blokeetan.
Horrek esan nahi du ezer utzi behar izan genuen Programa hau irten da.
Pset6 inflexio aurretik beraz, exekutatu valgrind eta ziurtatu ez duzu
edozein memoria zure programan filtrazioak.
Valgrind dituzten edozein zalantza baduzu, free iristeko sentitzen.
Baina hori da, nola erabiltzen duzun.
Oso erraza - ikusten baduzu erabileran izan irtetean -
edozein bloketan byte edozein.
>> Beraz txertatze nodo on ginen lanean.
Beste bi funtzio izan dut hemen - nodo eta nodo free inprimatu.
Berriz ere, hauek dira funtzio ona izango landu zuretzat joan
dutelako lagunduko dizu, ez bakarrik ekin ariketak lagin horiek baina, halaber,
arazoa multzoa.
Mapan dute nahiko hurbiletik gauzak hemen egin behar joan zaren
Arazo multzo.
Baina nahi ez dut ziur guztia ukitu dugu.
Eta hash taulak erabakigarria ere daude zer atal honetan ari gara egiten
astea - edo arazo multzoan.
>> Beraz, atal lekua hartzera joan hash taulak buruz hitz egiten.
Antzematen baduzu I made a Hash taula txiki.
Hori ez da, zer ari gara hitz buruz, ordea.
Ezberdin bat hitz egiten ari gara hash taulak mota.
Eta bere core, hash taula batean bat baino gehiago ez da
array plus hash funtzio bat.
Apur bat hitz egin besterik ez goaz ziurtatu denek zer ulertzen
hash funtzioa da.
Eta zuk kontatzen dut orain dela ezer ez, bi gauza baino gehiago -
array eta hash funtzio bat.
Eta hona hemen urratsak egiten horietatik honek funtzionatzen.
>> Badira gure array da.
Badira gure funtzioa da.
Bereziki, hash funtzioak behar gauza pare bat egin honekin.
Zehazki hitz egin nahi dut buruzko arazo hau ezarri.
Ziurrenik joan kate batean hartu.
Eta zer, itzuli egingo da?
Zer datu-mota?
Alden?
Hash funtzioa itzultzeko?
Zenbaki oso bat.
Beraz, hau da, zer hash balioa mahaia osatzen dute -
array formularioa mahai baten eta hash funtzio bat.
Nola funtzionatzen duen?
Lan egiten du, hiru urratsetan egiten.
Gako bat ematen diogu.
Kasu honetan, emango dugu kate bat.
Hash funtzioa deitzen dugun urrats bakoitzeko gakoa eta balore bat lortuko dugu.
>> Hain zuzen ere, esan dugu zenbaki oso bat lortuko dugu.
Osokoa dela, ez dira oso zehatzak zer osokoa dela izan daiteke mugak.
Adibide honetan, gure array tamaina hiruko da.
Beraz, zer zenbakiak daiteke osokoa dela izan.
Zer da baliozko balioen barrutia da osokoa dela, itzulera hau motaren
hash funtzioa?
Zero, bat eta bi.
Hash funtzioa puntua da irudikatu array lekua
non gure funtsezko doa.
Badira hiru bakarrik posible lekuak hemen -
zero, bat, edo bi.
Beraz, funtzio hau hobeto bueltan zero, bat, edo bi.
Array honetan zenbait baliozko indice.
>> Eta, ondoren, bertan itzultzen arabera, irekita ikusi dezakezu han array
balioa parentesi.
Hori da, non gakoa jarri genituen.
Beraz, bota kalabaza dugu, atera dugu zero.
Array bracket 0 etan, kalabaza jarri genituen.
Bota katuak dugu, atera dugu bat.
Katu jarri dugu batean.
Jarri armiarma dugu.
Atera dugu bi.
Armiarma jarri dugu array bracket bi at.
Hain polita izango litzateke bada horrelako lan egin da.
Baina, zoritxarrez, baita dugu ikusten, pixka bat zailagoa da.
>> Iritsi aurretik, galderaren bat buruzko oinarrizko honetan
hash taula bat ezarri-?
Hau zehazki irudi bat da zer marraztu zuen taula gainean dugu.
Baina genuen taula gainean geroztik, I Nago ez da sartu aurrerago joango gara.
Funtsean, giltzak, kutxa beltzak magia - edo kasu honetan, zertzeta kutxa - baten
hash funtzioa jartzen kuboak.
Eta adibide honetan gaude Ez izena jarriz.
Lotutako telefonoz ari gara! ontzi, izenaren kopurua.
Baina oso ondo ezin izan duzu besterik izena jarri ontzi batean.
>> Hau zer argazki bat besterik ez da Drew taula gainean dugu.
Pitfalls potentziala dugu, baina.
Eta egun, bi dira bereziki diapositibak baino gehiago joan nahi dut.
Lehenengoa buruz da hash funtzio bat.
Beraz, galdera galdetu nion, zer hash funtzioa ona egiten?
Bi erantzun ematen dut.
Lehenengoa da determinista dela.
Hash funtzioen testuinguruan, zer esan nahi du horrek?
Bai?
>> AUDIENCE: aurki daiteke konstante denboran indizea?
>> JASON Hirschhorn: Hori ez da zer esan nahi duen.
Baina hori asmatzeko ona da.
Inork da etxebizitza bat honek zer esan nahi du?
Hash funtzioa ona da determinista?
Annie?
>> AUDIENCE: Hori gako bat soilik kartografiatu ahal hash taula honetan leku bat.
>> JASON Hirschhorn: Hori zehazki eskubidea.
Aldi bakoitzean kalabaza jarri duzu, beti zero itzultzen du.
Kalabaza eta zure hash jarri baduzu funtzioa zero itzultzen ditu baina bat
zerbait itzultzeko probabilitatea bestela, zero baino handiagoa -
beraz, agian, itzuli ahal izango da, batzuetan edo beste bi aldiz -
hori ez da hash funtzio on bat.
Zehazki Arrazoi duzu.
Hash funtzioa itzuli behar du bera da zenbaki oso zehatza, kasu honetan, aldeko
kate berean zehatza.
>> Agian osokoarekin zehatza berean itzuliko ditu kate berean zehatza egiteko
kapitalizazioa kontuan hartu gabe.
Baina kasu horretan ez da oraindik deterministak delako gauza anitz
dira balio bereko perpaus luzeagoak.
Hori da isuna.
Betiere, ez da gisa bakarra sarrera jakin bat irteera.
>> Ados.
Bigarren gauza dela baliozko indizeak itzultzen.
Gora ekarri dugu lehenago.
Hash funtzio hau -
oh boy -
hash funtzio bat egin beharko lukete baliozko indizeek itzultzeko.
Beraz, esan -
goazen adibide honetan itzuli.
Nire hash funtzioa zenbatzen sortu hitzaren letrak.
Hash funtzioa da.
Eta osokoa dela itzultzen.
Beraz daukat hitza bada, ez da bat itzuli du.
Eta hori bat jarri hementxe doa.
Zer jarri dut Hitz bat bada?
Honez hiru itzuli egingo da.
Non dugu bat?
>> Ez da egokitzen.
Baina nonbait joan behar da.
Hau nire hash taula finean da, eta guztia behar du, nonbait, joan.
Beraz, non joan behar du bat?
Edozein pentsamenduak?
Asmatzen?
Onak asmatzen?
>> AUDIENCE: Zero.
>> JASON Hirschhorn: Zergatik zero?
>> AUDIENCE: Zeren eta hiru modulo hiru zero da?
>> JASON Hirschhorn: Hiru modulo hiru zero da.
Duten etxebizitza handi bat da, eta hori zuzena da.
Beraz, kasu honetan izan behar lukeen Ziurrenik zero at joateko.
Beraz, bermatzeko modu ona duen hash honetan funtzioa baliozko indizeak bakarrik itzultzen da
ezazu modulo mahai tamainaren arabera.
Edozein dela ere itzultzen honi modulo zuk bada hiru, beti ari zaren iritsi
zero, bat, eta bi arteko zerbait.
Eta hau beti zazpi itzultzen bada, eta Beti hiru modulo duzu, zauden
Beti gauza bera lortu nahi du.
>> Beraz, oraindik ere determinista da modulo bada.
Baina hori bermatu egingo duzula zerbait inoiz lortu -
industria baliogabe bat.
Oro har, modulo horretan gertatu beharko Hash funtzioa barruan.
Beraz, ez duzu honekin kezkatu.
Hori besterik ez duzu bermatu ahal hau baliozko indice bat da.
Honi buruzko zalantzaren potentzial pitfall?
>> Ados.
Eta hor dugu.
Hurrengo balizko oztopoak dituzten, eta hau handi bat da.
Zer bada bi gako mapa balio bera egiteko?
Beraz, ez dago bi modu hau kudeatzeko.
Lehena da lineala deitzen , probak eta horrek nago
ez baino gehiago joan behar.
Baina ezagutzea izan behar du nola lan egiten duen eta zer dela.
>> Segundo bat baino gehiago joan naiz joan duten asko dena delako
Jende seguruenik amaituko da erabakitzeko beren arazo multzo batzuetan erabiltzeko.
Jakina, ez duzu behar.
Baina arazo multzo, jende askorentzat joera hash taula bat sortzeko aukeratzeko
kateatzea bereiziak ezartzea batera haien hiztegia.
Beraz, zer esan nahi duen baino gehiago joan hash taula bat sortzeko
aparteko kateatzea.
>> Beraz, jarri kalabaza dut.
Zero itzultzen du.
Eta kalabaza jarri dut hemen.
Gero jarri dut -
Zer da beste Halloween-gaikako gauza?
>> AUDIENCE: Candy.
>> JASON Hirschhorn: Candy!
Hori handi bat da.
Jarri dut gozokiak eta gozokiak halaber, zero ematen dit.
Zer egin dezaket?
Ideia bat?
Guztiak ordenatzeko badakizu delako zer aparteko kateatzea da.
Beraz, edozein ideia zer egin?
Bai.
>> AUDIENCE: katea part benetan hash taula.
>> JASON Hirschhorn: Beraz, joan marrazteko ideia ona hemen baino gehiago.
Ados.
>> AUDIENCE: Have hash du [INAUDIBLE]
duten puntu erakuslea zerrenda baten hasieran.
Eta ondoren izan kalabaza lehen balioa izango lotzen zerrenda eta gozokiak egon
lotutako zerrenda horretan bigarren balioa.
>> JASON Hirschhorn: Ados.
Marcus, hori izan zen nabarmena.
Duten deskonposatzen noa.
Marcus da egin esaten ez gainidatzi kalabaza.
Txarra izango litzateke.
Ez jarri gozokiak nonbait.
Jartzea bai zero goaz.
Baina ari gara landu joan ipintzeko zero by
zerrenda bat sortzeko zero at.
Eta ari gara zerrenda bat sortzen joan duten zero mapatzen guztia.
Eta modurik onena sortu ikasi dugu hazten eta txikitu dezake zerrenda bat
dinamikoki ez da barruan array beste.
Beraz, ez da multi-dimentsioko array bat.
Baina besterik lotutako zerrenda bat sortzeko.
>> Beraz, zer proposatu zuen -
Noa berri bat lortzeko -
da erakusleak array bat sortzeko, erakusleak array bat.
Ados.
Edozein ideia edo iradokizun zer mota Arrasto hori izan beharko luke?
Marcus?
>> AUDIENCE: erakusleak -
>> JASON Hirschhorn: duzulako esan lotutako zerrenda bat, beraz -
>> AUDIENCE: Node erakusleak?
>> JASON Hirschhorn: Node erakusleak.
Bada gure lotuta dauden gauzak zerrendaren nodoak dira gero
nodo erakusle izan beharko luke.
Eta zer, hasieran berdinak dira?
>> AUDIENCE: Null.
>> JASON Hirschhorn: Null.
Beraz, ez da gure gauza, hutsik da.
Kalabaza itzultzen zero.
Zer egiten dugu?
Oinez me horren bidez?
Egia esan, Marcus dagoeneko eman zidan.
Norbaitek oinez me bidez.
Zer egiten dugu guk -
hau oso antzekoa zer besterik egiten ari ginen.
Avi.
>> AUDIENCE: etxebizitza bat hartu nahi dut.
Beraz, gozokiak lortzen duzu.
>> JASON Hirschhorn: Bai.
Beno, kalabaza lortu dugu.
Dezagun gure lehenengoa.
Kalabaza lortu dugu.
>> AUDIENCE: Ados.
Kalabaza itzultzen zero.
Beraz, jarri duzula.
Edo benetan, jarri duzu lotuta zerrendan.
>> JASON Hirschhorn: nola egiten dugun jarri lotuta zerrendan?
>> AUDIENCE: Oh, benetako sintaxia?
>> JASON Hirschhorn: Just oinez -
gehiago esateko.
Zer egiten dugu?
>> AUDIENCE: sartu besterik ez duzu lehen nodo gisa.
>> JASON Hirschhorn: Ados.
Beraz, gure nodo, kalabaza dugu.
Eta orain, nola ez dut sartu?
>> AUDIENCE: You esleitzeko erakuslea da.
>> JASON Hirschhorn: Zein erakuslea?
>> AUDIENCE: zero erakuslea.
>> JASON Hirschhorn: Beraz, non Puntu honek?
>> AUDIENCE: oraintxe nuluak.
>> JASON Hirschhorn: Beno, Honez null seinalatuz.
Baina kalabaza jartzen naiz.
Beraz, bertan seinalatu behar?
>> AUDIENCE: kalabaza.
>> JASON Hirschhorn: kalabaza To.
Zehazki.
Beraz, hau kalabaza seinalatzen.
Eta non erakuslea du kalabaza puntuan?
Egiteko
>> AUDIENCE: Null.
>> JASON Hirschhorn: NULL.
Zehazki.
Beraz, besterik gabe, zerbait txertatuko dugu lotuta zerrendan sartu.
Besterik kode hau idatzi dugu hau egiteko.
Ia ia lortu dugu guztiz pitzatuta.
Orain gozokiak txertatu dugu.
Gure gozokiak ere zero doa.
Beraz, zer egiten dugu gozokiak?
>> AUDIENCE: araberakoa ala It Ez da ordenatzeko saiatzen ari gara.
>> JASON Hirschhorn: Hori zehazki eskubidea.
Araberakoa da ala ez ordenatzeko saiatzen ari gara.
Demagun ez gara ordenatzeko joan.
>> AUDIENCE: Beno ondoren, eztabaidatu dugun bezala aurretik, zer errazena da besterik jarri
eskubidea hasieran beraz erakuslea zero puntu gozokiak etara.
>> JASON Hirschhorn: Ados.
Hold on.
Utzi gozokiak sortzen dit hemen.
Beraz erakuslea hau -
>> AUDIENCE: Bai, egin beharko lukete orain be gozokiak seinalatuz.
Orduan izan da erakuslea gozoki kalabaza puntu.
>> JASON Hirschhorn: duten bezala?
Eta esan beste bat lortu dugu gauza zero mapa?
>> AUDIENCE: Beno, besterik ez duzu gauza bera egiten?
>> JASON Hirschhorn: Egin gauza bera.
Beraz, kasu honetan, ez bada egiten dugu ordenatuko da harekin jarraitu nahi baduzu
sinple samarra soinuak.
Erakuslea hartu dugu indice batean gure hash funtzioa ematen.
Puntu horretan ez dugu gure nodo berria.
Eta gero, edozein dela seinalatuz zen Aurretik izateko -
Kasu null honetan, in Bigarren kasuan kalabaza -
, hori dena delakoa da seinalatuz Aurretik, gehitu du hurrengo sartu dugu
gure nodo berria.
Zerbait txertatzen ari gara hasieran.
Izan ere, hori da, baino askoz errazagoa ordenatuko zerrendan mantentzen saiatzen.
Baina, berriro ere, bilaketa izango da gehiago konplikatu hemen.
Egingo den bukaeran joan behar dugu beti.
>> Ados.
Aparteko kateatzea buruzko zalantzaren bat?
Nola lan egiten duen?
Mesedez eskatu orain.
Benetan ziur duzun guztia nahi dut hau ulertzeko buru dugu aurretik.
>> AUDIENCE: Zergatik kalabaza jarri duzu eta bera sartu gozokiak
Hash taula zati?
>> JASON Hirschhorn: Ona galdera.
Zergatik horiek jarri ditugu berean Hash taula zati?
Beno, kasu honetan gure hash funtzioa itzultzen biak zero.
Beraz, indice zero at joan behar dute hori delako nora goaz
haien bila badugu inoiz nahi haiek bila dezan.
Berriz ere, lineal artesiak planteamendu batekin ez genuke jarri biak zero at.
Baina aparteko kate hurbiltzean, jartzea bai zero goaz
eta, ondoren, zerrenda bat sortzeko zero off.
>> Eta ez dugu kalabaza Gainidatzi nahi besterik gabe, hori delako, ondoren zaitugu
suposatuko kalabaza zela inoiz txertatuko.
Besterik gauza bat mantendu dugu bada hemen kokapen hori txarra izango litzateke.
Orduan ez litzateke ez gurekin inoiz aukera -
inoiz bikoiztuak izan bagenu, orduan dugu besterik ezabatuko litzateke gure hasierako balioa.
Beraz, zergatik planteamendu hau egiten dugu.
Edo horregatik dugu aukeratu zuen -, baina berriro ere, dugu aparteko kateatzea hurbilketa aukeratu zuen,
bertan dagoen beste ikuspegi asko daude aukeratu zitekeen.
Du horrek zure galderari erantzuteko?
>> Ados.
Carlos.
Artesiak lineala inplikatzeko litzateke -
talka bat aurkitu dugu zero bada, dugu litzateke hurrengo spot in begiratu ikusten baduzu
irekia izan zen, eta han jarri.
Eta, ondoren, begiratu hurrengo kirolean dugu eta ikusten zela irekia bada eta jarri han.
Beraz, hurrengo eskuragarri aurkituko dugu Leku ireki eta jarri han.
Beste edozein galdera?
Bai, Avi.
>> AUDIENCE: jarraipena Gisa horretan, zer esan nahi hurrengo spot by duzu?
Hash taulan edo lotutako zerrenda batean.
>> JASON Hirschhorn: lineala For programazio, ez lotutako zerrendak.
Hash mahai gainean hurrengo puntura.
>> AUDIENCE: Ados.
Beraz hash taulan litzateke tamaina hasieratu -
kateak kopuruaren bezalako txertatu zinen?
>> JASON Hirschhorn: You litzateke nahi benetan handia izan da.
Bai.
Hemen zer egiten dugun argazki bat da besterik taula gainean marraztu.
Berriz ere, talka bat dugu hemen.
152 at.
Ikusi eta sortu genuen dituzu lotuta zerrenda off da.
Berriz ere, hash taula aparteko kateatze hurbilketa ez da duzuna
arazoak ezartzeko hartu behar Sei baina bat dela asko
ikasleek hartu ohi.
Beraz, Ohar horretan, labur-labur hitz egin dezagun buru dugu aurretik arazoa sei,
eta, ondoren, istorio bat partekatu dut zurekin.
Hiru minutu ditugu.
>> Arazo multzo sei.
Lau funtzio duzu -
karga, begiratu, tamaina, eta hustuketa.
Karga -
bai, izan dugu joan karga gehiagoko oraintxe.
Karga genuen taula gainean.
Eta nahiz eta hasi ginen asko coding lotutako zerrenda batean txertatu.
Beraz, karga ez da baino askoz gehiago duguna besterik ez dira egiten.
>> Txeke da behin duzu zerbait kargatu.
Prozesu honen berdina da.
Halaber lehen bi zatiak non bota duzu hash funtzioa sartu zerbait
eta bere balioa lortzeko.
Baina orain ez gara bertan txertatu.
Orain, ordea, bilatzen ari gara.
Dut lagin kodea aurkitzeko idatzizko lotutako zerrenda batean zerbait.
Duten praktikatzera animatzen dut.
Baina senez zerbait aurkitzeko nahiko zerbait txertatu antzekoa.
Izan ere, aurkitzeko irudi bat marraztu dugu lotutako zerrenda batean zerbait, mugitzen
duzun got amaierara arte bidez.
Eta lortu bada amaierara eta ezin izan aurkitu, orduan ez da han.
Beraz, txeke da, funtsean.
>> Hurrengo tamaina da.
Egin dezagun tamaina.
Azkenik deskargatzen duzunean.
Hustuketa inork ez dugu marraztuko da taula gainean edo kodetuak oraindik.
Baina coding saiatzeko animatzen dut Gure lagina lotutako zerrenda adibidean.
Baina hustuketa senez free antzekoa da -
edo esan nahi dut berriro egiaztatu antzekoa da.
Orain bazoazela aldi bakoitzean izan ezik bidez, ez duzu besterik behar egiaztapena
ikus zure balioa duzu bada ez.
Baina nodo hori hartu eta zu libre uzten, funtsean.
Hori da hustuketa zer egin galdetzen du.
Free guztia malloced duzun.
Beraz, zerrenda osoa zeharkatzen ari zaren berriro, hash osoa igaro
taula berriro.
Oraingo honetan ez markatu zer ez dago ikusteko.
Just libratzeko zer han.
>> Eta, azkenik, tamaina.
Tamaina ezarri behar da.
Ez baduzu tamaina ezartzea -
Ere esan dut hau bezalako.
Ez baduzu tamaina ezartzeko zehazki in kode-lerro bat barne
itzultzeko comunicado, zauden tamaina gaizki egiten.
Beraz, ziurtatu tamaina, diseinua osoa puntuak, egiten ari zarenean zehazki batean
kode-lerro, barne bueltan adierazpena.
>> Eta ez pack sortu oraindik, Akchar.
Irrikaz Beaver.
Eskerrik asko guys esan nahi nuen atalean etortzeko.
Izan Happy Halloween bat.
Hau nire mozorroa da.
Dut egingo hau jantzita ikusiko ostegunean bulegoko ordu duzu ikusten badut.
Eta zauden batzuk gehiago buruzko bitxia bada hondo mozorro honetan bezala, sentitzen
free ikusteko 2011 atalean zergatik naiz buruzko istorio bat
kalabaza mozorroa jantzita.
Eta istorio triste bat da.
Beraz, ziurtatu duzula ehunen batzuk hurbil.
Baina horretan, edozein zalantza izanez gero galderen inguruan makila dut
atala ondoren lurrera.
Zorte on arazoa ezarri sei.
Eta beti bezala, edozein zalantza izanez gero galderak, let me know.