>> [Musika jotzen]
>> ANDI Peng: Ongi aste 6 ataleko izateko.
Desbideratu gure estandarretik dugu Asteartea garai atala
Ederra igande goizean honetarako arratsaldez.
Eskerrik asko guztiontzat duten fitxatu me gaur egun, baina serio,
txalo txanda.
>> Ahalegin nahiko handi bat da.
I ia ez, nahiz eta ez da Denboran eman, baina OK zen.
Beraz, ezagutzen dut duzun guztia Oraintxe egin du Galdetegiari.
Lehenik eta behin, ongi etorria eman Hori alde irauli.
>> Bigarrenik, izango horri buruz hitz egin dugu.
Egingo galdetegi buruz hitz egingo dugu.
Egingo nola buruz hitz egin dugu you klasean egiten ari.
Fina izango duzu.
Zure galdetegiak daukat Hemen amaieran duzu,
beraz, mutil hartu nahi izanez gero, a begiratu, guztiz fina.
>> Beraz, azkar hasten gara, aurretik Gaurko agenda honela da.
Ikusten duzun bezala, ez gara tiro funtsean azkarrak
Datu-egitura osoa sorta baten bidez benetan, benetan, oso azkar.
Beraz, esate baterako, ezin izango da gaur super interaktiboa.
It Besterik izan motatako oihuka me Gauza duzula, eta zuk nahastu badut,
azkarregi noa bada, utzi naute.
Besterik hainbat datu Oraindik dute egiturak, eta parte gisa
Zure pset honetarako Datorren astean, ikusiko duzu
horietako bat ezartzeko eskatuko zaio, agian bi Horietako horietako bi
Zure pset ere.
Ados, beraz, besterik ez dut joan iragarkiak batzuk hasteko.
Pilak eta ilarak ere gehiago gainean dugu Galdetegi baino lehen zer egin genuen baino sakonera.
Egingo errepasatuko ditugu lotuta zerrendatu berriro, berriro ere,
sakonera baino gehiago zer izan genuen galdetegi aurretik.
Eta gero, hash buruz hitz egingo dugu mahaiak, zuhaitzak eta saiatzen da, eta horrek
dira zure pset nahiko beharrezkoa guztiak.
Eta, ondoren, zenbait joan gara pset5 aholkuak lagungarria.
>> Ados, beraz, galdetegi 0.
Batez bestekoa% 58 izan zen.
Oso txikia izan da, eta, beraz, you guys guztiak egin da, oso, oso ondo jarraiki
horrekin.
>> Pretty much, arau da bazaude besteko desbiderapen estandarra barru
Oraindik ez dugu apalagoan batez ere comfy atalean, bazara guztiz fina.
Oraindik pista duzu.
Bizitza ona da.
>> Badakit beldurgarria dela uste da % 40 galdetegi honetan bezala lortu nuen.
Klase honek huts noa.
Hitzematen dut, ez zara Klase huts egingo.
Guztiz fina zara.
>> Lortu duten baino gehiago zaretenok bestekoa, ikusgarria, ikusgarria,
bezala, serio ondo egina.
Horietako daukat nirekin.
Feel free boki etortzen atala amaieran.
Esan edozein zalantza izanez gero gaiak, haiekin galdera.
Gehitu dugu zure puntuazioa bada oker, iezaguzu.
>> Ados, pset5 beraz, hau da benetan Yale zentzuan aste bitxi
Gure pset ondorio dela Asteazken eguerdian barne
egun berandu, beraz, egia esan, teorikoki ondorioz astearte eguerdian.
Seguruenik, inork ez amaitu Asteartea at eguerdian.
Hori guztiz fina.
Bulego orduetan izan goaz Gaur gauean baita astelehen gauean.
Eta atal guztiak aste honetan egingo benetan tailerrak bihurtu da,
beraz, sentitzen free batean irekiko edozein ataletan nahi duzu,
eta mota mini-pset egingo dute duten laguntza tailerrak.
Beraz, esate baterako, atal bakarra da non irakasten ari gara materiala.
Beste atal guztiak be bideratua izango pset laguntza esklusiboki.
Bai?
>> Ikusleak: Non daude bulego orduetan?
>> ANDI Peng: Bulegoko ordutegia tonight-- oh, galdera ona.
Dut uste bulego orduetan gauean Zertzeta edo Commons dira.
Egiaztatu online CS50 bada eta joan bulego orduetan to you,
Han ordutegia izan behar duela esaten dizu non denak.
>> Bai, ezagutzen dut gaur gauean edo bihar teal da,
eta izan ahal izango dugula uste dut Beste gau commons.
Ez nago ziur.
Ona galdera.
CS50 egiaztatzeko.
>> Cool, edozein buruz galderak Hiru egunetan bezala hurrengo ordutegia?
David bezala you guys agintzen dut esan zuen, hau muinoaren goialdean dago.
Dira Zaudete ia ez dago.
Just hiru egun gehiago.
Talde dago, eta, ondoren, dugu guztiak llegado egingo.
Polit bat CS-free break izan dugu.
Itzuli egingo dugu.
Egingo sartu web murgildu gara programazio eta garapena,
Hori oso dibertigarriak dira gauzak aldean Beste psets batzuk.
Eta chill izango da, eta fun asko izan dugu.
Gozokiak gehiago izango dugu.
Gozokiak sentitzen.
Gozokiak ahaztu dut.
Goizean latza izan zen.
Beraz zara mutil ia ez, eta benetan you guys harro nago.
>> Ados, beraz, pilak.
Nor Jack buruzko galderari maite eta bere galdetegiaren jantzi?
Inor ere ez?
Ados, hori da isuna.
>> Beraz, funtsean, ahal duzun Irudian Jack, tipo hau hemen,
arropak hartu maite pilaren goialdean daudelarik,
eta jartzen zuen atzera kalera zuen ondoren pilaren kitto.
Beraz, modu honetan, inoiz ez zuen Badirudi lortzean
beheko aldean den bere arropa ere pilatu.
Beraz, hau da, mota deskribatzen Oinarrizko datu egitura
pila bat nola burutzen da.
>> Funtsean, bat pentsatzea Edozein objektu pila gisa pilatu
non goi aldera gauzak jarri, eta ondoren, horiek pop izarrekin goitik.
Beraz, LIFO siglak dugu nahi da use-- Azken, lehena inprimatu nahi.
Eta beraz, azken urtean zehar goian pila lehen bat ateratzen da.
Eta beraz, bi termino lotzeko nahi dugu
horrekin bultza eta pop deitzen dira.
Zerbait bultza kalera pilatu, eta bertan pop back up.
>> Eta beraz, uste dut hauxe da bat mota duzuenontzat kontzeptu abstraktuak
Nork bat bezala ikusi nahi Benetako hau aplikatzeko
mundu errealean.
Nola asko saiakera bat idatzi dute agian, ordubete atsegin ondorioz izan zen, aurretik
eta ustekabean ezabatu you handi bat hura zatia, ustekabean bezala?
Eta gero, zer kontrol egin Jarri atzera erabiltzen dugu?
Kontrol-Z, bai?
Kontrol-Z, beraz aldiz zenbatekoa Kontrol-Z nire bizitza salbatu ditu,
nire ipurdian gorde du, aldi bakoitzean hori pila bat bidez gauzatzen da.
>> Funtsean informazio guztia Hori Zure Word dokumentua da,
bultzatu lortzen da eta borondate idatz.
Eta, beraz, funtsean, betiere duzu ezer ezabatzen, pop back up duzu.
Eta, ondoren, itzuli behar izanez gero, eta zuk bultza, hau da Kontrol-C duenaren.
Eta beraz, mundu errealaren funtzioa Datuen egitura nola sinpleen
zure eguneroko bizitzan laguntzeko.
>> Beraz, eta egitura bat bidean da benetan pila bat sortzen dugu.
Definitu eta egitura mota dugu, eta, ondoren, pilatu behealdean deitu dugun.
Eta pila barruan, Bi parametro dugun
funtsean manipulatu ahal izango dela, beraz, char izar kateak gaitasuna ditugu.
>> Egiten ari den guztia dela array bat sortzen ari da
gorde ahal izango dugu nahi duzuna horrek bere ahalmena zehaztu ahal izango dugu.
Aforoa besterik max zenbatekoa da Elementu dugu array hau eramateko.
int tamaina mantentzen salmahaia Elementu zenbat pista Une
pila.
Beraz, ordura arteko, A track mantendu ahal izango dugu, bai benetako pila nola handia da,
eta, B, nola pila hori askoz bete dugu, ez dugulako nahi
gorako gainezkatzea gure ahalmena zein den.
>> Beraz, adibidez, eder hau Galdera Galdetegi zen.
Funtsean nola egin bultza dugu pila baten goiko aldera.
Nahiko erraza da.
Begiratuz gero ere, honen bidez dugu oinez.
Bada [INAUDIBLE] size-- gogoratu, betiere,
Edozein sartu nahi Eta egitura baten barnean parametroa,
struct.parameter izenean egiten duzu.
>> Kasu honetan, s da gure pila izenean.
Tamainaren sartu nahi dugu Da, beraz s.size egiten dugu.
Beraz, betiere tamaina ez da ahalmena edo luze gisa berdina
ahalmena baino gutxiago izango duenez, bai hemen lan egitea litzateke.
>> Barrutik sartzeko Zure pila, s.strings beraz,
eta ari zenbaki berri hori jarri zoazen han txertatzeko nahi duzula.
Dezagun esan ahal izango dugu nahi txertatu int n pila gainean,
s.strings egin genezake, Parentesi, s.size berdinen n.
Tamaina dagoelako non gauden Une pila daude
ari gara bultza bada joan Gainean, besterik sartzeko dugu
tokian tamaina da, uneko pila betetasuna,
eta bultza dugu int n egin da kalera.
Eta gero, ziurtatu nahi dugu halaber n tamainako ari gara incrementing,
beraz, track gorde ahal izango dugu of dugu Gauza gehigarri bat gehitu pila.
Orain tamaina handiago bat behar dugu.
Ez du hori hemen zentzurik denek, nola logikoki funtzionatzen duen?
Motatako bizkorra izan zen.
Publikoa: Ezin duzu gehiago joan s.stringss.strings du [s.size] berriro?
ANDI Peng: Noski, beraz, zer egiten du s.size unean emango digu?
Ikusleak: egungo tamaina da.
ANDI Peng: Zehazki, hain egungo indize hori gure tamainan da,
eta, beraz, zenbaki oso berria jarri nahi dugu to s.size txertatzeko nahi dugula.
Ez duela zentzurik?
S.strings delako, hori guztia da array baten izena da.
Guztiak den da sarbidetzen gure struct barruan array,
eta hala bada nahi dugu place n indize horretan sartzen,
Besterik ezin dugu sartzeko da Parentesi erabiliz s.size.
Cool.
>> Ondo da, pop, pseudocode egindako I , you guys baina antzeko kontzeptua da.
Ez duela zentzurik?
Tamainaren handiagoa bada zero, orduan baino dituzu
Badakizu zerbait hartu nahi duzula out tamaina ez bada delako
zero baino handiagoa, orduan pila ezer ez izan.
>> Beraz, soilik exekutatu nahi Kode hori, ahal duen bakarra
pop zerbait aterako bada.
Beraz tamainaren handiagoa bada 0 baino, dugu ken tamaina.
Tamainaren gutxiagotzeko dugu eta itzuli edozein delarik ere barruan dagoelako
leihoa arabera, nahi dugu dena delakoa gordeta sarbidea
pilaren goialdean indizean.
Dena zentzurik?
Egin nuen bada hau idatzi out you guys, lizateke mutilak idazteko irten ahal?
Ados, you guys inguruan jolastu daiteke batera.
Kezkak ez baduzu ulertzen.
Ez dugu behar kodea denborarik izan gaur bertan egindako dugulako
Egitura horiek asko lortu joan bidez, baina funtsean
pseudocode, oso, oso antzeko bultza.
Just logika zehar jarraitu.
Ziurtatu guztian sartzen ari Zure struct ezaugarriak behar bezala.
Bai?
>> Ikusleak: Will diapositiba horiek eta esandako guztia izan zaitez gaur-ish?
ANDI Peng: Beti, bai.
Jarri saiatu noa honek ordubete ondoren bezala eman.
Mezu elektroniko bat bidaliko David I, David egingo saiatu jarri ezazu, honen ondoren, ordu bat bezala.
>> Ados, beraz, ondoren, mugitu beste hau sartu dugu Ederra datuak egitura ilara deitzen.
As you guys hemen ikusi ahal izango dira, bat ilaran, gure artean British du,
guztia da lerro bat da.
Beraz, aurkakoa zer Uste duzu pila bat da,
ilararentzat zehazki zer da logikoki uste duzu.
Honez FIFO arauak helduta; hau da Lehenengoa, lehena inprimatu.
Oraindik lehenengoa bada lerroan bata, zaren
lehenengoa dela linea ateratzen.
>> Beraz, zer deitu nahi dugu dequeueing eta enqueueing da.
Zerbait gehitu nahi badugu Gure ilaran, ilaran dugu.
, Adierazten nahi badugu edo hartu Zerbait kanpoan, adierazten dugu.
>> Zentzu beraz bera ari gara, mota horretako finko tamainako elementu sortzeko dugun
Zenbait gorde ahal izateko Gauzak, baina, era berean, ezin dugu
aldatu non ipintzen ari gara Horietako barruan parametroak
oinarritutako zer motako funtzionalitate nahi dugu.
Beraz, pilak, azkenekoa nahi dugu Bat, N lehen egindako bat izan nahi du.
Queue da lehenengo gauza egin nahi dugu batean egindako lehen gauza izan.
>> Beraz, eta egitura-mota definitzeko, ikusiko duzunez,
pixka bat desberdina da pila zein zen bertatik
Ez bakarrik egin mantendu izan dugulako non tamaina Unean da jarraipena,
halaber buruaren track mantendu nahi dugu baita gaur egun gauden non bezala.
Beraz, uste dut errazagoa da marraztu dut hau bada sortu.
Hargatik imajinatu en lortu dugu ilara bat, beraz, esan dezagun burua da hemen.
Lerro-buru, dezagun esatea besterik ez da gaur egun,
eta sartu nahi dugun Ilaran sartu zerbait.
Tamaina deitzeko funtsean noa buztana gauza bera da,
tokian zure ilaran da amaieran.
Dezagun esan tamaina hementxe da.
>> Beraz, nola feasibly bat egiten du txertatu ilaran batean zerbait?
Zer indizea egiten jarri nahi dugu non sartu txertatu nahi dugu.
Honen hasieran badago zure ilara eta hau da amaiera izango da
edo haren tamaina, non egiten dugu Nahi hurrengo objektu gehitzeko?
>> Ikusleak: [INAUDIBLE]
ANDI Peng: Zehazki, gehitu nahi duzun egiten araberakoa izan da idatzi.
Edo hau da hutsik edo hutsik.
Beraz, ziurrenik gehitu nahi al duzu Hemen tamainaren is-- bada delako
horiek guztiak beteta egonez gero, nahi duzun gehitzeko hementxe, ezta?
>> Eta beraz, oso, oso, berriz, simple, ez nahiko beti zuzena
Ezberdintasun nagusia delako ilara bat eta pila bat arteko
da ilaran ahal benetan manipulatu
beraz, burua aldaketak non nahi duzun arabera
Zure aztarna hasieratik hasteko.
Eta, ondorioz, zure buztana Era berean, aldatu egingo da.
Eta hala begirada bat hartu kode hau oraintxe.
You guys ere eskatu zitzaien bezala idatzi egindako galdetegiaren, enqueue.
Agian horregatik bidez, hitz egingo dugu erantzuna zein izan zen, izan zen.
>> Ezin dira ondo I lerro honek batetik, baina funtsean kode zati hau
lerro bakar batean izan.
30 segundotan bezala pasatzeko.
Begirada bat, eta ikusi zergatik hau horrela dela da.
>> Oso, oso antzeko egitura, oso, oso antzeko egitura aurreko gisa
pilatu agian ezik kode lerro bat.
Eta kode lerro bat dagoela funtzionalitate zehazten du.
Eta benetan bereizten da pila bat ilaran bat.
>> Edonork labankada bat hartu nahi zergatik duzun azaltzeko
Hemen ere gauza konplikatuak hau lortu?
Itzulera ikusiko dugu gure wonderful laguna modulua.
You guys laster etorriko da gisa programazio hautematen,
Ia edonoiz zerbait behar duzu ezer inguruan biltzeko,
modulua da horrela egin behar izango.
Beraz, hori jakinda, nahi du inor kode lerro bat azaltzeko saiatu?
Bai, erantzun guztiak dira onartutako eta ongi etorriak.
Ikusleak: zuk hitz egiten dira niretzat?
ANDI Peng: Bai.
Ikusleak: Oh, ez barkatu.
ANDI Peng: Ados, beraz dezagun Kode hau ibiltzeko.
Beraz, saiatzen ari zaren denean zerbait gehitu ilaran baten gainean,
eder kasuan buruan gertatzen dela ere izan hemen, guretzat oso erraza da
besterik joan amaieran txertatu zerbait, ezta?
Baina ilararentzat puntu osoa da Hori buruan benetan dinamikoki ahal
Bertan arabera aldatuko dugu Gure q hasieratik izan nahi,
eta, besteak beste, buztana bezala Era berean, aldatu egingo da.
>> Eta demagun, hori ez zen ilaran, baizik eta hori izan zen, ilaran.
Demagun burua da hemen.
Demagun gure ilara hori dirudi.
Filmea non nahi badugu marraren hasiera da,
demagun burua desplaza dugu Horrela eta tamainak hemen.
>> Orain zerbait gehitu nahi dugu ilara hau, baina Ikus dezakezuenez bezala,
Ez da hain erraza besterik behar bezala gehitu edozein dela ere tamaina da ondoren
ondoren, exekutatu dugu delako gure benetako array mugetatik.
Non benetan gehitu nahi dugu hemen.
Hori ilararentzat edertasuna da dela guretzat, ikusmen da
itxura lerro hau atsegin doa, baina datuak egitura batean gordeta,
ziklo bat bezala ematen dute.
Mota itzulbiratu Aurrealdean modu berean emateko
lerro bat ere bildu ahal tokian zaudela arabera inguruan
lerro hasieran nahi izan nahi.
Eta orain bat hartzen badugu Hemen begiratu behera, dezagun
sortu nahi dugu esan enqueue izeneko funtzioa.
Gehitzeko int n q hori sartu nahi izan dugu.
Q.size q-- duten deitu dugu gure datuak bada structure-- gure queue.size ez badu
ahalmena edo bada berdina edukiera baino txikiagoa da,
q.strings gure q barruan array da.
'Ezarrita goaz Hori q.heads berdina,
bertan hementxe da, plus q.size gaitasuna, by modulua bertan
itzulbiratu back hemen inguruan digu.
>> Beraz, adibide honetan, indizea burua da 1, ezta?
Tamaina-indizea 0, 1, 2, 3, 4 da.
Beraz, zer egin genezake 1 plus 4 modulua gure ahalmen hau da, 5.
Zer dela ematen digu?
Zer da indizeak hau ateratzen?
>> Ikusleak: 0.
>> ANDI Peng: 0, eta horrek Gertatzen izan hemen,
eta, beraz, gai izan nahi dugu hementxe txertatzeko.
Eta beraz, ekuazio hau hemen mota ren nolanahiko zenbakiak dituzten lanak
non araberakoak zure burua eta zure neurriko dira.
Badakizu zer horiek bada Gauzak dira, badakizu
zehazki non txertatu nahi duzun edozein dela ere zure ilara ondoren.
Ez duela zentzurik denek nahi?
>> Garuneko bat mota ezagutzen dut teaser hau batez ere
Galdetegi Kolpe dugunik.
Baina, zorionez, denek Orain uler dezakegu
zergatik irtenbide hau edo hau funtzio modu hori da dena.
Edonork pixka bat horretan unclear?
ONDO DA.
>> Eta beraz, orain, baduzu Adierazten den, hau nahi
da, non gure burua aldatzearen litzateke delako Adierazten bagenitu,
ez dugu aireratzen q amaieran.
Buruan off hartu nahi dugu, ezta?
Ondorioz, orain, burua aldatu egingo da, eta hori dela eta, noiz ilaran duzu,
Ohizko duzu segimendua egiteko non zure burua eta zure tamaina
dira txertatu ahal izateko Posizio zuzena sartu.
>> Eta beraz, Adierazten duzu, Halaber pseudocode dut ulertu.
Sentitu nahi izanez gero free kodeketa hau atera saiatuko da.
Burua mugitu nahi duzu, ezta?
To Adierazten nahiko banu, I buru hitz egin zezala gainetik.
Hau burua izango litzateke.
>> Eta gure egungo tamaina litzateke kenketak dugulako jada ez
array lau elementu dute.
Soilik hiru daukagu, eta, ondoren, nahi dugun Barruan edozein izanda ere gordetzen zen itzultzeko
buruaren hau hartu nahi dugulako balio out beraz oso pila antzekoa.
Just hartzen ari zaren beste leku batetik,
eta erakuslea berriro ezar behar duzu ondorioz leku desberdinetara.
Logikoa denez, gainontzekoek?
Great.
>> Ados, beraz gara, apur bat hitz egin dugu zerrendak lotuta sakonera gehiago
dute oso, oso baliagarria izan dugu aste honetan zehar ematen da zuretzat
psets.
Lotuta zerrendak, bezala you guys gogoratzen, guztiak dira
duten zenbait nodoetan dira nodoak bai balio bat eta erakuslea balioak
elkarrekin lotuta daude erakusle horien arabera.
Eta hala nola, egiturari sortu dugu nodo bat da hemen dugu
int n dute, hau da, edozein dela ere denda edo kate n a balioa
edo nahi duzun char izar n deitzen da.
Egitura nodo izar, erakuslea da nodo bakoitzean izan nahi duzula,
duten joan zaren hurrengo bidean erakuslea puntu.
Buruan izan dituzu lotutako zerrenda bat hori da of
den gainerako apuntatzen joan abar eta abar balioak
Azkenean duzu amaieran iritsi arte.
Eta azken nodo hau besterik ez da ez dute erakuslea joan.
Honez da seinalatu nulua, eta hori da
hit duzun baldin badakizu Zure zerrendan lotuta amaieran
da zure azken erakuslea ez du ezer puntu.
>> Beraz, pixka bat gehiago joan joan buruzko sakoneran nola seguru litzateke bat
bilaketa lotuta zerrenda.
Gogoratu zer dira batzuk loturiko zerrendak desabantaila
bilaketak buruzko array bat bertsotan.
Array bat egin ahal izango dituzu, bilaketa bitarra, baina zergatik ezin lotuta zerrenda bat egin duzu?
>> Ikusleak: guztiak ari dira konektatutako delako, baina ez daki oso ondo non
[INAUDIBLE].
>> ANDI Peng: Bai, hain zuzen, orain gogoratzen matrize distira
Izan ere izan genuen ausaz erreproduzitu non
Indize balioa nahiko banu sei, besterik gabe, ezin esan nion indizea sei,
ematen dit balio hori.
Eta hori da, arrayak ordenatuko dira delako Memorian gune Alboko batean
leku batean, berriz, zerrendak lotutako mota
dira ausaz tarteka guztien inguruan, eta modu bakarra aurkitu ahal izango duzu
esaten dizu erakuslea bidez non hurrengo nodo hori da helbidea.
>> Eta beraz, horren ondorioz, bide bakarra lotuta zerrenda bidez bilatu
bilaketa lineala.
I ez dakit zehazki delako non lotuta zerrendan 12an balioa da,
Osotasunean zeharkatzeko behar dut lotuta zerrenda bat
lehen nodo buru-banan, Bigarren nodo hirugarren nodo,
Bidean behera guztiak, azkenean lortu nuen arte non nodo hori Bila nabil da.
Eta, beraz, zentzu honetan, bilaketa- lotutako zerrenda batean n beti.
Beti da n.
Beti da denbora lineala.
>> Eta horrela kodea horretan hau martxan jarri dugu, eta hau
da berria pixka bat mutil zenuenetik zuretzat mutilak ez dute benetan buruz edo inoiz hitz egin
ikusi nola erakusleak bilatu erakusleak bidez,
beraz, oinez egingo dugu bitartez hau oso, oso poliki.
Beraz bool bilaketa, eskuineko, dezagun nahi dugu
izeneko funtzio bat sortzeko bilaketa hori egiazkoa itzultzen
Lotuta barruan balio bat topatu baduzu zerrendatu, eta faltsua itzultzen du bestela.
Nodo izar zerrenda da Une erakuslea besterik
zure zerrenda lotuta lehen elementua da.
int n balioa you ari da Zerrenda horretan bilatuta.
>> Beraz, nodo izar erakuslea berdinen zerrenda.
Horrek esan nahi du ezartzeko ari gara eta erakuslea sortzeko
Zerrendaren barruan lehen nodo hori.
Nirekin orok?
Beraz, joan bagenitu Atzera hemen, nahi dut
Hori puntu erakuslea hasieratu Buruan edozein izanda zerrenda dela.
>> Eta gero, behin behera lortuko duzu hemen, erakuslea ez berdinak NULL bitartean,
beraz, amaitzen da eta bertan gauden da Geroago zeharkatzen izango da
Gure zerrendan zer delako gainerako Gertatzen erakuslea berdinen nulua denean?
Badakigu have-- garela
>> Ikusleak: [INAUDIBLE]
>> ANDI Peng: Zehazki, beraz, ezagutzen dugun Nik zerrendaren amaieran, eskuineko iritsi gara?
Atzera egin ezkero, nodo bakoitzeko nodo beste behar dela seinalatuz
eta abar eta abar Azkenean sakatzen duzun arte
Zure zerrendan lotuta buztana, bertan erakuslea besterik ez dela
horrek ez du ezertarako balio salbu.
Eta orain badakit funtsean duzun hori Zure zerrendan oraindik ez da sortu
erakuslea ez da berdina arte null behin null berdinen delako,
Dakizuenez, hori da gehiago stuff ez.
>> Beraz, hori begizta horretan ari gara, uneko bilaketa izan da joan.
Eta erakuslea ikusten duzu egiten bada gezi funtzioa ez-mota hori?
Beraz, erakuslea puntu bada n, bada erakusleak n berdin berdin n,
beraz, horrek esan nahi duela Erakuslea duzu zarela
bilatuta bakoitzaren bukaeran nodo da benetan balio berdina
Bila zabiltzan, orduan egia itzuli nahi duzu.
Beraz, funtsean, Oraindik nodo bat hartuz gero, duzula bilatzen ari balio du,
Nik hori egon zaren ez badakizu Arrakastaz bilatu gai.
>> Bestela, ezarri nahi duzun erakuslea hurrengo nodo.
Hori da lerro hori hemen zer egiten ari den.
Erakuslea berdinen hurrengo erakuslea.
Denek ikusi nola hori lan?
>> Eta, funtsean, joan zaren besterik zeharkatuko zerrendan osotasunean,
erakuslea aldi bakoitzean arte berrezartzea Azkenean hit duzu, zerrendaren amaieran.
Eta badakizu ez daudela nodo gehiago bilatu dute eskubiderik;
eta orduan faltsua itzuli ahal izango duzu badakizu delako Oh, bai, hori,
bilatu ahal izan naiz bada Zerrendaren osotasunean bidez.
Adibide honetan bada, nahi nuen bada Eta 10 balioa begiratu,
eta hasi nintzen buruan, eta Modu guztiak bilatu dut behera,
eta, azkenik, hau lortu dut, eta horrek hori null erakuslea puntu bat,
Hori, kaka, asmatzen dut 10 ez da ezagutzen dut Zerrenda honek ezin izan dut aurkitu dituelako.
Eta naiz zerrendaren amaieran dut.
Eta kasu horretan, badakizu Faltsua itzuli noa.
>> Utzi duten busti pixka bat egiteko.
Hau nahiko izango da Zure pset garrantzitsua.
Haren logika oso sinplea da, agian sintaktikoki besterik bera gauzatzeko.
Zaudete egin nahi Ziur ulertzen duzu.
Cool.
>> Ados, beraz, nola litzateke izango dugu nodes txertatzeak, eskuinera,
Zerrenda bat sartu delako gogoratzen Zein dira onurak zer of
ren lotutako zerrenda bat versus beharrik biltegiratze dagokionez array bat?
>> Ikusleak: It dinamikoa da, beraz, errazagoa da zaie
>> ANDI Peng: Zehazki, beraz, dinamikoa da, eta horrek
Horregatik, zabaldu eta txikitu daiteke erabiltzailearen beharren arabera.
Eta, beraz, zentzu honetan, ez dugu behar alferrikako memoria alferrik dudalako
Ez dakit bada zenbat balio nahi dut denda, ez du zentzurik niretzat
delako array bat sortzeko 10 balioak gorde nahi badut
eta sortu nuen 1.000 array, hori da alferrik galtzen memoria asko, emandako.
Hori dela eta, bat lotuta erabili nahi dugu Zerrenda hau egin ahal izateko dinamikoki
aldatu edo gure tamaina txikitu.
>> Eta orain dela-sartzeak egiten pixka bat zailagoa da.
Geroztik ezin dugu elementu ausaz sartzeko Bide hori array baten genuke.
Elementu bat sartu nahi dut bada Zazpigarren indizean sartu,
Besterik ez da I txertatu ahal Zazpigarren indizean sartu.
Lotutako zerrenda baten gainean, ez du nahiko lan bezain erraz,
eta beraz, txertatu nahi badugu hemen zerrenda lotuta,
ikusmen, oso erraz ikusten da.
Besterik txertatzeko nahi dugu bertan, eskubidea zerrendaren hasieran,
buruan ondoren.
>> Baina, modu horretan, dugu nahi berriro ezar erakusle da pixka bat bilbatzen
edo, logikoki, zentzuzkoa da, baina Ziur baduzula egin nahi duzu
erabat behera delako Nahi duzun azken gauza
da erakuslea berriro ezar ditzakezu Bide hori hemen egiten ari garen.
Baduzu dereference burua erakuslea 1,
ondoren, bat-bateko guztiak Zure zerrendan lotutako gainerako
galtzen da, ez dute benetan delako Aldi baterako ezer sortu.
Hori da, 2 seinalatu zuen.
Erakuslea eta, ondoren, berriro ezar baduzu Zure zerrendan gainerako erabat galtzen da.
Beraz izan nahi duzu Oso, oso zaindua hemen
lehen esleitu du duzuna erakuslea
lekuan sartu txertatu nahi , nahi duzu, eta gero zuk
Ahal zure zerrenda gainerako erreferentzia kenduta.
>> Beraz, hau tokian aplikatzen to txertatzeko saiatzen ari zaren.
To txertatzeko nahi baduzu Burua, hemen erantzun nahi izan ezkero,
to txertatzeko nahi baduzu Amaieran, bai, azkenean dut
asmatzen besterik ez litzateke izango duzu izan erakuslea ez, baina zuk
ez duzula ziurtatu nahi Zure zerrendan gainerako galtzen.
Beti ziurtatu egin nahi duzu zure nodo seinalatuz
edozein izanda ere bidean ra sartu txertatu nahi,
eta, ondoren, kateatzea on gehi ditzakezu.
Guztiek argi?
>> Hau izango da benetako gai bat.
Gai nagusiak gehien bat Zure pset izan zaren joan
da zarela Sortuko saiatzeko joan lotutako zerrenda bat eta gauzak sartzea
baina, ondoren, besterik gabe galduko du Zure zerrendan lotutako gainerako.
Eta ari den bezala joan zara, I ez dakit zergatik gertatzen ari da?
Eta mina bat pasatzen da eta bilatu zure erakusleak guztiak.
>> Eta pset honetan bermatzen dut, idazten eta marrazten nodo horiek egindako
Oso, oso lagungarria izango da.
Beraz, erabat mantentzeko pista non zure erakusleak guztiak dira,
Zer gertatzen da, non zure nodo guztiak dira,
zer den sartzeko zer egin behar duzun edo txertatu edo ezabatzeko edo horietako edozein.
Guztiek horrekin ona?
Cool.
>> Beraz, kodea begiratu nahi badugu?
Oh, ez dakit badugu OK the-- ikusi ahal izango da, beraz,
goialdean guztia da funtzio bat da txertatze izeneko non nahi dugu
txertatzeko lotuta zerrenda, int n.
Honen bidez, oinez goaz.
Kode asko, sintaxia berri asko da.
OK izango dugu.
>> Beraz, goian, betiere, aldi berean ireki ezer sortu nahi dugu
zer egin behar dugu, batez ere baduzu nahi hori ez da pilaketan gordeta
baina zeure en?
Go malloc bat gara, ezta?
Beraz, erakuslea bat sortu nahi du.
Nodoaren, erakusle, berdinen berria nodo baten tamaina malloc
nahi dugulako nodo hori sortu behar dira.
Zenbatekoa nahi dugu nodo bat hartzen memoria
beharreko emandako nodo berria sortzea.
>> Eta gero ari gara egiaztatu du ikusi berdinen berria berdinen null bada.
Gogoratu zer esan dugu?
Whatever you malloc, nik beti egin behar duzu?
Beti egiaztatu behar duzu ikusteko nulua duten ala ez.
>> Adibidez, zure ustiapen bada sistema erabat beterik zegoen,
Izan duzu memoria gehiago ez badu guztiak eta saiatu malloc duzu,
null itzuliko litzateke zuretzat.
Eta beraz, erabili nahi izanez gero denean null seinalatuz zen,
Ez bazara gai joan Informazio hori eskuratu.
Eta orain, esate baterako, egin nahi dugu Ziur mallocing betiere zu,
beti ari den ala ez ikusteko egiaztapena memoria duten jakin nahi baduzu, nulua da.
Eta ez da, bada, ondoren, mugitu ahal izango dugu gure gainerako arauen gainean.
>> Beraz, goaz nodo berria abiarazi.
N berria berdinen n egin goaz.
Eta gero ari gara egiten joan ezarri berrietan erakuslea berria
nulua delako oraintxe ez egiten dugu ezer nahi seinalatu behar da.
Auskalo non daukagu nik zuk jarri nahi dut,
eta, gero, bada, nahi dugu sar ezazu buruan,
gero berriro ezar dezakegu burua erakuslea.
Denek jarraitzen logika non gertatzen da?
>> Guztiak egiten ari garen berri bat sortzeko node, erakuslea ezarriz null,
eta gero kentzea burua da bagenu
Badakizu txertatzeko buruan egotea nahi dugu.
Eta gero, burua da joan berriak nodo dela diote.
Guztiek horrekin OK?
>> Beraz, bi urratseko prozesu bat da.
Lehen esleitu nahi duzun got edozein dela sortzen ari zara.
Ezarri erakuslea duten erreferentzia, eta, ondoren,
Ahal dereference mota Lehenengo erakuslea
eta seinalatu da nodo berria bidean.
Lekuan bertan txertatu nahi duzun, logika hori egiazkoa izaten da.
>> Mota da haren esleitzea bezala aldi baterako aldagaiak.
Gogoratu, lortu duzun Ziur dagoela
ez duzu aldaketa bazabiltza pista galtzen.
Ziur bat duzula egin nahi duzu Aldi baterako aldagai mota horretako mantentzen
non gauza jarraipena dago, beraz, gordetako duzu
ez inolako baliorik galtzen ikastaroa ren inguruan aldatzeari harekin bezala.
>> Ados, beraz, kode hemen izango da.
Zaudete atala ondoren begirada bat hartu.
Han izango da.
>> Beraz, nola ez asmatu dut hau ez etortzea nahi badugu
erditik edo amaieran txertatzeko?
Norbaitek dute zer da ideia bat pseudocode erreferentziazko logikoa gisa
Hori hartuko genuke nahi badugu txertatzeko erdian?
Beraz, bada txertatzeko at nahi dugu Burua, egiten dugun guztia da nodo berri bat sortzeko.
Horren erakuslea dugu edozein dela burua nodo berria,
eta gero, burua ezarri dugu nodo berria, ezta?
Txertatzeko erdian nahi badugu Zerrendaren, zer egin behar dugu?
>> Ikusleak: oraindik litzateke antzeko prozesua izan
erakuslea esleitzea atsegin eta ondoren, erakuslea esleitzea,
baina han kokatu nahi genuke.
>> ANDI Peng: Zehazki, zehazki orain prozesua bera izan ezik
zehazki non kokatu behar duzu erakuslea berrira sartu nahi,
beraz txertatzeko nahi badut erdian lotuta list-- OK,
demagun gure lotutako zerrenda da.
Txertatzeko hementxe nahi badugu, nodo berri bat sortu nahi dugu.
Ari gara malloc joan.
Nodo berri bat sortu behar izan dugu.
Esleitu goaz nodo honetan hemen erakuslea.
>> Baina arazoa desberdina non burua da bertatik
da hain zuzen ere bazekien dugun non burua da.
Eskuinetik lehena izan zen, ezta?
Baina hemen lortu dugu segimendua ari gara, non of txertatzeak sartu.
Txertatzeak bagara gure nodo hemen, lortu dugu
ziur du nodo bat aurreko
Erakuslea reassigns duena.
Beraz, ondoren, mota horretako duzu Bi gauza segimendua.
Non honen segimendua baduzu nodo ari da sartu tartekatuz.
Horrez gain, duzu non segimendua egiteko aurreko nodoa ari zaren
han ere izan zen.
Guztiek horrekin ona?
ONDO DA.
>> Nola amaieran sartu txertatzeak buruz?
Horri gehitu nahi izan dut hemen bada nahiko banu Nodo berria gehitzeko zerrenda baten amaieran,
Nola liteke hori egiten al dut?
IKUSLEEN: Gaur egun, Norberaren azken null adierazi.
ANDI Peng: Bai.
Zehazki, beraz, hau Une adierazi da jakin,
eta beraz, uste dut, zentzu honetan, ez da Oso erraza gehitu zerrenda bat amaierara arte.
Guztia egin behar duzun da ezarri berdina null eta ondoren, boom.
Bertan, oso erraza da.
Oso erraza da.
>> Oso antzekoa buru zutela, baina zuk
Ziur urrats hori egin nahi hartu duzu hau burututa bidean,
Honakoa batera ari zaren.
Da oso erraza da, erdian Zure kodea, harrapatuta on,
oh, lortu dut erakusleak hainbeste.
Ez dakit non ezer seinalatuz.
I ez dakite zein nodo naiz.
Zer gertatzen ari da?
>> Relax, lasaitu, arnasa hartu.
Berdindu zure zerrenda lotuta.
Esaten baduzu, badakit non zehazki Hau txertatzeko sartu behar dut
eta zehazki ezagutzen dut nire nola berriro ezar erakusleak, askoz errazagoa da argazki
out-- askoz, ez askoz errazagoa zure kodea bugs galdu.
Guztiek horrekin OK?
ONDO DA.
>> Beraz, hori ez dugun kontzeptu bat asmatu dut benetan orain aurretik hitz egin du,
eta uste dut seguruenik ez da askoz yet-- topo
concept-- aurreratu bat mota da benetan duten datu bat dugu
Bi aldiz lotuta zerrenda bat izeneko egitura.
Beraz Ikus dezakezuenez bezala, guztiak egiten ari garen bezalako sortzeko
benetako balioa bada, gehigarri bat erakuslea gure nodo bakoitzari buruzko
hori ere, aurreko nodo seinalatzen.
Beraz, ez bakarrik gure daukagu nodo hurrengo bat seinalatu.
Halaber, aurreko bat seinalatuko dute.
Bi horiek alde batetara utzi oraintxe noa.
>> Beraz, ondoren, kate bat behar duzu Hori bai modu mugitu ahal izango du,
eta orduan da apur bat errazagoa logikoki jarraitu batera.
Hemen bezala, ordez jarraipena, ai, I
nodo hori ez dela jakin behar ko duten to berriro ezar daukat,
Hemen besterik ez dut joan daiteke eta tira aurreko.
Gero jakin nuen zehazki non hau da, eta, ondoren,
ez dute zeharkatuko du lotuta zerrendaren osotasunean.
Pixka bat errazagoa da.
>> Baina, esate baterako, bi aldiz egin behar duzu erakusleak zenbatekoa,
duten memoria kopurua bikoitza da.
Erakusleak asko segimendua egiteko garaia da.
Pixka bat konplexuagoa da, baina pixka bat gehiago lagungarri arabera
zer lortzeko saiatzen ari zaren.
>> Beraz, datu-mota honetan egitura guztiz existitzen,
eta egitura oso da, oso simple ezik badituzu guztia da,
Horren ordez, besterik gabe, hurrengo erakuslea da, halaber, aurreko erakuslea izan duzu.
Hori da aldea izan zen.
Guztiek horrekin ona?
Cool.
>> Ondo da, beraz, orain ez dut benetan gastatu ziurrenik
15 eta 20 minutu edo gehiena bezala atalean gainerako denbora egin du
hash taulak buruz hitz egiten.
Nola duzu guys asko Irakurri egin pset5 zehaztapenak?
Ondo da, ona.
Hori normalean% 50 baino handiagoa da.
Ondo da.
>> Beraz, ahalik you guys ikusiko, Oraindik pset5 erronka
hiztegi bat martxan jartzea izango da non gorako 140.000 hitz kargatu
zuk ematen dugun eta ortografia Testuaren guztien kontra egiten.
Ematen dizugu ausazko literatura pieza.
Emango dugu Odisea.
Emango dugu Iliadan.
Emango dugu Austin Powers.
>> Eta zure erronka check ortografia izango
guztiak ere hitz bakoitzak bakarrean hiztegiak horietako
Gure zuzentzaileari batera funtsean.
Eta beraz, zati batzuk ez da pset hau sortzeko,
Lehenengo izan nahi duzu benetan kargatu ahal
Hitzak guztiak zure hiztegia, eta, ondoren,
gai izan nahi Zuzenketa ortografikoa horiek guztiak.
Eta orain, esate baterako, ari den behar zoazen Datu-egitura hori, azkar hau egin ahal
eta modu eraginkorrean eta azkar egitea.
>> Beraz errazena suposatzen dut Bide hori egin ahal izateko, zuk
ziurrenik array bat sortuko da, ezta?
Biltegiratze modu errazena da duzu 140.000 hitz sorta bat sortu ahal
eta besterik jarri itzazu guztiak han eta Orduz zeharkatuko horiek bilaketa bitarra arabera
edo Aukeraketa by edo egun ez Sentitzen hori sailkatzeko.
Antola dezakezu eta ondoren zeharkatuko horiek bilaketa bitarra edo bilaketa besterik lineal arabera
eta besterik final hitz egiteko, baina hori memoria kopuru handi bat hartzen du,
eta ez da oso eraginkorra.
>> Eta beraz ari gara martxan jarriko egiteko moduak buruz hitz egiten
gure denborak eraginkorragoa.
Eta gure helburua da iritsi etengabeko denbora non
Ia arrayak, non bezalakoa da berehalako sarbidea izango duzu.
Bilatu ezer egin nahi nuen, bada, Ahal izateko besterik nahi dut,
boom, aurkitu, zehazki, eta, atera.
Eta beraz, egitura bat zeinetan oso hurbil egon gara bihurtzen egingo
etengabeko sartzeko gai izan denbora, Grial santua hau
konstanteen programazioan denbora hash taula bat deitzen da.
Eta beraz, David aipatu [INAUDIBLE] hitzaldian pixka bat,
Baina ari gara benetan joan sakona aste honetan murgiltzeko
hori buruzko pieza bat nola hash taula bat egiten du lan.
>> Beraz, modu hash bat mahai lanak, adibidez,
hitz mordo bat gorde nahi nuen, a ingelesez hitz-sorta,
Teorikoki izan dut jarri banana, sagarra, kiwi, mango, bikotea,
eta guztiak besterik array batean cantaloupe.
Guztiak zezaketen moldatzen eta ahal aurkitu.
Mina baten antzeko zerbait egongo zela izateko bilatu eta sarbidea bidez,
baina errazagoa da hori egiteko modu da hori sortu ahal izango dugu benetan egitura bat
hash taula bat non hash ditugu deitzen.
Gure gako guztietan burutuko dugun bitartez hash funtzio bat, berdinketa bat sortuko du,
Arazo latz horiek guztiak sartu balio bat nolabaiteko
hori gero guk kalera gorde ahal izateko funtsean zerrenda lotuta array bat.
>> Eta beraz, hemen, nahi badugu English hitzak gordetzeko,
potentzialki besterik ezin dugu, ez dut Badakizu, lehenengo letra guztiak piztu
Zenbaki bat nolabaiteko sartu.
Eta horrela, adibidez, nahiko banu A apple-- sinonimoa da
edo 0 indizea batera, eta B 1 sinonimoa da,
26 sarrera izan dezakegu Hori besterik gorde ahal izateko
hizkiak guztia alfabetoa dugula hasiko gara.
Eta gero izan dezakegu 0 indizea at sagarra.
Platano izan dezakegu indizea hartu du 1, 2 indizea at cantaloupe,
eta abar eta abar.
Eta horrela, bilatu nahi nuen nire hash taula eta sarbide sagarra,
Badakit sagar batekin hasten A, eta zehazki ezagutzen dut
Hash izan behar du, eta indizea 0 delako mahaia
funtzioaren Aurretik esleitutako.
>> Ez dut ezagutzen, gauden Erabiltzaile programa bat non
zuk egingo duzun kobratuko Ez arbitrarily-- edonola,
pentsakor saiatzen dituzten equations ona dela uste du
zabaldu ahal izateko Zure balioen guztiak atera
modu batean erraz sartzeko geroago on da ekuazio bat bezala
Zu zara, zeure burua, jakin.
Beraz, zentzu batean joan nahi nuen mango, badakit, ai, m batekin hasten da.
12 indizea at izan behar da.
Nik ez dut ezer bidez bilatzeko.
Badakit exactly-- besterik ezin dut joan 12 eta indize tira izarrekin.
>> Denek nola baten gainean argi Hash taula funtzioa egiten du lan?
Array konplexuago bat besterik mota da.
Hori guztia da.
ONDO DA.
>> Beraz, uste dut exekutatu sartu dugu ale honetan zer
Gertatzen gauza anitz baldin baduzu hori ematen duzu indize bera?
Beraz, gure funtzioa esan, guztiak ere egin zen lehenengo letra hori hartu
eta buelta bat sartu dela Dagozkien 0 25 bidez indizea.
Hori guztiz fina bada bakarra bakoitzak bat behar duzu.
Baina bigarren hasten zarenean gehiago izatea, zaren
zer ari talka bat deitu dute joatea.
>> Beraz txertatzeko saiatzen naiz bada hash bat sartu lurperatu mahai dagoeneko platano ditu on,
zer gertatuko denean joan Hori txertatzeko saiatzen zara?
Gauza txarrak delako platano Dagoeneko indizea barruan existitzen
gorde nahi duzula.
Berry mota, atsegin ah, zer egin dezaket da?
Ez dakit nora joan.
Zelan konpondu dut?
>> Eta, beraz, mutil mota egingo da ikusi gauza delikatua hau egiten dugu
non ahal dugun motatako benetan lotuta gure array zerrenda sortzeko.
Eta beraz, modurik errazena honi buruz pentsatzeko,
Hash taula guztiak da zerrendak lotuta array.
Eta, beraz, zentzu horretan, behar duzu erakusleak sorta eder hau,
eta orduan ere erakuslea bakoitzeko balio hori, indize horretan,
Egia esan, beste gauza batzuk seinalatu dezake.
Eta beraz, horiek guztiak bereizi behar duzu array handi bat off datozen kateak.
>> Eta beraz, hemen, badut txarrak sartu nahi izan,
, Ezagutzen dut Ados, sarrerako noa da nire hash funtzioa bidez.
Amaituko den indizea batera noa 1, eta ondoren, naiz izan gai izango
hau azpimultzo txikiagoa besterik erraldoiak 140.000 hitzeko hiztegia.
Eta gero, besterik ez dut begiratu daiteke horren 1/26 bidez.
>> Eta, beraz, ondoren, besterik ez dut txertatu ahal txarrak aurretik edo platano ondoren
kasu honetan?
Ondoren, ezta?
Eta beraz, zu nahi joan nodo hau txertatu platano ondoren,
eta beraz, zu txertatu joan lotzen zerrenda buztana at.
Atzera egin noa Aurreko diapositiba honetarako,
beraz Ikus dezakezuenez nola hash funtzioa egiten du lan.
>> Beraz hash funtzioa ekuazio hau da Hori zure sarrera mota exekutatzen ari zaren
iristeko edozein dela indizea bidez aurreratzen hasi esleitu nahi duzun.
Eta, beraz, adibide honetan, nahi dugun guztiak egin zen lehen gutuna hartu,
piztu duten indize bat sartu, orduan dugu gordetzeko gure hash funtzioa ere.
Guztiak hemen egiten ari garen bezalako gaude Lehenengo letra bihurtzeko.
Beraz keykey [0] besterik ez da lehenengo letra edozein dela kateari ari, izatea dugu
ere ari gara pasatzen.
Hori bihurtzeko gara ari goiko, eta maiuskulaz A arabera ari gara kenduz,
beraz, zertan ari den guztia zenbaki bat emango digu
bertan, gure balioak hash dezakegu kalera.
>> Eta gero ari gara joan itzultzeko hash modulua SIZE.
Kontuz, oso kontuz , zeren teorikoki, hemen
Zure hash balioa infinitua izan daiteke.
Besterik ez du joan eta on.
Batzuk izan liteke benetan, benetan balio handiek,
baina zure hash taula hori delako zuk sortutako 26 indizeak besterik ez ditu,
Ziur egin nahi duzu zure modulusing, beraz,
ez run bera da Gauza zure Ilara gisa
beraz, ez duzula exekutatu off the Hash funtzioa behealdean.
>> Inguruan biltzeko itzuli nahi duzu [INAUDIBLE] denean ere modu berean
Izan oso baten antzera, Gutun oso handiak, zuk
maitatu ez den besterik exekutatu amaieran off.
Gauza bera hemen, ziur egin nahi duzu Ez du exekutatu off biltzeko amaieran
taula gainean jartzen da eta.
Oso Beraz baino ez da hash funtzio sinple.
Guztiak hori egin zen, hartu lehenengoa Gure sarrera edozein dela gutunean zen
eta piztu duten indize bat sartu dela gure hash taula sartu dugu jarri daiteke.
>> Bai, eta, beraz, lehen esan dudan bezala, modu horretan talkak konpontzeko dugu
Gure hash ere, mahaiak izaten ari , zer deitzen dugun kateatzea.
Beraz anitz sartzen saiatzen bazara Gauza bera hasi duten hitzak,
egiaztapen balio bat izan da joan zaren.
Avocados eta sagarra, dut ez baduzu exekutatu gure hash funtzioa bidez,
ari zaren emateko joan kopuru bera, 0-kopurua.
Eta beraz, modu konpontzeko dugun ezin dugula benetan mota horiek lotzeko
Elkarrekin lotuta zerrendak bidez.
>> Eta, beraz, zentzu honetan, you guys mota ikusiko
ren datuen egitura zein dagoela izan dugu aldez aurretik ezartzeko
lotuta raisin zerrenda bailitzan elkarrekin etorri ahal bakar batean.
Eta gero, orain arte sor dezakezu Datu-egitura eraginkorragoa
Hori kopuru handiagoa kudea dezake datuak, hori dinamikoki tamainaz arabera
Zure beharren.
Guztiek argi?
Guztiek argi mota zer gertatzen da hemen?
>> To insert-- nahi nuen zer da bat hori, ez dakit batekin hasten fruta,
B, txarrak baino beste, banana.
>> Ikusleak: Blackberry.
>> ANDI Peng: Blackberry, masusta.
Non dugu masusta hemen?
Beno, ez dugu benetan ez ordenatuko hala ere, hau, baina teorikoki
hori izatea nahi badugu alfabetoaren ordenan,
non joan Blackberry behar?
>> Ikusleak: [INAUDIBLE]
>> ANDI Peng: Zehazki, hemen gaude, ezta?
Baina oso zaila da geroztik reorder-- asmatzen dut you guys gehienez.
Zaudete ahal erabat ezartzea nahi duzuna.
Modu eraginkorragoa Hori egitean, beharbada
Zure lotuta ordenatzeko litzateke alfabetoaren ordenan sartu zerrendatu,
eta, beraz, ez zara Gauzak sartuko, nahi duzun
Ziur horiek txertatu ahal izateko alfabetoaren ordenan sartu
beraz, gero zaudenean Horietako bilatu nahian,
ez duzu guztia zeharkatzeko.
Zehazki non Badakizu da, eta errazagoa da.
>> Baina ez baduzu, mota horretako Gauzak ausaz tarteka,
Oraindik behar joan egiten Mediaz zeharkatzeko.
Eta, beraz, nahi izanez gero, besterik gabe, masusta hemen txertatu
eta bilatu nahi dut , da, badakit, ai, masusta
1. indizea batekin hasi behar du, beraz, I Badakizu berehala 1 bakarrik bilatu.
Eta gero, mota ezin dut Zerrenda lotuta zeharkatuko
Blackberry lortu arte, Eta gero bai?
>> Ikusleak: nahi create-- saiatzen ari bazara Suposatzen dut horrelako hash oso erraza da
funtzioa.
Eta egin nahi badugu atsegin duten geruza bat baino gehiago,
Ados, to banatu nahi dugu alfabetikoan letrak guztiak bezala
eta, ondoren, berriro beste multzo gustatzen horren barruan letrak alfabetikoa,
ari jarriz hash bat bezala dugu hash taula bat barruan mahai,
edo funtzio baten barruan funtzio bat bezala?
Edo da -bere
>> ANDI Peng: Beraz, zure hash funtzio hash taula
handiak bezala izan daiteke, nahi duzun bezala.
Beraz, zentzu honetan, pentsatu nuen Oso erraza izan da, oso
Niretzat erraza da, besterik gabe, ordenatu oinarritutako lehen hitza hizkiak orrian.
Eta beraz, aukera ez da bakarrik 26.
26 Aukera bakarra dut ahal 0 eta 25 bakarrik ezin dutelako
A-tik Z hasten Baina nahi baduzu gehitu, agian, konplexutasun gehiago
denbora edo azkarragoa zure Hash taula, erabat
gauza mota guztiak egin dezake.
Zeure egin dezakezu hori ematen dizu ekuazioa
in banaketa gehiago zure Hitzak, orduan duzunean bilaketa,
Da azkarragoa izango da.
>> Da erabat mutil eman nola hori martxan jarri ahal izateko nahi duzun.
Pentsa kuboak bezalaxe.
Izan banu 26 ontzi daude, noa
kuboak horietan sartu gauzak ordenatzeko.
Baina ez naiz mordo bat izan behar da ontzi bakoitzean, gauza,
egin nahi izanez gero, beraz, azkarragoa eta eraginkorragoa,
utzi dute me, ehun ontzi daude.
>> Baina orduan irudikatu nahi bat duzu horrela gauzak ordenatzeko beraz diren
egoki ontzi batean izan beharko lukete.
Baina orduan, benetan ontzi hori begiratu nahi,
da asko azkarrago ez delako ontzi bakoitzean gauza gutxiago.
Eta, beraz, bai, hori da benetan pset5 mutilak duzu trikimailu
dela zaizu Zalantzan jarri besterik sortu nahi
edozein dela ere, eraginkorrenak Funtzio dezakezu uste izan
gordetzeko eta balio horiek egiaztatu ahal.
>> Guztiz duzu mutil eman Hala ere egin nahi duzu,
baina hori puntu bat oso ona da.
Hori logika mota duzu pentsatzen hasi nahi
da, bai, zergatik ez kuboak gehiago egin nuen.
Eta gero, bilatu behar dut Gauza gutxiago, eta, ondoren, agian I
ezberdinak hash funtzio bat izan.
>> Bai, ez dago hau egiteko modu asko dago pset, batzuk besteak baino azkarrago.
Naiz erabat besterik ikusi nola joan azkarrena you guys zen azkarra izango
izan zure funtzio lortzeko lan egiteko gai.
Ados, guztiontzat ona kateatzea eta hash taulak?
Egia esan, oso sinple bat bezala Kontzeptu horri buruz uste duzu bada.
Guztiak den da banantzen edozein dela Zure sarrera kuboak sartu dira,
horiek ordenatzeko, eta orduan bilatzen Hori ez da lotutako zerrendak.
>> Cool.
Ondo da, orain, beste mota bat behar dugu Datuen egitura zuhaitz bat deitzen.
Goazen, eta saiatzen buruz hitz egin Zein dira desberdinak,
baina kategoria berean.
Funtsean, zuhaitz bat guztien ordez datu antolatzeko modu lineal batean
hash taula bat dagoela honek, zuk ezagutzen, baina da goiko eta beheko bat
eta gero, mota horretako lotzen it bat off zuhaitz erro deitu gora ditu,
eta, ondoren, guztiak bere inguruan hosto ditu.
>> Eta orain guztia hemen duzu besterik goiko nodoa
puntu beste nodoak, puntu hori nodo gehiago izateko, eta abar eta abar.
Eta, beraz, besterik ez duzu splitting adarretan.
Ezberdinak antolatzeko modu bat besterik ez da datuak, eta zuhaitz baten deitzen duguna delako,
just you guys besterik ez da modelatu egindako zuhaitz baten itxura.
Hori dela eta, zuhaitzak deitu dugun.
>> Hash taula mahai baten itxura du.
Zuhaitz bat besterik zuhaitz baten itxura.
Guztiak den da bereizi bat nodes antolatzeko modu
zein den zure beharrak kontuan hartuta.
>> Beraz, erro bat duzu, eta ondoren, hostoak duzu.
Bide batez, bereziki, ahal dugun Uste buruz zuhaitz bitar bat da,
Zuhaitz bitar bat besterik ez da Zuhaitz baten mota jakin
Nodo bakoitzak puntu bakarra ra, gehienez ere, beste bi nodo.
Eta beraz, hemen desberdin izan duzu Zure zuhaitz batean simetria
horri esker, errazagoa da, mota horretako begiratu da zer baloratzen at dira, ondoren duzulako
dute beti ezkerreko edo eskuineko bat.
Ez da inoiz ezkerretik hirugarren bat bezala ezkerrera edo ezkerretik hasita laugarren bat.
Besterik ezkerreko eta eskuineko bat duzu eta bi horiek bai, bilatu dezakezu.
Eta beraz, zergatik da erabilgarria?
Bide batez, hori da, erabilgarria da bilatzen ari zaren bada
balioen bidez bilatu, ezta?
Baizik binary gauzatzeko baino bilatu error array batean,
nodes txertatu ahal izatea nahi izanez gero eta kentzen nodes borondatea eta, era berean,
Bilaketa zaintzeko bilaketa bitarra arteko ahalmena.
Beraz, modu honetan, ez gara motatako tricking-- gogoratzen dugunean
esan lotuta zerrendak ezin bilaketa bitarra?
Oraindik datu-egitura bat motatako sortzeko dugu trikimailuak hori sartu lanean.
>> Eta beraz, lotuta baitago zerrendak lineala, bakarrik bata bestearen atzetik lotzen dute.
Mota ahal izan dugu erakusleak moduko ezberdinak
nodo ezberdinak puntu horretan duten lagun diezaguke bilaketa batera.
Eta beraz, hemen, nahi izanez gero binary bilaketa zuhaitz bat dute,
Badakit 55 bada nire erdiko dagoela.
Besterik ez naiz hori sortzen joan nire erdiko gisa, nire root bezala,
eta ondoren, naiz izan joan balioak hortik spin off.
>> Hortaz, hona hemen, naiz bilatu asmoa izanez gero 66 balioa, 55 etan ezin dut hasteko.
Da 55 baino 66 handiagoa?
Bai, hain Mus bilatu dut ezagutzen dut i n Zuhaitz hau erakuslea eskubidea.
Go 77ra dut.
Ados, 66 baino gutxiago edo 77 baino handiagoa?
It baino gutxiago, beraz, badakizu, oi, duela ezker nodo izan nahi du.
>> Eta beraz, hemen zu mota kontserbatzeko dugu Array buruz gauza handia guztia,
beraz, tamaina aldaketa dinamikoak bezala objektuen, baloia
txertatzeko eta borondate ezaba ditzake, finkatuta kezkatu beharrik gabe
espazioaren zenbatekoa.
Oraindik guztia gorde dugu Gauza horiek zoragarriak
halaber zaintzeko gai izan bitartean saioa eta bilatu bilaketa bitarra ordua
bakarrik izan ginen aurrez Esaldi bat lortzeko gai.
>> Cool datu-egitura, mota , ezartzea konplexua den nodoaren.
Ikusten duzun bezala, dena nodoaren struct da
da ezker baduzula eta eskuineko erakuslea.
Hori guztia da.
Beraz, baizik eta, besterik gabe, baino x batekin edo aurreko bat izatea.
Ezker edo eskuineko bat, eta gero egin behar duzu mota dezakezu, lotu itzazu elkarrekin
Hala eta guztiz ere, orain aukeratu duzu.
>> Ados, benetan ari gara joan besterik minutu batzuk hartu.
Beraz, hemen itzuli egingo da.
Aurretik esan dudan bezala, Motatako azaldu nuen
Nola egiten dugu atzean logika honen bitartez bilatu litzateke.
Saiatu goaz out hau pseudocoding ikusi
mota ezin dugu bada aplikatzen du bilaketa bitarra logika horren
Datuen egitura mota desberdin bat da.
Zuk mutil pare bat bezala hartu nahi baduzu minutu besterik hau pentsatzen.
ONDO DA.
Ondo da, ez dut joan benetan besterik eman ez the-- duzu,
pseudocode buruz hitz egingo dugu lehenengo.
Beraz, ez du inor nahi labankada bat eman nahi zer
egiten denean nahi duzun lehenengo gauza hasten zaren bilatzen da?
Guk nahi baduzu 66 balioa, zer da
Lehenengo eta behin, bada egin nahi dugu bilatu zuhaitz bitar honetatik nahi dugu?
>> Ikusleak: eskuinera begiratu nahi duzun eta begiratu ezker eta ikusi [INAUDIBLE]
kopuru handiagoa.
>> ANDI Peng: Bai, hain zuzen.
Beraz, behar duzu zure erro begiratu joan zaitezke.
Ez da modu dei dezakezu asko bertan, zure nodo nagusi jendeak esaten.
Erro esan nahi duelako gustatzen zait zuhaitzaren erroa bezalakoa da.
Begiratzen ari zara Zure root node, eta zauden
ikusi behar da 66 handiagoa edo baino 55 baino gutxiago.
Eta baino handiagoa da, bada, ondo, hau da baino handiagoa, nora begiratu nahi dugu?
Orain, nora bilatu, eskubidea nahi dugu?
Bilaketa egin nahi dugu eskuineko zuhaitz horren erdia.
>> Beraz, ez dugu izan, modu eroso batean erakuslea duten eskubidea darama.
Eta, beraz, ondoren, ezarri ahal izango dugu gure erro berria 77 izango da.
Bakarrik joan ahal lekuan erakuslea norabidean.
Beno, ai, hemen hasten ari gara 77 etan, eta besterik ezin dugu
Horretarako errekurtsiboki behin eta berriro.
Modu honetan, mota duzu izan funtzio bat.
Duzun hori bilatzen modu bat duzu errepikatu ahal baino gehiago eta gehiagoko baino gehiago,
non begiratu nahi duzun arabera Azkenean duzun balioa lortu arte
Bilatzen ari zaren hori.
Zentzurik?
>> Erakutsiko benetako behar banintz kodea, eta kode asko da.
Freak Ez da beharrezkoa.
Bidez hitz egingo dugu.
>> Egia esan, ez.
Hori besterik pseudocode zen.
Ados, hori besterik pseudocode zen, horrek apur bat konplexua da,
baina guztiz fina da.
Guztiek batera jarraituz hemen?
Erro null bada, itzulera faltsua bitarteko hori delako
Are gehiago, ez duzu ezer ez.
>> Erro n balioa, hala bada baldin bada Gertatzen bat bilatzen ari zaren izan nahi du,
orduan goazen egia itzuli badakizu delako aurkitu duzu.
Baina balioa da gutxiago bada n erro baino, zaren
ezkerreko bilatu joan Seme-alaba edo ezkerreko hosto,
deitu nahi duzuna.
Eta balio du erro baino handiagoa bada, eskuineko zuhaitz bilatu joan zaren,
orduan besterik funtzioa exekutatu bilaketa bidez berriro.
>> Eta erro null bada, hori dela esan nahi du iritsi amaieran?
Horrek esan nahi al du hostoak gehiago bilatu,
gero, badakizu, ai, I asmatzen ez da hemen ere
bidez begiratu nuen nik ondoren delako gauza osoa eta ez da hemen,
agian besterik ez izatea hemen.
>> Ez duela zentzurik denek nahi?
Beraz, bilaketa bitarra kontserbatzeko bezala zerrendak lotutako gaitasunak.
Cool, eta, beraz, bigarren mota Datuen egitura you guys
Zure pset ezartzeko dastatu ahal izango, Metodo bat aukeratu besterik ez duzu.
Baina agian, metodo alternatibo bat Hash taula zer trie bat deitzen duguna.
>> Trie bat All da bat zuhaitz-mota berezi horretan
beste balio joaten diren balioak ditu.
Beraz bitar bat izan beharrean Zentzu zuhaitz bat besterik ez
Gauza bi seinalatu, eduki ditzakezu askotan, gauza asko, gauza bat puntu.
Funtsean, arrayak horietatik gordetzeko duzu barruan
beste arrayak apuntatzen dituzten erakusleak.
>> Beraz, nola dugu nodoa trie bat definitzen litzateke
da bat izatea nahi dugu Boolean, c hitza, ezta?
Beraz nodoaren Boolean da egia edo gezurra bezala,
lehenik eta behin buru da Array horretan, hau da, hitz bat?
Bigarrenik, erakusle izan nahi al duzu edozein dela ere, gainontzekoek dira.
Pixka konplexua da, abstraktu samarra da, baina Azalduko dut zer esan nahi duen guztiak.
>> Hortaz, hona hemen, goiko aldean, baduzu array bat deklaratu dute dagoeneko,
Nodo bat non boolear bat behar duzu aurrealdean gordetako balioa
Hori kontatzen hau da, hitz bat?
Hau al da hitzik ez?
Eta gero etorri behar duzu Zure array gainerako dagoela
benetan gordetzen guztiek du zer izan zitekeen posibilitatea.
Beraz, adibidez, bezalako goialdean duzu
esaten duen egia edo lehenengo gauza faltsua, bai edo ez, hau hitz bat da.
>> Eta orduan duzu 0tik 26 bidez Letrak gorde ahal izango duzu.
Hemen bilatu nahi badut Bat, joan goian dut
eta B. begiratu nuen B aurkitu dut nire array, eta beraz, badakit, OK, B hitz bat da?
B ez da hitz bat, beraz, beraz, Irizpide horiek mantendu behar dut.
Go B dut, eta begiratu behar dut erakuslea B bidean puntu
eta informazio-sorta bat ikusi nuen, egitura bera dela aurretik izan genuen.
>> Eta hemen ai, hurrengoan [INAUDIBLE] letra A. da
Beraz, array hori ere aztertuko dugu.
Zortzigarren balio aurkituko dugu, eta, ondoren, ikusi dugu, ai,
beno, ez da hitz bat, hitz bat B-A da?
Ez da hitz bat.
Lortu dugu bila mantentzeko.
>> Eta, beraz, ondoren, begiratu nora dugu puntu A erakuslea,
zioan beste modu bat da haren balio gehiago gordetzen ditugu.
Eta azkenean, iritsi garen B-A-T, bertan hitz bat da.
Eta, beraz, hurrengo aldian begiratuz, bazoazela
ren, bai txeke hori izatea, funtzio boolear hori egia da.
Eta beraz zentzuan nolako gaude array zuhaitz bat izatea.
>> Beraz, ondoren, mota horretako bilatu dezakezu behera.
Baizik funtzio bat osatzerakoan baino eta balioen zerrenda lotuta arabera esleitzea,
besterik dezakezu ezartzea a trie duten downwords bilatzen ditu.
Benetan, oso konplikatua stuff.
Naiz bezalakoa delako pentsatu ez erraza Datu egiturak hainbeste tu egindako
at, baina denek ez motatako honen logikak nola funtzionatzen duen ulertzeko?
>> Ados, cool.
Beraz, B-A-T, eta, ondoren, bilatu joan zaren.
Ari zaren hurrengo aldian ikusi, oh, beno, egia da,
beraz, ezagutzen dut hitz bat izan behar du.
>> Zoologiko gauza bera.
Beraz, hemen gauza da oraintxe, badugu bilatu zoo, oraintxe nahi,
Une zoologiko ez da Gure hiztegian hitza
, zeren Ikus dezakezuenez bezala, Hori boolear bat behar dugu lehen postua
zoom bukaeran itzuliko da egia.
Z-O-O-M daukagu.
>> Eta beraz, hemen, ez dugu benetan dute hitza, zoologiko, gure hiztegian
Kontrol-lauki hau ez bada markatzen duelako.
Beraz, ordenagailua ez du Badakizu zoologiko Hitza da
delako modu hori dugu gorde zuen, zoom bat bakarrik hemen
benetan balio boolear bat badu hori aktibatuta egia.
Beraz txertatu nahi badugu hitza, zoologiko, gure dictionary sartu,
nola litzateke hori egiten al dugu?
Zer ez ziurtatu egin behar dugu gure ordenagailua daki Z-O-O Hitza da
eta ez lehen hitza Z-O-O-M da?
>> Ikusleak: [INAUDIBLE]
>> ANDI Peng: Zehazki, dugu Ziur hori egin nahi
Hemen, balio boolearrak dela hautatuta off egia dela.
Z-O-O, ondoren, goazen dela egiaztatu egingo, beraz, badakigu zehazki, beno, zoologiko hitz bat da.
Kontatzeko noa ordenagailua hitz bat da, beraz,
denean ordenagailu egiaztapen hori, zoologiko duten hitza da daki.
>> Delako gogoratzen datu horiek guztiak egiturak, guretzat oso erraza da
, esan oi, bat hitz bat da.
Zoo hitz bat da.
Zoom hitz bat da.
Baina, noiz eraikitzen ari bazara, Ordenagailua ez daki.
>> Beraz, zehazki esan behar duzu zer puntutan dagoen honetan hitz bat?
Zer amaitzen ez da hitz bat?
Eta zer puntutan egin nuen gauzak bilatu behar,
eta zer puntutan egin hurrengo joan behar dut?
Guztiek horren argi?
Cool.
>> Eta, beraz, ondoren datorren arazoa nola genuke
Zerbait txertatzeak buruz joan Hori da benetan ez dago?
Hargatik, besterik gabe esan txertatu nahi dugu hitza, bainu, gure trie sartu.
You guys Une bezala ikusi daitekeen bezala guztiak orain dugu B-A-T,
eta datu-egitura berri hau ez pinta bat izan dela
null adierazi dugu suposatuko duelako , oh, ez dago B-A-T ondoren hitzik,
zergatik mantendu behar dugu T. horren ondoren gauza izatea
>> Baina arazoa sortzen duzu egiten badugu horren ondoren dator hitz bat izan nahi
T en.
Bainu bat baduzu, Oraindik H eskuineko bat nahi du.
Eta beraz, modu hori egin behar dugu, Aparteko nodo bat sortu behar dugu.
Ez dugu edozein dela ere zenbatekoa allot array berri honen oroimenaren,
eta horretan ari gara erakusleak berriro ezar joan.
>> Esleitu goaz H, ezer baino lehen, null honetan,
to kentzeko goaz.
Izan goaz H puntu behera.
H bat ikusten badugu, nahi dugun nonbait joan.
>> Hemen ere, dugu, ondoren, egiaztatu off bai daiteke.
H hit badiogu T ondoren, ai, orduan jakin dugu hori hitz bat da.
Boolean da egia itzuli.
Denek nola gertatu zen, argi eta garbi?
ONDO DA.
>> Beraz, funtsean, guztiek Datu-egitura horiek
Gaur bertan izango dugu desagertu dut, Dut horien gainetik joan da benetan, oso azkar
eta ez da hainbeste urtean Zehatz-mehatz, eta hori ondo dago.
Aldatzeari hasten zarenean horrekin batera, izango izango duzu
jarraipena non erakusleak guztiak dira,
zer gertatzen den zure Datu-egitura, eta abar.
Oso erabilgarria izango dute, eta sortu nahi da
mutil erabat irudikatu nola Gauzak martxan nahi duzun.
>> Eta beraz pset4, of 5-- ai, hori ez da zuzena.
Pset5 Akatsik da.
Lehen esan dudan bezala, joan zaren, behin Berriro, deskargatu kodea gugandik.
Badira hiru nagusia izango da Gauza deskargatzen ari zara.
Hiztegiak deskargatuko duzu, elebakarrak, eta testuak.
>> Gauza horiek guztiak dira edo hitzen hiztegiak
den egiaztatu nahi dugun edo informazio proba
check ortografia duzu nahi dugula.
Eta orain hiztegiak du zoazen gehiago
zuk nahi dugun benetako hitzak emateko nolabait gordetzeko modu bat da hori ere
array bat baino gehiago eraginkorra.
Eta gero, testuak dira zer ari gara izango da
zuk galdetzen ortografia egiaztatu ziur hitz hauek guztiak ez dira benetako hitzak dira.
>> Eta beraz, hiru bloke hori ematen dizugu programak
dictionary.c deitzen dira, dictionary.h, eta estrategia.
Eta beraz dictionary.c guztia egiten ari da zer eskatuko zaizu ezartzea.
Hitz kargatzen da.
Egiaztapen ortografia horiek, eta ziur egiten du Dena behar bezala sartuta dagoela.
>> diction.h liburutegia fitxategi bat besterik ez da duten funtzio horiek guztiak adierazi du.
Eta estrategia, gaude emateko egingo.
Zuk ez duzu ezer aldatzeko.
Estrategia All du hartzen da, karga ezazu, abiadura egiaztatzen,
nola bezalako erreferentzia probak Azkar gauzak egiteko gai bazara.
>> Speller bat da.
Just ez nahastea da, baina egin Ziur zer egiten ari da ulertu behar dituzu.
Izeneko funtzio getrusage erabiltzen ditugu Zure sorginkeria errendimendua probak
checker.
Guztiak egiten ari da, batez ere probatu du Hiztegi guztia ordua,
beraz, ziurtatu ulertzen.
Kontuz ibili nahaspila ez berarekin edo beste gauza ez da ondo exekutatu.
>> Eta erronka horri ontziratu da you guys benetan dictionary.c aldatzeko.
Ematen goaz 140.000 hitz hiztegi batean.
Duzun testu bat eman goaz fitxategi hori hitz horiek ditu,
eta antolatzeko gai izan nahi dugu hash taula bat edo trie bat sartu horiek
duzunean ortografia eskatu dugulako imajinatu check Oraindik sorginkeria bada
Homeroren Odisea bezala egiaztatuz.
Da, test handi handi hau bezalakoa da.
>> Single guztietan bada Imajinatu begiratu izan duzun hitza
140.000 balioen sorta baten bidez.
Betiko hartuko luke zure makina exekutatu.
Horregatik, gure antolatu nahi dugu Datu-egitura eraginkorragoa datuak
hala nola hash taula bat edo trie bat bezala.
Eta gero uzten dizuegu mota Sarbide bilatu zuetako
Gauzak errazago eta azkarrago.
>> Eta beraz, kontuz ibili talkak konpontzeko.
Mordo bat eskuratu behar duzu A. batekin hasten hitzetan
Tropela hitz bat lortzeko ari zara Hori B. batekin hasi Up duzu
nola nahi duzun mutil hura konpontzeko.
Agian ez da gehiago hash funtzioa eraginkorra
besterik lehenengo letra baino zerbait, eta, beraz, hori eman nahi
mota egin guys nahi duzuna.
>> Agian gehitu nahi duzun Hizki guztiak elkarrekin.
Agian atsegin gauza bitxi egin nahi duzu letren kopurua kontuan,
edozein dela ere.
Nola egin nahi duzu guys sortu nahi duzun.
Hash taula bat egin, nahi izanez gero, nahi baduzu trie bat saiatzeko, erabat sortu nahi.
Ohartu egingo dizut aurretik denbora hori du trie da normalean apur bat zailagoa
Han asko da, besterik ez delako erakusleak gehiago segimendua egiteko.
Baina erabat mutil eman.
Da askoz eraginkorragoak instantzia gehienetan.
Benetan izan eusteko gai nahi duzu Zure erakusleak guztien jarraipena.
Like gauza bera egin Hemen egiten zidaten.
Sartu saiatzen ari denean hash taula batean balio edo ezabatu
ziurtatu zarela Pista benetan mantenduz
non dena delako da benetan ari naiz, bada, erraza izango da
hitza, Andy bezalako txertatu nahian.
Dezagun esan hori bat benetako hitza, hitza, Andy,
Hitzak A zerrenda erraldoi batean.
>> Gertatuko dut besterik bada berriro ezar erakuslea oker bat, trabatzen,
ez osorik doa nire zerrenda lotutako gainerako.
Orain hitz bakarra dut izan andy da, eta, orain,
beste hitz guztia hiztegi galdu egin dira.
Eta beraz, ziurtatu egin nahi duzu Zure erakusleak guztien segimendua
edo, bestela, lortu duzu Zure kodea arazoak handi.
Marraztu gauzak arretaz pausoz pauso.
Errazagoa asko pentsatu egiten du.
>> Eta, azkenik, gai izan nahi duzun Zure programaren performance probatzeko
big taula.
You guys hartu bada CS50 begiratzen oraintxe,
zer ari handi taula deitzen dugun.
Puntuazio azkarrena maindirea da ortografia egiaztatzen aldiz CS50 guztietan
oraintxe, 10 bezalako goian uste dut aldiz, uste dut horietako zortzi langile daude.
Benetan duzu guys gurekin beat nahi dugu.
>> Guztiok ezartzea ziren, dudarik gabe Kodea azkarrena ahalik.
Zuk mutil erronka saiatu nahi dugu gu eta gu guztiok baino azkarrago ezartzeko
ahal.
Eta, beraz, hau da benetan Oraindik dugun lehen aldia
you guys eskatuz pset bat egin nahi duten benetan ahal izango duzuna metodoa egin
Nahi izanez.
>> Nik beti esaten dut, hau da, gehiago Akin benetako bizitza irtenbide bat da, ezta?
Lehen esan dizudan beno, hori egiteko behar dut.
Eraiki egiten duen hori niretzat programa bat.
Egizu Hala ere nahi duzun.
Ezagutzen dut azkar nahi dut.
Hori da zure erronka aste honetan.
Zaudete, goazen egiteko batean emateko.
Erronka bat ematen ari gara.
Eta gero, you guys da besterik erabat irudikatu
Zer da azkarrena eta gehien hau ezartzeko modu eraginkorra.
Bai?
>> Ikusleak: dugu onartzen dira nahi izanez gero modu azkarrago ikertu nahi izan
hash taulak egin online, egin dezakegu hori eta aipatu norbaiten kodea?
ANDI Peng: Bai, guztiz fina.
Beraz, you guys irakurri du zehaztapenak, lerro bat
zehaztapenak you guys dela dio dira guztiz doan hash ikertzeko
zer dira zenbait funtzio hash funtzio azkarrago
bezala bidez gauzak exekutatu luze kodea duten aipatu duzun bezala.
Beraz, pertsona batzuk jada hurrena modu azkarra
sorginkeria zuzentzaileak egiten, azkar Informazio gordetzeko modu.
Guztiz duzu mutil bat ireki nahi izanez gero besterik hartu duten nahi, ezta?
Ziurtatu aipatuta zaren.
Erronka hemen benetan Hori probatzeko saiatzen ari gara
da ziur badakiela egiteko Zure bide erakusleak inguruan.
Orain arte bezala, zuk ezartzea benetako hash funtzioa
eta datozen bezalako math hori egin ahal izateko,
you guys ikertu ahal whatever metodo online duzu guys nahi.
Bai?
>> IKUSLEEN: besterik ez dugu aipatuko [INAUDIBLE] erabiliz?
>> ANDI Peng: Bai.
Besterik dezakezu, zure iruzkina, bezala, oh aipatu ahal izango dituzu,
Yada tomado, Yada, Yada, hash funtzioa.
Edonork edozein galdera?
Benetan breezed dugu atal bidez gaur.
Eman hemen izango dut galderei erantzungo baita.
>> Era berean, esan dudan bezala, bulego orduz gauean eta bihar.
Zehaztapenak aste honetan benetan super erraza eta super laburrak irakurtzeko.
Begirada bat hartu nuke, besterik ez da oso-osorik irakurri.
>> Eta Zamyla benetan ibiltzen funtzio bakoitzaren bidez
ezartzea behar duzu, eta beraz, oso, oso argi dena nola egin.
Just ziur zaudenean egiteko erakusleak jarraipena.
Hau oso erronka pset bat da.
>> Ez da delako erronka bezala, Oh, kontzeptuak hain dira askoz gehiago
zaila, edo ikasi behar duzun Hainbeste berria sintaxia modu
azken pset egin duzula.
Pset hau zaila delako daude erakusleak hainbeste,
eta, ondoren, oso, oso erraza da behin zure kodea akats bat dute gai ez izatea
non akatsa da aurkitu.
>> Eta beraz, oso eta zuk fedea utter Mutil gure [INAUDIBLE] gainditzeko gai izango den
grafia.
Egia esan, ez daukat inolako idatzitako mine oraindik, baina nirea idatzi behar banintz.
Beraz, idazten ari zaren bitartean handiz, idaztea dut nirea.
Saiatuko noa Nirea zurea baino azkarrago.
Ikusiko dugu nor azkarrena ditu.
>> Eta bai, guztiak ikusteko aukera izango dut Hemen asteartean mutil duzu.
Pset tailer bat bezala mota bat egingo dut.
Atal guztiak hau Aste pset tailerrak dira,
beraz, aukera asko duzu guys laguntza, bulego orduetan, beti bezala,
eta benetan begiratu dut aurrera Zure mutil 'kode guztia irakurtzen.
Galdetegiak daukat up gero hemen Mutil lortu dutenentzat etorri nahi.
Hori da dena.