>> [Muzika]
>> ANDI Peng: MirĂ« se vini nĂ« javĂ«n e 3 tĂ« seksionit.
Thanks, ju djema, pĂ«r tĂ« gjithĂ« qĂ« vijnĂ« nĂ« kĂ«tĂ« kohĂ« mĂ« parĂ« tĂ« fillojĂ« sot.
Ne kemi marrĂ« njĂ« e bukur, pak intime grup sot.
Pra, shpresojmĂ« se ne do tĂ« merrni pĂ«r pĂ«rfundojĂ«, ndoshta, nĂ« fillim,
pak mĂ« herĂ«t sot.
NĂ« mĂ«nyrĂ« tĂ« shpejtĂ«, vetĂ«m disa njoftimet pĂ«r rendin e ditĂ«s sĂ« sotme.
Para se tĂ« fillojmĂ«, ne jemi do tĂ« vetĂ«m tĂ« shkuar mbi
disa Ă§Ă«shtje shkurtĂ«r logjistike, pset pyetje, Debrief, gjĂ«ra tĂ« tilla si se.
Dhe pastaj ne do tĂ« zhyten tĂ« drejtĂ« nĂ«.
Ne do tĂ« pĂ«rdorim njĂ« Rregullues tĂ« quajtur Gdb tĂ« fillojnĂ« hedhur poshtĂ« kodin tonĂ«, qĂ« Davidi
shpjegohet nĂ« leksionin e tĂ« tjera ditore.
Ne do tĂ« shkojnĂ« mbi katĂ«r llojet e terezi.
Ne do tĂ« shkoj pĂ«r ta shumĂ« shpejt pasi ata janĂ« mjaft intensive.
Por e di se tĂ« gjitha slides dhe Kodi burimor janĂ« gjithmonĂ« online.
Pra mos ngurroni, nĂ« lexim tuaj, pĂ«r tĂ« shkojnĂ« prapa dhe tĂ« marrĂ« njĂ« vĂ«shtrim nĂ« atĂ«.
>> Ne do tĂ« kalojnĂ« nĂ«pĂ«r simbol asymptotic, e cila
Ă«shtĂ« vetĂ«m njĂ« mĂ«nyrĂ« e sofistikuar i thĂ«nĂ« se "runtimes"
ku ne kemi O madh, i cili David shpjegoi nĂ« leksion.
Dhe ne gjithashtu kemi Omega, e cila Ă«shtĂ« i detyruar Runtime tĂ« ulĂ«t.
Dhe ne do tĂ« flasim pak mĂ« shumĂ« nĂ« thellĂ«si nĂ« lidhje me se si kĂ«to punĂ«.
Dhe nĂ« fund, ne do tĂ« shkojnĂ« mbi kĂ«rkimin binar, sepse njĂ« shumĂ« prej jush tĂ« cilĂ«t kanĂ« tashmĂ«
lĂ«shoi â€‹â€‹nĂ« psets tuaj ndoshta e dini se kjo Ă«shtĂ« njĂ« pyetje qĂ« Ă«shtĂ« nĂ« pset tuaj.
Pra, ju do tĂ« gjithĂ« tĂ« jenĂ« tĂ« lumtur qĂ« ne tĂ« mbuluar kĂ«tĂ« sot.
>> Dhe sĂ« fundi, pĂ«r tuaj seksion reagime, unĂ« nĂ« fakt
lĂ«nĂ« rreth 15 minuta nĂ« nĂ« fund tĂ« shkojnĂ« vetĂ«m mbi
logjistika e pset3, ndonjĂ« pyetje, ndoshta pak e udhĂ«zimit, nĂ« qoftĂ« se ju do tĂ«,
para se tĂ« fillojmĂ« programimin.
Pra, le tĂ« pĂ«rpiqen pĂ«r tĂ« marrĂ« me anĂ« tĂ« materiali shumĂ« shpejt.
Dhe pastaj ne mund tĂ« kalojnĂ« disa kohĂ« duke marrĂ« shumĂ« pyetje pĂ«r pset.
NE RREGULL.
>> Shpejt, kĂ«shtu qĂ« vetĂ«m disa Shpalljet e para se tĂ« fillojmĂ« sot.
SĂ« pari, tĂ« mirĂ«pritur pĂ«r tĂ« bĂ«rĂ« ajo pĂ«rmes dy psets tuaj.
Kam marrĂ« njĂ« vĂ«shtrim nĂ« your-- vĂ«rtet, le tĂ« marrĂ« njĂ« raund tĂ« duartrokitje pĂ«r kĂ«tĂ« njĂ« tĂ« tillĂ«.
NĂ« fakt, unĂ« kam qenĂ« me tĂ« vĂ«rtetĂ«, impresionuar me tĂ« vĂ«rtetĂ«.
UnĂ« vlerĂ«sohet pset parĂ« pĂ«r ju djema javĂ« dhe ju djema e fundit bĂ«ri pabesueshme.
>> Stil ishte nĂ« pikĂ«n pĂ«rveĂ§ disa komente.
Sigurohuni qĂ« ju jeni gjithmonĂ« komentuar kodin tuaj.
Por psets tuaja ishin nĂ« pikĂ«.
Dhe pĂ«r tĂ« mbajtur atĂ« lart.
Dhe kjo Ă«shtĂ« e mirĂ« pĂ«r grader nĂ« shihni se ju djema janĂ« vĂ«nĂ«
nĂ« sa mĂ« shumĂ« pĂ«rpjekje nĂ« stilin tuaj dhe dizajni juaj nĂ« kodin tuaj
qĂ« ne do tĂ« dĂ«shironim pĂ«r ju pĂ«r tĂ« parĂ«.
KĂ«shtu qĂ« unĂ« jam duke kaluar sĂ« bashku mirĂ«njohjen time pĂ«r pjesĂ«n tjetĂ«r tĂ« TAS.
>> MegjithatĂ« ka njĂ« Disa pyetje Debrief
UnĂ« vetĂ«m dua tĂ« shkojĂ« mbi atĂ« do ta bĂ«nte edhe jetĂ«n time
dhe shumĂ« tĂ« tjera Tas 'jeton pak mĂ« e lehtĂ«.
SĂ« pari, unĂ« kam vĂ«nĂ« re kĂ«tĂ« e kaluara week-- sa prej jush
kanĂ« qenĂ« nĂ« drejtimin check50 nĂ« Kodi tuaj para se tĂ« dorĂ«zojnĂ«?
NE RREGULL.
KĂ«shtu qĂ« tĂ« gjithĂ« duhet tĂ« bĂ«jnĂ« check50, because-- njĂ« secret-- ne fakt
drejtuar check50 si pjesĂ« e saktĂ«sisĂ« sonĂ« Scripts pĂ«r testimin kodin tuaj.
Pra, nĂ« qoftĂ« se kodi juaj Ă«shtĂ« i dĂ«shtuar check50, nĂ« tĂ« gjitha gjasat,
kjo ndoshta do tĂ« dĂ«shtojnĂ« kontroll tonĂ« si.
NdonjĂ«herĂ« ju djema kemi pĂ«rgjigjet e duhura.
Si, nĂ« babĂ«zitur, disa prej ju keni numrat e duhur,
ju vetĂ«m tĂ« shtypura nga disa gjĂ«ra ekstra.
Dhe kjo gjĂ«ra shtesĂ« nĂ« fakt dĂ«shton kontrolloni,
sepse kompjuteri nuk ka tĂ« vĂ«rtetĂ« e di se Ă§farĂ« Ă«shtĂ« nĂ« kĂ«rkim pĂ«r tĂ«.
Dhe kĂ«shtu ai thjesht do tĂ« kandidojĂ« pĂ«rmes, shihni se prodhimi juaj nuk ka
pĂ«rputhen me atĂ« qĂ« ne presim pĂ«rgjigje tĂ« jetĂ«, dhe tĂ« shĂ«nojĂ« atĂ« Ă«shtĂ« e gabuar.
>> Dhe unĂ« e di se ka ndodhur nĂ« disa prej rasteve tuaj kĂ«tĂ« javĂ«.
KĂ«shtu qĂ« u ktheva dhe me dorĂ« regraded kodin gjithĂ«ve.
NĂ« tĂ« ardhmen edhe pse, ju lutem, ju lutem sigurohuni
qĂ« ju jeni duke shikoni 50 nĂ« kodin tuaj.
PĂ«r shkak se ajo Ă«shtĂ« lloj i njĂ« dhimbje pĂ«r AT qĂ« tĂ« ketĂ« pĂ«r tĂ« shkuar mbrapa dhe me dorĂ« regrade
Ă§do pset vetme pĂ«r Ă§do vetme, shembull i vogĂ«l humbi.
KĂ«shtu qĂ« unĂ« nuk heq asnjĂ« pikĂ«.
UnĂ« mendoj se unĂ« u ngritĂ«n ndoshta njĂ« ose dy pĂ«r dizajn.
NĂ« tĂ« ardhmen edhe pse, nĂ« qoftĂ« se ju jeni dĂ«shtuar check50,
pikĂ« do tĂ« merret off pĂ«r korrektĂ«sinĂ«.
>> PĂ«r mĂ« tepĂ«r, psets janĂ« pĂ«r shkak premteve nĂ« mesditĂ«.
UnĂ« mendoj se ka njĂ«-minuta shtatĂ« Periudha e vonĂ« hiri qĂ« ne tĂ« ju jap.
PĂ«r kohĂ«n e Harvardit, ata janĂ« tĂ« lejuar pĂ«r tĂ« jetĂ« shtatĂ« minuta me vonesĂ« pĂ«r Ă§do gjĂ«.
KĂ«shtu qĂ« kĂ«tu nĂ« Yale, ne do tĂ« t'i pĂ«rmbahen se si.
Por shumĂ« e shumĂ«, nĂ« 12:07, nĂ«se pset juaj nuk Ă«shtĂ« nĂ«,
ajo do tĂ« jetĂ« e shĂ«nuar si vonĂ«.
Dhe kĂ«shtu, ndĂ«rsa ajo Ă«shtĂ« e shĂ«nuar si vonĂ«, TA-- unĂ« jam
ende do tĂ« jenĂ« tĂ« notimit psets tuaja.
Pra, ju do tĂ« shihni ende njĂ« notĂ« tĂ« shfaqet.
MegjithatĂ«, e di se nĂ« nĂ« fund tĂ« semestrit,
TĂ« gjitha psets vonĂ« do tĂ« jetĂ« vetĂ«m zero automatikisht nga kompjuteri.
>> Ne e bĂ«jmĂ« kĂ«tĂ« pĂ«r dy arsye.
NjĂ«, ndonjĂ«herĂ« ne tĂ« merrni falur, si justifikime Dean,
mĂ« vonĂ« se unĂ« nuk e di pĂ«r akoma.
Pra, ne si pĂ«r t'u siguruar qĂ« ne jemi nota Ă§do gjĂ« vetĂ«m nĂ« rast, si, unĂ« jam
mungon njĂ« justifikim Dekanit.
Dhe sĂ« dyti, tĂ« mbajtur nĂ« mendjen, ju prapĂ« mund tĂ«
bjerĂ« njĂ« pset qĂ« ka pikĂ« tĂ« plota fushĂ«veprimi.
Dhe kĂ«shtu ne si tĂ« klasĂ«s sĂ« tĂ« gjitha psets tuaj vetĂ«m
pĂ«r t'u siguruar qĂ« objekti suaj atje dhe ju jeni duke u pĂ«rpjekur ato.
Pra, edhe nĂ« qoftĂ« se Ă«shtĂ« vonĂ«, ju do tĂ« ende tĂ« merrni kredi pĂ«r pikĂ« fushĂ«veprimin, unĂ« mendoj.
>> Pra, morale e tregimit Ă«shtĂ«, tĂ« bĂ«jĂ« i sigurt psets tuaja janĂ« nĂ« nĂ« kohĂ«.
Dhe nĂ« qoftĂ« se ata nuk janĂ« nĂ« nĂ« kohĂ«, e di se kjo nuk Ă«shtĂ« e madhe.
Po, para se tĂ« lĂ«vizĂ«, ka njeri tĂ« ketĂ« ndonjĂ« pyetje nĂ« lidhje me reagimet e pset?
Po.
>> Audienca: A ju thonĂ« se ne mund tĂ« bjerĂ« njĂ« nga psets?
>> ANDI Peng: Po.
Pra, ka nĂ«ntĂ« psets pĂ«rgjithshme gjatĂ« semestrit.
Dhe nĂ« qoftĂ« se ju keni qĂ«llimin points-- kĂ«shtu Shtrirja Ă«shtĂ« vetĂ«m,
shumĂ« e shumĂ«, po pĂ«rpjekur Problemi, po vĂ«nĂ« nĂ« kohĂ«,
po ju tregon se ju keni demonstruar keni lexuar spekulim.
Kjo Ă«shtĂ« shumĂ« e shumĂ« fushĂ«veprimi.
Dhe nĂ«se ju jeni duke pĂ«rmbushur Pikat fushĂ«veprimi, ne
mund tĂ« bjerĂ« mĂ« tĂ« ulĂ«t njĂ« nga fushĂ«veprimit tĂ« plotĂ«.
Pra, kjo Ă«shtĂ« nĂ« avantazhin tuaj pĂ«r tĂ« pĂ«rfunduar dhe tĂ« pĂ«rpiqemi Ă§do pset.
>> Edhe upload-- qoftĂ« se asnjĂ« nga ato punĂ«, ngarkoni atyre tĂ« gjithĂ«.
Dhe pastaj ne do tĂ« shpresojmĂ« tĂ« jetĂ« nĂ« gjendje pĂ«r tĂ« ju jap disa nga kĂ«to pika prapa.
FtohtĂ«.
NdonjĂ« pyetje tĂ« tjera?
I madh.
>> SĂ« dyti, zyra hours-- disa shĂ«nime tĂ« shpejtĂ« rreth orarit tĂ« punĂ«s.
Pra, sĂ« pari, tĂ« vijĂ« nĂ« fillim tĂ« javĂ«s.
Askush nuk Ă«shtĂ« kurrĂ« nĂ« orarit tĂ« punĂ«s tĂ« hĂ«nave.
Christabel erdhi pĂ«r orarit tĂ« punĂ«s natĂ«n e fundit.
Po, Christabel.
Dhe Ă§farĂ« kemi nĂ« zyrĂ«n e orĂ« mbrĂ«mĂ«, Christabel?
>> Audienca: Ne kishim akullore.
>> ANDI Peng: Pra, kjo Ă«shtĂ« e drejtĂ«, kemi pasur akullore nĂ« orarit tĂ« punĂ«s natĂ«n e fundit.
NdĂ«rsa unĂ« nuk mund t'ju premtoj se ne do tĂ« kemi akullore nĂ« orarit tĂ« punĂ«s
Ă§do javĂ«, ajo qĂ« unĂ« mund tĂ« ju premtojnĂ« Ă«shtĂ« se do tĂ« ketĂ« njĂ« mĂ«nyrĂ« tĂ« konsiderueshme
Studenti mĂ« i mirĂ« nĂ« raport AT.
Si legit, kjo Ă«shtĂ« si tre nĂ« njĂ«.
NdĂ«rsa, kontrast qĂ« me E enjte, ju keni marrĂ« pĂ«r 150
vĂ«rtet theksoi fĂ«mijĂ«t dhe nuk akullore.
Dhe kjo nuk Ă«shtĂ« vetĂ«m produktiv pĂ«r tĂ« gjithĂ«.
Pra, morale e tregimit Ă«shtĂ«, erdhi nĂ« fillim tĂ« orarit tĂ« punĂ«s dhe gjĂ«ra tĂ« mira
do tĂ« ndodhĂ«.
>> Gjithashtu, vijnĂ« tĂ« pĂ«rgatitur pĂ«r tĂ« bĂ«rĂ« pyetje.
Ti e di?
PavarĂ«sisht nga ajo qĂ« Tas, unĂ« mendoj, kanĂ« qenĂ« duke thĂ«nĂ«:
ne kemi qenĂ« duke marrĂ« njĂ« Ă§ift nxĂ«nĂ«s qĂ« vijnĂ« nĂ« tĂ« enjten nĂ«, si, 10:50
nuk ka lexuar spekulim duke qenĂ« si mĂ« ndihmoni, mĂ« ndihmoni.
PĂ«r fat tĂ« keq nĂ« atĂ« pikĂ«, nuk ka jo shumĂ« mund tĂ« bĂ«jmĂ« pĂ«r t'ju ndihmuar.
Pra ju lutem tĂ« vijĂ« nĂ« fillim tĂ« javĂ«s.
Ejani nĂ« fillim tĂ« orarit tĂ« punĂ«s.
VijnĂ« tĂ« pĂ«rgatitur pĂ«r tĂ« bĂ«rĂ« pyetje.
Sigurohuni qĂ« ju, si njĂ« student, ku janĂ«
duhet tĂ« jetĂ« nĂ« mĂ«nyrĂ« qĂ« Tas mund tĂ« ju udhĂ«zojĂ« gjatĂ«,
cila Ă«shtĂ« ajo qĂ« orarit tĂ« punĂ«s duhet tĂ« jepen pĂ«r tĂ«.
>> SĂ« dyti, kĂ«shtu qĂ« unĂ« e di profesorĂ« si pĂ«r tĂ« na habisin me teste.
UnĂ« kisha njĂ« profesor ato si, yo, nga rruga,
mos harroni se afatmesĂ«m ju keni tĂ« hĂ«nĂ«n e ardhshme.
Po, unĂ« nuk e di nĂ« lidhje me atĂ« afatmesme.
KĂ«shtu qĂ« unĂ« jam duke shkuar tĂ« jetĂ« se AT qĂ« ju kujton tĂ« gjithĂ« se quiz
0-- sepse, ju e dini, ne jemi CS.
Tani qĂ« ne kemi bĂ«rĂ« vargjeve, ju merrni pse kjo Ă«shtĂ« quiz 0, nuk pyes 1, eh?
NE RREGULL.
Oh, kam marrĂ« disa nĂ«nqesh nĂ« se njĂ«.
NE RREGULL.
>> Pra quiz 0 do tĂ« jetĂ« mĂ« 14 tetor nĂ« qoftĂ« se ju jeni nĂ« seksionin e hĂ«nĂ«-e mĂ«rkurĂ«
dhe 15 tetorit nĂ« qoftĂ« se ju jeni nĂ« seksioni e martĂ«, tĂ« enjten.
Kjo nuk vlen pĂ«r ata prej jush nĂ« Harvard
who-- UnĂ« mendoj se ju do tĂ« jenĂ« tĂ« gjithĂ« duke marrĂ« kuize tuaj nĂ« 14.
>> Pra, vĂ«rtet, javĂ«n e ardhshme, nĂ« qoftĂ« se Davidi, nĂ« leksionin, shkon,
Yeah, kĂ«shtu qĂ« pĂ«r kĂ«tĂ« quiz javĂ«n e ardhshme, ju tĂ« gjithĂ«
nuk do tĂ« tronditur pĂ«r shkak ju erdhi nĂ« seksionin
dhe ju e dini se juaj Quiz 0 Ă«shtĂ« nĂ« dy javĂ«.
Dhe ne do tĂ« kemi shqyrtim seanca dhe Ă§do gjĂ«.
KĂ«shtu qĂ« nuk ka shqetĂ«sime nĂ« lidhje me duke u frikĂ«suar pĂ«r atĂ«.
Ă‡do pyetje mĂ« herĂ«t, ndonjĂ« pyetje nĂ« tĂ« gjitha Ă§Ă«shtjet lidhur logjistike,
nota, orarit tĂ« punĂ«s, seksione?
Po.
>> Audienca: Pra quiz Ă«shtĂ« do tĂ« jetĂ« i gjatĂ« ligjĂ«ratĂ«s?
>> ANDI Peng: Po.
Pra quiz, unĂ« mendoj, Ă«shtĂ« 60 NĂ« minutĂ«n e ranĂ« nĂ« atĂ« slot kohĂ«
qĂ« ju do tĂ« vetĂ«m tĂ« marrĂ« nĂ« sallĂ«n e leksionit.
Pra, ju nuk keni pĂ«r tĂ« ardhur nĂ« nĂ«, si, njĂ« tĂ« rastit 7:00 PM.
Kjo Ă«shtĂ« e gjitha e mirĂ«.
Po.
FtohtĂ«.
>> NĂ« rregull.
Pra, ne jemi duke shkuar pĂ«r futur njĂ« koncept pĂ«r ju
kĂ«tĂ« javĂ« se Davidi tashmĂ« ka lloj e preku nĂ« leksionin kĂ«tĂ« javĂ« tĂ« fundit.
Ajo qĂ« quhet Gdb.
Dhe sa prej jush, ndĂ«rsa nĂ« Kursi i shkrimit psets tuaja,
kanĂ« vĂ«nĂ« re njĂ« buton i madh qĂ« thotĂ« "Debug" nĂ« krye tĂ« IDE tuaj?
NE RREGULL.
Pra, tani ne do tĂ« vĂ«rtetĂ« tĂ« merrni pĂ«r tĂ« nxjerr nĂ« dritĂ« misterin e asaj qĂ« atĂ« buton nĂ« fakt
bĂ«n.
Dhe unĂ« ju garantoj, kjo Ă«shtĂ« njĂ« bukur, gjĂ« e bukur.
>> Pra, deri tani, unĂ« mendoj ka pasur dy gjĂ«ra
studentĂ«t kanĂ« qenĂ« nĂ« mĂ«nyrĂ« tipike duke bĂ«rĂ« kur debugging psets.
NjĂ«, ata ose shtoni nĂ« printf () - kĂ«shtu qĂ« Ă§do disa rreshta,
ata shtojnĂ« nĂ« njĂ« printf () - oh, Ă§farĂ« Ă«shtĂ« kjo e ndryshueshme?
Oh, Ă§farĂ« Ă«shtĂ« kjo variabĂ«l now-- dhe ju lloj i shihni progresion
e kodit tuaj si ajo shkon.
Ose metoda e dytĂ« fĂ«mijĂ«t tĂ« bĂ«ni Ă«shtĂ« se ata vetĂ«m tĂ« shkruajnĂ« tĂ« gjithĂ« gjĂ«
dhe pastaj tĂ« shkojnĂ« si kjo nĂ« fund.
ShpresojmĂ« ajo punon.
UnĂ« ju garantoj, Gdb Ă«shtĂ« mĂ« e mirĂ« se tĂ« dy kĂ«to metoda.
Po.
Pra, kjo do tĂ« jetĂ« miku juaj i ri mĂ« i mirĂ«.
Sepse kjo Ă«shtĂ« njĂ« gjĂ« e bukur qĂ« vizualisht tregon dy
Ă§farĂ« kodi juaj Ă«shtĂ« duke bĂ«rĂ« nĂ« njĂ« pikĂ« tĂ« veĂ§antĂ«
si dhe atĂ« tĂ« gjithĂ« tuaj variabla janĂ« tĂ« mbante,
si ajo qĂ« vlerat e tyre janĂ«, nĂ« atĂ« pikĂ« tĂ« veĂ§antĂ«.
Dhe nĂ« kĂ«tĂ« mĂ«nyrĂ«, ju mund tĂ« vĂ«rtetĂ« vendosur breakpoints nĂ« kodin tuaj.
Ju mund tĂ« drejtuar pĂ«rmes linjĂ«s nga linjĂ«.
Dhe GDB do tĂ« ketĂ« vetĂ«m pĂ«r ju, shfaqet pĂ«r ju,
atĂ« qĂ« tĂ« gjithĂ« e variablave tuaj po, Ă§farĂ« po bĂ«jnĂ«,
Ă§farĂ« po ndodh nĂ« kodin.
Dhe nĂ« njĂ« mĂ«nyrĂ« tĂ« tillĂ«, Ă«shtĂ« e aq shumĂ« e lehtĂ« pĂ«r tĂ« parĂ«
Ă§farĂ« po ndodh nĂ« vend tĂ« printf-ing ose shkruar deklaratat tuaja.
>> Pra, ne do tĂ« bĂ«jmĂ« njĂ« shembull tĂ« kĂ«saj mĂ« vonĂ«.
Pra, kjo duket pak abstrakt.
Nuk shqetĂ«sohet, ne do tĂ« bĂ«jmĂ« shembuj.
Dhe kĂ«shtu nĂ« thelb, tre mĂ« tĂ« madhe, funksionet mĂ« tĂ« pĂ«rdorura qĂ« ju do tĂ« duhet nĂ« GDB
janĂ« Tjetra, Hapi mbi, dhe Hapi nĂ« buttons.
UnĂ« jam duke shkuar pĂ«r kokĂ« atje, nĂ« tĂ« vĂ«rtetĂ«, tani pĂ«r tani.
>> KĂ«shtu qĂ« mund tĂ« ju djema tĂ« gjitha tĂ« shihni se ose duhet tĂ« zoom nĂ« njĂ« grimĂ«?
NĂ« pjesĂ«n e pasme, ju mund tĂ« shihni se?
A duhet tĂ« zmadhuar?
VetĂ«m pak?
OK, i ftohtĂ«.
Atje shkojmĂ«.
NE RREGULL.
>> KĂ«shtu qĂ« unĂ« kam, kĂ«tu, my Zbatimi pĂ«r lakmitar.
Dhe ndĂ«rsa njĂ« shumĂ« e ju djema shkroi babĂ«zitur nĂ« lak, ndĂ«rsa form-- se
Ă«shtĂ« njĂ« mĂ«nyrĂ« krejtĂ«sisht e pranueshme pĂ«r tĂ« bĂ«rĂ« it-- njĂ« tjetĂ«r mĂ«nyrĂ« pĂ«r tĂ« bĂ«rĂ« atĂ« Ă«shtĂ« thjesht
tĂ« ndarĂ« nĂ« modulo.
Sepse atĂ«herĂ« ju mund tĂ« ketĂ« tuaj Vlera dhe pastaj kanĂ« mbetur tuaj.
Dhe pastaj ju mund tĂ« vetĂ«m shtoni atĂ« tĂ« gjithĂ« sĂ« bashku.
A logjikĂ«n e asaj qĂ« unĂ« jam duke bĂ«rĂ« kĂ«tu kuptim pĂ«r tĂ« gjithĂ«,
para se tĂ« fillojmĂ«?
Lloji i?
FtohtĂ«.
I madh.
Kjo Ă«shtĂ« njĂ« pjesĂ« e bukur sexy e kodit, unĂ« do tĂ« thoja.
Ashtu si thashĂ«, David, nĂ« leksion, pas njĂ« kohe,
ju do tĂ« tĂ« gjithĂ« tĂ« fillojnĂ« tĂ« shohim kodin si diĂ§ka qĂ« Ă«shtĂ« e bukur.
Dhe ndonjĂ«herĂ« kur ju shihni e bukur Kodi, kjo Ă«shtĂ« e tillĂ« njĂ« ndjenjĂ« e mrekullueshme.
>> Pra megjithatĂ«, ndĂ«rsa ky kod Ă«shtĂ« shumĂ« e bukur, ajo nuk punon si duhet.
Pra, le tĂ« kandidojĂ« check50 pĂ«r kĂ«tĂ«.
Kontrolloni 50 20-- OOP.
2?
A Ă«shtĂ« kjo pset2?
Po.
Oh, pset1.
NE RREGULL.
Pra, ne tĂ« drejtuar check50.
>> Dhe si ju djema mund tĂ« shihni kĂ«tu, kjo Ă«shtĂ« nĂ« mungesĂ« tĂ« disa rasteve.
Dhe pĂ«r disa prej jush, nĂ« Sigurisht pĂ«r tĂ« bĂ«rĂ« grupe tuaj problem,
ju jeni si, ah, pse nuk Ă«shtĂ« ajo punon.
Pse Ă«shtĂ« duke punuar pĂ«r disa Vlerat por jo pĂ«r tĂ« tjerĂ«t?
E pra, GDB do tĂ« ndihmojĂ« tĂ« kuptoj se pse kĂ«to inpute nuk ishin duke punuar.
>> NE RREGULL.
Pra, le tĂ« shohim, njĂ« nga Kontrollet unĂ« po dĂ«shtonte nĂ« check50
ishte vlera input e 0,41.
Pra, pĂ«rgjigja e saktĂ« qĂ« ju duhet tĂ« marrĂ« Ă«shtĂ« njĂ« 4.
Por nĂ« vend tĂ« kĂ«saj ajo qĂ« unĂ« jam printim Ă«shtĂ« 3-n, i cili Ă«shtĂ« i saktĂ«.
Pra, le tĂ« vetĂ«m tĂ« drejtuar kĂ«tĂ« me dorĂ«, vetĂ«m sigurohuni qĂ« check50 Ă«shtĂ« duke punuar.
Le tĂ« bĂ«jmĂ« ./greedy.
Na falni, unĂ« kam pĂ«r tĂ« bĂ«rĂ« babĂ«zitur.
Atje shkojmĂ«.
Tani ./greedy.
>> Sa Ă«shtĂ« borxh?
Le tĂ« bĂ«jmĂ« 0,41.
Dhe yep, ne shohim kĂ«tu se ajo Ă«shtĂ« kompjuteri 3
kur pĂ«rgjigja e saktĂ«, nĂ« fakt, duhet tĂ« jetĂ« 4.
Pra, le tĂ« hyjĂ« GDB dhe tĂ« shohim se si ne mund tĂ« shkoni nĂ« lidhje me fiksimin e kĂ«tij problemi.
>> Pra, hapi i parĂ« nĂ« gjithmonĂ« debugging kodin tuaj
Ă«shtĂ« pĂ«r tĂ« vendosur njĂ« breakpoint, ose njĂ« pikĂ« nĂ« tĂ« cilĂ«n ju
dua kompjuter ose Rregullues tĂ« fillojmĂ« tĂ« shikojmĂ«.
Pra, nĂ«se ju nuk bĂ«ni me tĂ« vĂ«rtetĂ« e di se Ă§farĂ« problemi juaj Ă«shtĂ«,
zakonisht, gjĂ« tipike qĂ« ne duam tĂ« bĂ«ni Ă«shtĂ« pĂ«r tĂ« vendosur breakpoint tonĂ« nĂ« kryesore.
Pra, nĂ« qoftĂ« se ju djema mund tĂ« shihni kĂ«tĂ« butonin e kuq tĂ« drejtĂ« atje,
yep, qĂ« ishte mĂ« vendosjen e njĂ« breakpoint pĂ«r funksionin kryesor.
UnĂ« klikoni atĂ«.
>> Dhe pastaj unĂ« mund tĂ« shkojnĂ« deri nĂ« butonin tim Debug.
UnĂ« goditi butonin.
MĂ« lejoni tĂ« zoom mbrapa nĂ« qoftĂ« se unĂ« mund.
Atje shkojmĂ«.
Pra, ne kemi, kĂ«tu, njĂ« panel nĂ« tĂ« djathtĂ«.
MĂ« vjen keq, djema nĂ« shpinĂ«, ju nuk mund tĂ« vĂ«rtetĂ« shoh me tĂ« vĂ«rtetĂ« mirĂ«.
Por nĂ« thelb, tĂ« gjithĂ« ky panel e drejtĂ« Ă«shtĂ« duke bĂ«rĂ«
Ă«shtĂ« mbajtja e dy theksuar line, qĂ« Ă«shtĂ« linjĂ« e kodit
se kompjuteri Ă«shtĂ« aktualisht, si dhe tĂ« gjithĂ« variablat tuaja
kĂ«tu poshtĂ«.
>> Pra, ju keni marrĂ« cent, monedha, n, gjithĂ« deklaruar pĂ«r gjĂ«ra tĂ« ndryshme
nĂ« kĂ«tĂ« pikĂ«.
Nuk shqetĂ«sohet, sepse ne nuk kemi nĂ« fakt initialized ata pĂ«r Ă§do ndryshore ende.
Pra, nĂ« kompjuterin tuaj, tuaj kompjuter Ă«shtĂ« vetĂ«m duke parĂ«,
oh, 32767 ishte funksioni i fundit i pĂ«rdorur e atĂ« hapĂ«sirĂ« â€‹â€‹e kujtesĂ«s nĂ« kompjuterin tim.
Dhe kĂ«shtu kjo Ă«shtĂ« ajo ku cent aktualisht Ă«shtĂ«.
Por jo se njĂ« herĂ« ju drejtuar kodin, ajo duhet tĂ« bĂ«het initialized.
>> Pra, le tĂ« shkojnĂ« nĂ«pĂ«r, rresht pas line, Ă§farĂ« po ndodh kĂ«tu.
NE RREGULL.
KĂ«shtu qĂ« kĂ«tu janĂ« tre butonat qĂ« unĂ« vetĂ«m shpjegohet.
Ju keni tĂ« riprodhimit ose funksionin Run, buton, ju keni hap mbi butonin,
dhe ju gjithashtu keni Hapi nĂ« butonin.
Dhe nĂ« thelb, tĂ« tre ata thjesht shkoni nĂ«pĂ«r kodin tuaj
dhe tĂ« bĂ«jĂ« gjĂ«ra tĂ« ndryshme.
>> Pra nĂ« mĂ«nyrĂ« tipike, kur ju jeni debugging, ne nuk duam tĂ« vetĂ«m goditi Luaj,
sepse Luaj vetĂ«m do tĂ« kandidojĂ« kodi juaj me fundin e saj.
Dhe pastaj ju nuk do tĂ« vĂ«rtetĂ« tĂ« e di se Ă§farĂ« problemi juaj
Ă«shtĂ« nĂ«se keni vendosur breakpoints shumta.
NĂ« qoftĂ« se keni vendosur pikat e ndalimit tĂ« shumta, ajo thjesht do tĂ« automatikisht
drejtuar nga njĂ« breakpoint, tĂ« ardhshĂ«m, tĂ« ardhshĂ«m.
Por nĂ« kĂ«tĂ« rast ne kemi vetĂ«m se njĂ«, sepse ne
duan tĂ« punojnĂ« rrugĂ«n tonĂ« nga lart poshtĂ« e deri nĂ« fund.
Pra, ne jemi duke shkuar pĂ«r tĂ« injorojĂ« atĂ« buton tani pĂ«r qĂ«llime tĂ« kĂ«tij programi.
>> Pra, Hapi mbi funksionin vetĂ«m Hapat mbi Ă§do linjĂ« tĂ« vetme
dhe ju tregon se Ă§farĂ« kompjuteri Ă«shtĂ« duke bĂ«rĂ«.
Hapi nĂ« funksion shkon nĂ« funksion aktuale
kjo Ă«shtĂ« nĂ« linjĂ« tuaj tĂ« kodit.
KĂ«shtu pĂ«r shembull, si printf (), qĂ« Ă«shtĂ« njĂ« funksion, e drejtĂ«?
NĂ« qoftĂ« se unĂ« tĂ« kĂ«rkuar pĂ«r tĂ« fizikisht hap nĂ« printf () funksionin e,
UnĂ« nĂ« fakt do tĂ« shkoj nĂ« pjesĂ« tĂ« Kodi ku printf () ishte shkruar dhe tĂ« shohim
Ă§farĂ« po ndodh atje.
>> Por zakonisht, ne supozojmĂ« se kodi qĂ« ne tĂ« ju jap punon.
SupozojmĂ« printf () Ă«shtĂ« duke punuar.
Ne supozojmĂ« se GetInt () Ă«shtĂ« duke punuar.
KĂ«shtu qĂ« nuk ka nevojĂ« pĂ«r tĂ« futemi nĂ« kĂ«to funksione.
Por nĂ« qoftĂ« se ka funksione qĂ« ju tĂ« shkruani vetĂ«
qĂ« ju doni tĂ« kontrolloni se Ă§farĂ« po ndodh,
ju do tĂ« duan tĂ« hap nĂ« atĂ« funksion.
>> Deri tani ne jemi vetĂ«m do tĂ« hap mbi kĂ«tĂ« pjesĂ« tĂ« kodit.
Pra, le tĂ« shohim.
Oh, tĂ« shtypura, "Oh hai, si ndryshim shumĂ« Ă«shtĂ« borxh? "
Ne nuk e kujdesit.
Ne e dimĂ« se Ă«shtĂ« duke punuar, kĂ«shtu qĂ« ne hap mbi tĂ«.
>> Pra n, e cila Ă«shtĂ« noton ynĂ« qĂ« ne kemi initialized-- ose declared--
deri nĂ« krye, ne jemi tani barazuar qĂ« tĂ« GetFloat ().
Pra, le tĂ« hap mbi atĂ«.
Dhe ne shohim nĂ« nivel fund kĂ«tu, programi
Ă«shtĂ« duke bĂ«rĂ« mĂ« tĂ« input njĂ« vlerĂ«.
Pra, le tĂ« vleren ne duam t'i fusĂ« pĂ«r tĂ« provuar kĂ«tu, e cila Ă«shtĂ« 0.41.
I madh.
>> Deri tani n-- bĂ«ni ju djema tĂ« parĂ« KĂ«tu, nĂ« bottom-- Ă«shtĂ«
stored-- sepse ne nuk e kanĂ« rrumbullakuar ende, kjo Ă«shtĂ«
ruhet nĂ« kĂ«tĂ« si gjigant noton se Ă«shtĂ« 0,4099999996,
e cila Ă«shtĂ« mjaft afĂ«r tonĂ« qĂ«llime, tani, nĂ« 0,41.
Dhe pastaj ne do tĂ« shohim mĂ« vonĂ«, si ne vazhdojnĂ« shkelĂ«n mbi programin,
pas kĂ«tu, Ă«shtĂ« bĂ«rĂ« n harmonishĂ«m dhe cent ka bĂ«rĂ« 41.
I madh.
Pra, ne e dimĂ« se duke punuar arrestimi tonĂ«.
Ne e dimĂ« se ne kemi Numri i saktĂ« i cent,
kĂ«shtu qĂ« ne e dimĂ« se kjo Ă«shtĂ« jo tĂ« vĂ«rtetĂ« problemi.
>> Pra, ne vazhdojmĂ« shkelĂ«n nĂ« kĂ«tĂ« program.
Ne do tĂ« shkojmĂ« kĂ«tu.
Dhe kĂ«shtu pas kĂ«tĂ« linjĂ« tĂ« kodit, ne duhet tĂ« dinĂ« se sa lagjet kemi.
Ne hap mbi.
Dhe ju shihni ne bĂ«jmĂ«, nĂ« fakt, kanĂ« njĂ« tĂ« tillĂ« e katĂ«rta, sepse ne kemi zbritur 25
nga vlera tona fillestare prej 41.
Dhe ne kemi 16 u nis pĂ«r cent tona.
>> A e kuptojnĂ« tĂ« gjithĂ« si programi po rrit pĂ«rmes
dhe pse cent Ă«shtĂ« bĂ«rĂ« tashmĂ« 16 dhe pse, tani, monedha Ă«shtĂ« bĂ«rĂ« 1?
Ă‹shtĂ« e tĂ« gjithĂ« pas se logjika?
FtohtĂ«.
Pra, si e kĂ«tĂ« pikĂ«, punĂ«s programit, e drejtĂ«?
Ne e dimĂ« se Ă«shtĂ« duke bĂ«rĂ« pikĂ«risht ajo qĂ« ne duam qĂ« ajo tĂ«.
Dhe ne fakt nuk duhet tĂ« shtypura nga, oh, Ă§farĂ«
Ă«shtĂ« cent nĂ« kĂ«tĂ« pikĂ«, ajo qĂ« Ă«shtĂ« monedha nĂ« kĂ«tĂ« pikĂ«.
>> Ne vazhdojmĂ« duke shkuar pĂ«rmes programit.
Hapi mbi.
FtohtĂ«.
Ne do tĂ« shkojmĂ« mbi dimes.
I madh.
Ne e shohim se ajo Ă«shtĂ« marrĂ« off $ 0,10 pĂ«r njĂ« monedhĂ«.
Dhe tani ne kemi dy monedha.
Kjo Ă«shtĂ« e saktĂ«.
>> Ne do tĂ« shkojmĂ« mbi pennies dhe ne e shohim qĂ« ne kemi mbeti mbi cent.
Hmm, kjo Ă«shtĂ« e Ă§uditshme.
Deri kĂ«tu nĂ« programin, unĂ« Ă«shtĂ« dashur qĂ« kanĂ« zbritur pennies e mia.
Ndoshta unĂ« thjesht nuk ishte duke bĂ«rĂ« kĂ«tĂ« tĂ« drejtĂ« line.
Dhe mjerisht, ju mund tĂ« shihni kĂ«tu, sepse ne e dimĂ«
se ne jemi shkelĂ«n pĂ«rmes linjave 32 dhe 33,
kjo Ă«shtĂ« ajo ku programi ynĂ« nĂ« mĂ«nyrĂ« tĂ« paligjshme kishte variabla tĂ« kandidojĂ«.
Pra, ne mund tĂ« shohim dhe tĂ« shohim, oh, UnĂ« jam duke zbritur cent kĂ«tu,
por unĂ« nuk jam nĂ« tĂ« vĂ«rtetĂ« duke shtuar me vlerĂ«n time monedhĂ«.
UnĂ« jam duke shtuar nĂ« cent.
Dhe unĂ« nuk dua tĂ« shtoj nĂ« cent, unĂ« dua tĂ« shtoj nĂ« monedha.
Pra, nĂ«se ne ndryshojmĂ« qĂ« tĂ« monedhave, ne kemi marrĂ« njĂ« program pune.
UnĂ« mund tĂ« kandidojĂ« check50.
Ju vetĂ«m mund tĂ« dalĂ« jashtĂ« e tĂ« drejtĂ«s gdb kĂ«tu dhe pastaj tĂ« drejtuar check50 pĂ«rsĂ«ri.
UnĂ« mund ta bĂ«jĂ« kĂ«tĂ« vetĂ«m.
UnĂ« kam pĂ«r tĂ« bĂ«rĂ« babĂ«zitur.
0.41.
Dhe kĂ«tu, kjo Ă«shtĂ« shtypje jashtĂ« pĂ«rgjigje tĂ« drejtĂ«.
>> Pra, si ju djema mund tĂ« shihni, Gdb Ă«shtĂ« njĂ« mjet tĂ« vĂ«rtetĂ« tĂ« fuqishme
sepse kur kemi kaq shumĂ« kod nĂ« vazhdim e sipĂ«r dhe kaq shumĂ« ndryshore
se Ă«shtĂ« e vĂ«shtirĂ« pĂ«r ne, si njĂ« njeri, pĂ«r tĂ« mbajtur gjurmĂ«t e.
Kompjuter, nĂ« GDB Rregullues, ka aftĂ«sinĂ«
tĂ« mbajnĂ« gjurmĂ«t e Ă§do gjĂ«.
UnĂ« e di, nĂ« Visionaire, ju djema ndoshta mund tĂ« ketĂ« goditur disa gabimet e segmentimit
sepse keni qenĂ« running jashtĂ« caqeve tĂ« vektorit tuaj.
NĂ« shembullin e Cezarit, kjo Ă«shtĂ« pikĂ«risht ajo qĂ« unĂ« kam zbatuar kĂ«tu.
>> KĂ«shtu qĂ« kam harruar pĂ«r tĂ« kontrolluar pĂ«r Ă‡farĂ« do tĂ« ndodhĂ« nĂ«se unĂ«
nuk kanĂ« dy argumente command line.
UnĂ« thjesht nuk e vĂ«nĂ« atĂ« nĂ« kontroll.
Dhe kĂ«shtu qĂ« nĂ«se unĂ« tĂ« drejtuar Debug-- kam vendosur breakpoint im tĂ« drejtĂ« atje.
I drejtuar debug.
>> NE RREGULL.
Po.
Pra, nĂ« fakt, Gdb ishte menduar tĂ« ketĂ« mĂ« tha atje
ishte faji segmentimit atje.
UnĂ« nuk e di se Ă§farĂ« po ndodhte ka tĂ« drejtĂ«, por kur unĂ« u zhvillua atĂ«,
ajo ishte duke punuar.
Kur ju drejtuar rreshta tĂ« kodit dhe pĂ«rmes GDB mund vetĂ«m befas lĂ«nĂ« nĂ« ty,
shkojnĂ« deri dhe tĂ« shohim se Ă§farĂ« gabimi Ă«shtĂ« i kuq.
Ajo do t'ju them, hej, ju kishte njĂ« defekt segmentimit,
qĂ« do tĂ« thotĂ« se ju u pĂ«rpoq pĂ«r tĂ« hyrĂ« hapĂ«sirĂ« â€‹â€‹nĂ« njĂ« grup qĂ« nuk ka ekzistuar.
Po.
>> Pra, nĂ« problemin e ardhshĂ«m vendosur kĂ«tĂ« javĂ«, ju djema
ndoshta do tĂ« ketĂ« njĂ« shumĂ« tĂ« variabla lundrues rreth.
Ju nuk do tĂ« jetĂ« i sigurt se Ă§farĂ« ata tĂ« gjithĂ« do tĂ« thotĂ« nĂ« njĂ« pikĂ« tĂ« caktuar.
Pra, GDB tĂ« vĂ«rtetĂ« do t'ju ndihmojĂ« nĂ« zbulimin se Ă§farĂ« ata janĂ« tĂ« gjithĂ« barabartĂ«
dhe duke qenĂ« nĂ« gjendje pĂ«r tĂ« parĂ« se shikimi.
A Ă«shtĂ« ndokush hutuar se si ndonjĂ« qĂ« ishte duke punuar?
FtohtĂ«.
NĂ« rregull.
Pra, pas kĂ«saj, ne jemi do tĂ« zhyten tĂ« drejtĂ«
nĂ« janĂ« katĂ«r tĂ« ndryshme llojet e llojeve pĂ«r kĂ«tĂ« javĂ«.
Sa prej jush, sĂ« pari tĂ« gjitha, para se tĂ« fillojmĂ«,
e kanĂ« lexuar tĂ« gjithĂ« spekulim pĂ«r pset3?
NE RREGULL.
UnĂ« jam krenar pĂ«r ju djema.
Kjo Ă«shtĂ« si gjysma e klasĂ«s, i cili Ă«shtĂ« dukshĂ«m mĂ« shumĂ« se herĂ«n e fundit.
>> Pra, kjo Ă«shtĂ« e madhe, sepse kur ne flasim pĂ«r pĂ«rmbajtjen
nĂ« lecture-- apo keq, nĂ« section-- MĂ« pĂ«lqen
tĂ« bĂ«jnĂ« njĂ« shumĂ« qĂ« prapa asaj qĂ« Ă«shtĂ« pset
dhe si ju doni tĂ« zbatuar qĂ« nĂ« pset tuaj.
Pra, nĂ«se ju vijnĂ« tĂ« paturit lexoni spekulim, ajo do tĂ«
tĂ« jetĂ« shumĂ« mĂ« e lehtĂ« pĂ«r ju pĂ«r tĂ« kuptuar atĂ« qĂ« unĂ« jam duke folur pĂ«r kur unĂ« them,
oh hej, kjo mund tĂ« jetĂ« njĂ« tĂ« vĂ«rtetĂ« tĂ« vend i mirĂ« pĂ«r tĂ« zbatuar kĂ«tĂ« lloj.
Pra, ata qĂ« e kanĂ« lexuar spekulim di se, si pjesĂ« e pset tuaj,
ju jeni do tĂ« duhet tĂ« shkruaj njĂ« lloj lloji.
Pra, kjo mund tĂ« jetĂ« shumĂ« e dobishme pĂ«r njĂ« shumĂ« prej jush sot.
>> Pra, ne do tĂ« nisem me, nĂ« thelb, lloji mĂ« i thjeshtĂ«
e lloj, zgjedhja lloj.
Algorithm tipike pĂ«r se si ne do tĂ« shkoj nĂ« lidhje me kĂ«tĂ«
is-- Davidi shkoi nĂ«pĂ«r tĂ« gjitha kĂ«to nĂ« leksion, kĂ«shtu qĂ« unĂ« do tĂ« lĂ«vizin shpejt sĂ« bashku
here-- Ă«shtĂ« nĂ« thelb, ju kanĂ« njĂ« rrjet tĂ« vlerave.
Dhe pastaj ju tĂ« gjeni tĂ« Vlera mĂ« e vogĂ«l Unsorted
dhe ju bie nĂ« ujdi se vlera me vlera e parĂ« Unsorted.
Dhe atĂ«herĂ« ju vetĂ«m i mbajnĂ« pĂ«rsĂ«ritur me pjesĂ«n tjetĂ«r tĂ« listĂ«s suaj.
>> Dhe kĂ«tu Ă«shtĂ« njĂ« shpjegim vizual e se si do tĂ« punojĂ«.
KĂ«shtu pĂ«r shembull, nĂ« qoftĂ« se ne ishim pĂ«r tĂ« filluar me njĂ« grup tĂ« pesĂ« elemente, indeksi
0 nĂ« 4, me 3, 5, 2, 6, dhe 4 vlerat vendosur nĂ« array-- nĂ« mĂ«nyrĂ« tĂ« drejtĂ« tani,
ne jemi vetĂ«m duke shkuar pĂ«r tĂ« marrĂ« se ata janĂ« tĂ« gjithĂ« Unsorted
sepse ne nuk kemi testuar ndryshe.
>> Pra, si njĂ« lloj pĂ«rzgjedhje do Puna Ă«shtĂ« se ajo do tĂ« pĂ«r herĂ« tĂ« parĂ«
drejtuar nĂ«pĂ«r tĂ«rĂ«sinĂ« e array pandara.
Ajo do tĂ« marr nga vlerĂ«n mĂ« tĂ« vogĂ«l.
NĂ« kĂ«tĂ« rast, 3, e drejtĂ« tani, Ă«shtĂ« mĂ« i vogĂ«l.
Ajo merr tĂ« 5.
Jo, 5 nuk Ă«shtĂ« mĂ« i madh than-- apo vjen keq, Ă«shtĂ« jo mĂ« pak than-- 3.
Pra, vlera minimale Ă«shtĂ« ende 3.
Dhe pastaj ju merrni nĂ« 2.
Kompjuteri sheh, oh, 2 Ă«shtĂ« mĂ« pak se 3.
2 tani duhet tĂ« jetĂ« vlera minimale.
Dhe kĂ«shtu 2 kĂ«mbime me atĂ« vlerĂ« tĂ« parĂ«.
>> KĂ«shtu qĂ« pas njĂ« tĂ« kaluar, ne me tĂ« vĂ«rtetĂ« shohim se 2 dhe 3 janĂ« swapped.
Dhe ne jemi vetĂ«m do tĂ« vazhdojnĂ« tĂ« bĂ«jnĂ« kjo pĂ«rsĂ«ri me pjesĂ«n tjetĂ«r tĂ« vektorit.
Pra, ne jemi duke shkuar pĂ«r tĂ« vetĂ«m tĂ« drejtuar pĂ«rmes katĂ«r indekset e fundit tĂ« vektorit.
Ne do tĂ« shohim se 3 Ă«shtĂ« vlera e ardhshme minimale.
Pra, ne jemi duke shkuar pĂ«r tĂ« bie nĂ« ujdi qĂ« me 4.
Dhe atĂ«herĂ« ne jemi vetĂ«m duke shkuar pĂ«r tĂ« mbajtur kalon nĂ«pĂ«r derisa, nĂ« fund, ju
tĂ« shkoj nĂ« njĂ« grup tĂ« renditura nĂ« tĂ« cilĂ«n 2, 3, 4, 5, 6 dhe janĂ« tĂ« renditura.
A e kuptojnĂ« tĂ« gjithĂ« logjikĂ«n se si punon njĂ« lloj pĂ«rzgjedhje?
>> Ju thjesht duhet disa lloj njĂ« vlerĂ« minimale.
Ju jeni mbajtja e asaj qĂ« Ă«shtĂ«.
Dhe sa herĂ« qĂ« ju tĂ« gjeni atĂ«, ju bie nĂ« ujdi atĂ« me vlerĂ«n e parĂ« nĂ« array--
apo, jo value-- parĂ« vlera tjetĂ«r nĂ« rrjet.
FtohtĂ«.
>> Pra, si ju djema lloj i pa nga njĂ« paraqitje e shkurtĂ«r tĂ« shkurtĂ«r,
ne jemi duke shkuar pĂ«r pseudokod kĂ«tĂ«.
Pra, nĂ«se ju djema nĂ« shpinĂ« duan tĂ« formojnĂ« njĂ« grup, tĂ« gjithĂ« nĂ« njĂ« tabelĂ«
mund tĂ« formojnĂ« njĂ« partner tĂ« vogĂ«l, unĂ« jam duke shkuar pĂ«r tĂ« ju jap djema si tre minuta
pĂ«r vetĂ«m bisedoni me anĂ« tĂ« logjika, nĂ« gjuhĂ«n angleze,
se si mund tĂ« jemi nĂ« gjendje tĂ« zbatojĂ« pseudokod pĂ«r tĂ« shkruar njĂ« lloj pĂ«rzgjedhjeje.
Dhe nuk ka karamele.
Ju lutemi tĂ« vijnĂ« dhe pĂ«r tĂ« marrĂ« karamele.
NĂ«se ju jeni nĂ« shpinĂ« dhe ju doni karamele, unĂ« mund tĂ« hedhin karamele nĂ« ju.
NĂ« fakt, tĂ« bĂ«jĂ« ftohtĂ« ju, duke filluar.
Oh me falni.
NE RREGULL.
>> Pra, nĂ«se ne do tĂ« donim pĂ«r tĂ«, si njĂ« klasĂ«, shkruani pseudokod
pĂ«r mĂ«nyrĂ«n se si dikush mund tĂ« qasen ky problem, vetĂ«m mos ngurroni.
UnĂ« vetĂ«m do tĂ« shkoj pĂ«rreth dhe, nĂ« mĂ«nyrĂ« qĂ«, pyesni grupet
pĂ«r linjĂ«n e ardhshĂ«m tĂ« Ă§farĂ« ne duhet tĂ« bĂ«jmĂ«.
Pra, nĂ«se ju djema doni tĂ« filloni jashtĂ«, Ă§farĂ« Ă«shtĂ« gjĂ«ja e parĂ«
duhet tĂ« bĂ«ni kur jeni duke u pĂ«rpjekur pĂ«r tĂ« zbatojĂ« njĂ« mĂ«nyrĂ« pĂ«r tĂ« zgjidhur kĂ«tĂ« program
pĂ«r tĂ« selektive tĂ« zgjidhur njĂ« listĂ«?
Le tĂ« vetĂ«m tĂ« supozojmĂ« ne kanĂ« njĂ« grup, tĂ« gjithĂ« tĂ« drejtĂ«?
>> Audienca: Ju doni tĂ« krijoni disa lloj [e padĂ«gjueshme] qĂ« ju jeni
qĂ« kalon nĂ«pĂ«r tĂ« gjithĂ« grup tuaj.
>> ANDI Peng: E â€‹â€‹drejta.
Pra, ju jeni do tĂ« duan tĂ« iterate nĂ«pĂ«r Ă§do hapĂ«sirĂ«, e drejtĂ«?
Pra, i madh.
NĂ«se ju djema doni tĂ« mĂ« jepte tjetĂ«r line-- yeah, nĂ« pjesĂ«n e prapme.
>> Audienca: Kontrolloni ata tĂ« gjitha pĂ«r tĂ« vogĂ«l.
>> ANDI Peng: Nuk shkojmĂ«.
Pra, ne duam tĂ« shkojnĂ« nĂ«pĂ«r dhe kontrolloni pĂ«r tĂ« tĂ« shohim se Ă§farĂ« vlera minimale Ă«shtĂ«, e drejtĂ«?
UnĂ« do tĂ« shkurtoj se nĂ« "min."
Ă‡farĂ« bĂ«ni ju djema doni tĂ« bĂ«ni pas ju keni gjetur vlerĂ«n minimale?
>> Audienca: [padĂ«gjueshme]
ANDI Peng: Pra, ju jeni do tĂ« duan tĂ« kaloni atĂ« me tĂ« parĂ« tĂ« kĂ«tij grup,
e drejtĂ«?
Ky Ă«shtĂ« fillimi, unĂ« jam duke shkuar pĂ«r tĂ« thĂ«nĂ«.
NĂ« rregull.
Pra, tani qĂ« ju keni swapped parĂ« njĂ«, Ă§farĂ« ju doni tĂ« bĂ«ni pas kĂ«saj?
Pra, tani ne e dimĂ« se kjo kĂ«tu duhet tĂ« jetĂ« vlera mĂ« tĂ« vogĂ«l, apo jo?
AtĂ«herĂ« ju keni njĂ« pushim shtesĂ« e vektorit qĂ« Ă«shtĂ« Unsorted.
Pra, Ă§farĂ« ju doni tĂ« bĂ«ni kĂ«tu, nĂ« qoftĂ« se ju djema duan tĂ« mĂ« jepni linjĂ« tjetĂ«r?
Audienca: Pra, atĂ«herĂ« ju doni tĂ« iterate pĂ«rmes pjesĂ«s sĂ« mbetur tĂ« vektorit.
ANDI Peng: Po.
Dhe kĂ«shtu Ă§farĂ« iterating pĂ«rmes lloj i thotĂ« ne ndoshta do tĂ« duhet?
Ă‡farĂ« lloji of--
>> Audienca: Oh, njĂ« variabĂ«l shtesĂ«?
ANDI Peng: Ndoshta njĂ« tjetĂ«r pĂ«r lak, e drejtĂ«?
Pra, ne jemi me siguri do tĂ« duan tĂ« iterate through-- madh.
Dhe pastaj ju do tĂ« jeni pĂ«r tĂ« shkuar mbrapa dhe ndoshta kontrolloni minimale pĂ«rsĂ«ri,
e drejtĂ«?
Dhe ju jeni do tĂ« vazhdojnĂ« tĂ« pĂ«rsĂ«risin kjo, sepse sythe vetĂ«m duke shkuar
pĂ«r tĂ« mbajtur drejtimin, e drejtĂ«?
>> Pra, si ju djema mund tĂ« shihni, ne vetĂ«m njĂ« pseudokod tĂ« pĂ«rgjithshme
se si ne duam qĂ« ky program tĂ« duken.
Kjo iterate kĂ«tu, Ă§farĂ« bĂ«jmĂ« ne zakonisht duhet tĂ« shkruani nĂ« kodin tonĂ«
nĂ« qoftĂ« se ne duam tĂ« iterate nĂ«pĂ«r njĂ« array, Ă§farĂ« lloji i strukturĂ«s sĂ«?
UnĂ« mendoj Christabel tashmĂ« ka thĂ«nĂ« kĂ«tĂ« mĂ« parĂ«.
>> Audienca: njĂ« pĂ«r lak.
>> ANDI Peng: njĂ« pĂ«r lak?
PikĂ«risht.
Pra, kjo Ă«shtĂ« ndoshta do tĂ« jetĂ« njĂ« pĂ«r lak.
Ă‡farĂ« Ă«shtĂ« njĂ« kontroll kĂ«tu do tĂ« thotĂ«?
NĂ« mĂ«nyrĂ« tipike, nĂ« qoftĂ« se ju dĂ«shironi tĂ« shikoni nĂ«se diĂ§ka Ă«shtĂ« diĂ§ka else--
>> Audienca: NĂ« qoftĂ« se.
>> ANDI Peng: NjĂ« nĂ« qoftĂ« se, e drejtĂ«?
Dhe pastaj swap kĂ«tu, ne do tĂ« shkoj pĂ«r mĂ« vonĂ«, sepse David
shkoi nĂ«pĂ«r atĂ« nĂ« leksion si.
Dhe pastaj iterate dytĂ« implies--
>> Audienca: NjĂ« tjetĂ«r pĂ«r lak.
>> ANDI Peng: --another pĂ«r lak, pikĂ«risht.
Pra, nĂ« qoftĂ« se ne jemi duke kĂ«rkuar nĂ« kĂ«tĂ« tĂ« saktĂ«, ne
mund tĂ« shihni se ne jemi me siguri do tĂ« duhet njĂ« mbivendosur pĂ«r lak
me njĂ« deklaratĂ« tĂ« kushtĂ«zuar nĂ« atje dhe pastaj njĂ« pjesĂ« aktuale e kodit qĂ« Ă«shtĂ«
do tĂ« bie nĂ« ujdi vlerat.
KĂ«shtu qĂ« unĂ« kam shkruar vetĂ«m nĂ« pĂ«rgjithĂ«si njĂ« kod pseudokod kĂ«tu.
Dhe pastaj ne jemi tĂ« vĂ«rtetĂ« do pĂ«r tĂ« fizikisht, si njĂ« klasĂ«,
pĂ«rpiqen pĂ«r tĂ« zbatuar kĂ«tĂ« sot.
Le tĂ« kthehemi nĂ« kĂ«tĂ« IDE.
>> Uh-oh.
Pse Ă«shtĂ« se not-- nuk Ă«shtĂ«.
NE RREGULL.
Na vjen keq, mĂ« lejoni tĂ« pĂ«rpiqen pĂ«r tĂ« zoom nĂ« pak mĂ« shumĂ«.
Atje shkojmĂ«.
TĂ« gjitha unĂ« jam duke bĂ«rĂ« kĂ«tu Ă«shtĂ« qĂ« kam krijuar njĂ« program tĂ« quajtur "Zgjedhja / sort.c."
UnĂ« kam krijuar njĂ« grup tĂ« nĂ«ntĂ« vlerat, 4, 8, 2, 1, 6, 7, 9, 5, 3.
Aktualisht, si ju mund tĂ« shihni, ata janĂ« tĂ« renditura.
n do tĂ« jetĂ« numri qĂ« ju tregon sasinĂ« e vlerave
ju keni nĂ« grup tuaj.
NĂ« kĂ«tĂ« rast, ne kemi nĂ«ntĂ« vlera.
Dhe unĂ« kam marrĂ« vetĂ«m njĂ« pĂ«r lak kĂ«tu qĂ« printon nga array Unsorted.
>> Dhe nĂ« fund, unĂ« kam marrĂ« edhe njĂ« pĂ«r lak qĂ« vetĂ«m printon atĂ« pĂ«rsĂ«ri.
Pra teorikisht, nĂ«se kĂ«tĂ« program punon saktĂ«, nĂ« fund,
ju duhet tĂ« shihni njĂ« tĂ« shtypura pĂ«r lak nĂ« tĂ« cilĂ«n 1, 2, 3, 4, 5, 6, 7, 8,
9 janĂ« tĂ« gjitha nĂ« mĂ«nyrĂ« korrekte.
>> Pra, ne kemi marrĂ« pseudokod tonĂ« kĂ«tu.
A ka dikush doni to-- unĂ« jam vetĂ«m do tĂ« shkojnĂ« tĂ« kĂ«rkojnĂ« volunteers--
mĂ« thoni saktĂ«sisht se Ă§farĂ« tĂ« shkruani nĂ« qoftĂ« se ne duam tĂ«, sĂ« pari, vetĂ«m iterate
me fillim tĂ« kĂ«tij grup?
Ă‡farĂ« Ă«shtĂ« linjĂ« e kodit unĂ« jam ndoshta do tĂ« duhet kĂ«tu?
>> Audienca: [padĂ«gjueshme]
>> ANDI Peng: Po, tĂ« ndjehen tĂ« pa pagesĂ« to-- vjen keq, ju
nuk duhet tĂ« qĂ«ndrojĂ« ndjehen up-- tĂ« lirĂ« pĂ«r tĂ« ngritur zĂ«rin tuaj pak.
>> Audienca: PĂ«r int i barabartĂ« 0--
>> ANDI Peng: Po, mirĂ«.
>> AUDIENCA: i Ă«shtĂ« mĂ« pak se gjatĂ«sia vektorit.
>> ANDI Peng: Pra, mbani nĂ« mendjen kĂ«tu, sepse ne
nuk kanĂ« njĂ« funksion qĂ« na tregon gjatĂ«sinĂ« e njĂ« grup,
ne tashmĂ« kemi njĂ« Vlera qĂ« ruan atĂ«.
E drejtĂ«?
NjĂ« tjetĂ«r gjĂ« pĂ«r tĂ« mbajtur nĂ« mind-- nĂ« njĂ« grup
e nĂ«ntĂ« vlerave, cilat janĂ« tregues?
Le tĂ« thonĂ« se ky grup ishte 0 nĂ« 3.
Ju shihni se fundit indeksi Ă«shtĂ« nĂ« fakt 3.
Kjo nuk Ă«shtĂ« 4, edhe pse nuk ka katĂ«r vlerat nĂ« grup.
>> KĂ«shtu qĂ« kĂ«tu, ne duhet tĂ« jenĂ« shumĂ« tĂ« kujdesshĂ«m e asaj gjendjen tonĂ« pĂ«r gjatĂ«sinĂ«
do te jete.
>> Audienca: Nuk do tĂ« jetĂ« n minus 1?
ANDI Peng: Ajo do n minus 1, saktĂ«sisht.
E bĂ«n kĂ«tĂ« kuptim, pse kjo Ă«shtĂ« n minus 1, tĂ« gjithĂ«?
Kjo Ă«shtĂ« pĂ«r shkak se vargjeve janĂ« zero-indeksuar.
Ata fillojnĂ« me 0 dhe tĂ« drejtuar deri n minus 1.
Po, kjo Ă«shtĂ« pak e ndĂ«rlikuar.
NE RREGULL.
Dhe pastaj--
Audienca: Isnt'1 se marrĂ« tashmĂ« kujdesin e pse,
nga vetĂ«m tĂ« mos thĂ«nĂ« "mĂ« pak se ose e barabartĂ« me "dhe vetĂ«m duke thĂ«nĂ« se" mĂ« pak se? "
>> ANDI Peng: Kjo Ă«shtĂ« njĂ« pyetje me tĂ« vĂ«rtetĂ« mirĂ«.
Pra, po.
Por gjithashtu, nĂ« mĂ«nyrĂ«n qĂ« ne jemi zbatimin e drejtĂ« rrjedhĂ«se,
ju duhet tĂ« krahasoni dy vlera.
KĂ«shtu qĂ« ju tĂ« vĂ«rtetĂ« duan tĂ« lĂ«nĂ« "nĂ«" bosh.
Sepse nĂ« qoftĂ« se ju krahasoni kjo, ju nuk jeni duke shkuar
kanĂ« asgjĂ« pas saj tĂ« krahasohet me, apo jo?
Po.
KĂ«shtu qĂ« unĂ« ++.
Le tĂ« shtoni kllapa tona nĂ«.
Uh.
I madh.
KĂ«shtu qĂ« ne kemi nĂ« fillim e lak sonĂ« tĂ« jashtme.
Deri tani ne ndoshta dĂ«shironi tĂ« krijojĂ« njĂ« ndryshore pĂ«r mbajtjen e
udhĂ« tĂ« vlerĂ«s mĂ« tĂ« vogĂ«l, apo jo?
A ka dikush duan tĂ« mĂ« jepte linjĂ« e kodit qĂ« do ta bĂ«jĂ« kĂ«tĂ«?
Ă‡farĂ« na duhet nĂ« qoftĂ« se ne jemi duke shkuar tĂ« duan pĂ«r tĂ« ruajtur diĂ§ka?
>> E drejtĂ«.
Ndoshta njĂ« emĂ«r tĂ« mirĂ« pĂ«r atĂ« do be-- "temp" totalisht works--
ndoshta njĂ« tĂ« quajtur mĂ« me vend do tĂ« jetĂ«, nĂ« qoftĂ« se ne duam value-- mĂ« tĂ« vogĂ«l
>> Audienca: Min.
ANDI Peng: min, atje ne do tĂ« shkojmĂ«.
min do tĂ« ishte mirĂ«.
Dhe kĂ«shtu kĂ«tu, Ă§farĂ« tĂ« bĂ«jmĂ« ne dua tĂ« nisja atĂ« nĂ«?
Kjo Ă«shtĂ« pak i ndĂ«rlikuar.
Sepse tani mĂ« sĂ« fillimi i kĂ«tij grup,
ju nuk e keni shikuar nĂ« asgjĂ«, e drejtĂ«?
Pra, Ă§farĂ«, automatikisht, nĂ«se ne jemi vetĂ«m nĂ« i barabartĂ« me 0,
Ă§farĂ« duam tĂ« nisja Vlera jonĂ« e parĂ« minimale pĂ«r tĂ«?
Audienca: i.
ANDI Peng: i, pikĂ«risht.
Christabel, pse duam tĂ« nisja atĂ« pĂ«r tĂ« i?
>> Audienca: Sepse, mirĂ«, ne jemi duke filluar me 0.
Pra, sepse ne kemi asgjĂ« pĂ«r tĂ« krahasuar atĂ« pĂ«r tĂ«, minimumi do tĂ« pĂ«rfundojĂ« si 0.
>> ANDI Peng: PikĂ«risht.
Pra, ajo Ă«shtĂ« saktĂ«sisht e drejtĂ«.
Sepse ne nuk kemi nĂ« fakt shikoi ende asgjĂ«,
ne nuk e dimĂ« se Ă§farĂ« vlera ynĂ« minimal Ă«shtĂ«.
Ne duam tĂ« vetĂ«m nisja atĂ« pĂ«r UnĂ«, i cili, aktualisht, Ă«shtĂ« e drejtĂ« kĂ«tu.
Dhe si ne vazhdojmĂ« tĂ« lĂ«vizur poshtĂ« kĂ«tĂ« koleksion,
ne do tĂ« shohim se, me Ă§do kalojĂ« shtesĂ«, unĂ« increments.
Dhe kĂ«shtu nĂ« kĂ«tĂ« pikĂ«, I Ă«shtĂ« ndoshta do
tĂ« duan tĂ« jenĂ« minimale, sepse ajo do tĂ« jetĂ« Ă§do gjĂ«
Ă«shtĂ« fillimi i vektorit pandara.
FtohtĂ«.
>> Pra, tani ne duam tĂ« shtoni njĂ« pĂ«r lak kĂ«tu qĂ« Ă«shtĂ«
do tĂ« iterate pĂ«rmes Unsorted, ose pjesa tjetĂ«r e kĂ«tij grup.
A ka dikush duan tĂ« mĂ« jepni njĂ« linjĂ« e kodit qĂ« do ta bĂ«jĂ« kĂ«tĂ«?
Hint-- Ă§farĂ« kemi nevojĂ« kĂ«tu poshtĂ«?
Ă‡farĂ« do tĂ« shkojĂ« nĂ« kĂ«tĂ« pĂ«r lak?
Po.
Audienca: Pra, ne do tĂ« duan tĂ« kanĂ« njĂ« numĂ«r i plotĂ« ndryshme,
sepse ne jemi qĂ« kalon nĂ«pĂ«r pjesĂ«n tjetĂ«r e array nĂ« vend tĂ« I, kĂ«shtu qĂ« ndoshta
j.
>> ANDI Peng: Po, j tingĂ«llon mirĂ« pĂ«r mua.
Ă‹shtĂ« e barabartĂ«?
>> Audienca: Pra, do tĂ« jetĂ« unĂ« plus 1, pĂ«r shkak se ju jeni duke filluar nĂ« vlerĂ«n e ardhshĂ«m.
Dhe pastaj nĂ« end-- Pra, pĂ«rsĂ«ri, j Ă«shtĂ« pak se n minus 1, dhe pastaj j ++.
ANDI Peng: Great.
>> Dhe pastaj nĂ« kĂ«tu, ne do tĂ« duan pĂ«r tĂ« kontrolluar pĂ«r tĂ« parĂ« nĂ«se gjendja jonĂ« Ă«shtĂ« plotĂ«suar,
e drejtĂ«?
PĂ«r shkak se ju doni tĂ« ndryshoni vlerĂ«n minimale
nĂ«se kjo Ă«shtĂ« nĂ« fakt mĂ« e vogĂ«l se ajo qĂ« ju jeni duke e krahasuar atĂ« me, apo jo?
Pra, Ă§farĂ« do tĂ« shkojmĂ« tĂ« duan nĂ« kĂ«tu?
Kontrollo pĂ«r tĂ« parĂ«.
Ă‡farĂ« lloji tĂ« deklaratĂ«s po ne ndoshta do
TI doni tĂ« pĂ«rdorni nĂ« qoftĂ« se ne dĂ«shironi tĂ« shikoni diĂ§ka?
>> Audienca: NjĂ« rast deklaratĂ«.
>> ANDI Peng: NjĂ« nĂ« qoftĂ« se deklarata.
Pra if-- dhe Ă§farĂ« do tĂ« jetĂ« kushti qĂ« ne duam brenda
e nĂ« qoftĂ« se deklarata tonĂ«?
>> Audienca: NĂ«se vlera e j Ă«shtĂ« mĂ« e vogĂ«l se vlera e i--
>> ANDI Peng: PikĂ«risht.
Pra if-- kĂ«shtu qĂ« ky grup quhet "array".
I madh.
Pra, nĂ«se array-- Ă§farĂ« ishte kjo?
Thuaj se pĂ«rsĂ«ri.
>> Audienca: NĂ«se array-j Ă«shtĂ« mĂ« pak se array-i, atĂ«herĂ« ne do tĂ« ndryshojĂ« min.
Pra min do tĂ« j.
>> ANDI Peng: ka qĂ« e bĂ«jnĂ« kuptim?
NE RREGULL.
Dhe tani kĂ«tu poshtĂ«, ne fakt duan pĂ«r tĂ« zbatuar shkĂ«mbim, e drejtĂ«?
Pra kujtojnĂ«, nĂ« leksionin, qĂ« Davidi, kur ai ishte duke u pĂ«rpjekur pĂ«r tĂ« bie nĂ« ujdi the-- Ă§farĂ« ishte
lĂ«ng portokalli dhe milk-- it--
>> Audienca: Kjo ishte bruto.
>> ANDI Peng: Po, ajo ishte lloj i bruto.
Por kjo ishte njĂ« e mirĂ« goxha Koncepti demonstruar kohĂ«.
Pra, mendoni pĂ«r vlerat tuaja kĂ«tu.
Ju keni marrĂ« njĂ« grup i min, njĂ« grup i I,
apo Ă§farĂ«do ne ishim duke u pĂ«rpjekur pĂ«r shkĂ«mbim kĂ«tu.
Dhe ju ndoshta nuk mund tĂ« derdh ato nĂ« njĂ«ri-tjetrin nĂ« tĂ« njĂ«jtĂ«n kohĂ«, e drejtĂ«?
Pra, Ă§farĂ« po shkojmĂ« tĂ« duhet pĂ«r tĂ« krijuar kĂ«tu
nĂ« mĂ«nyrĂ« pĂ«r shkĂ«mbim vlerat saktĂ«?
>> Audienca: NjĂ« variabĂ«l e pĂ«rkohshme.
>> ANDI Peng: NjĂ« variabĂ«l e pĂ«rkohshme.
Pra, le tĂ« bĂ«jĂ« int temp.
Ja, kjo do tĂ« jetĂ« njĂ« mĂ« tĂ« mirĂ« kohĂ« to-- ee, Ă§farĂ« ishte kjo?
NE RREGULL.
Pra, kjo do tĂ« kishte qenĂ« njĂ« mĂ« tĂ« mirĂ« koha pĂ«r emrin e ndryshueshme "temp."
Pra, le tĂ« bĂ«jĂ« int temp.
Ă‡farĂ« do tĂ« shkojmĂ« pĂ«r vendosur temp tĂ« barabartĂ« kĂ«tu?
Audienca: Min?
ANDI Peng: Kjo Ă«shtĂ« pak i ndĂ«rlikuar.
Ajo nĂ« fakt nuk ka rĂ«ndĂ«si nĂ« fund.
Nuk ka rĂ«ndĂ«si se Ă§farĂ« mĂ«nyrĂ« qĂ« ju zgjidhni pĂ«r tĂ« bie nĂ« ujdi nĂ«
sa kohĂ« qĂ« ju jeni duke e bĂ«rĂ« tĂ« sigurt qĂ« ju jeni mbajtja e asaj qĂ« ju po shkĂ«mbejnĂ«.
>> Audienca: Kjo mund tĂ« jetĂ« array-i.
>> ANDI Peng: Po, le ta bĂ«jmĂ« array-i.
Dhe pastaj Ă§farĂ« Ă«shtĂ« vija e ardhshme i kodit ne duam tĂ« kemi kĂ«tu?
Audienca: array-i barabartĂ« array-J.
ANDI Peng: Dhe sĂ« fundi?
Audienca: array-j Ă«shtĂ« e barabartĂ« array-i.
Audienca: Ose array-j barabartĂ« array-temp-- ose, temp.
>> ANDI Peng: OK.
Pra, le tĂ« drejtuar kĂ«tĂ« dhe tĂ« shohim nĂ«se ajo do tĂ« punojĂ«.
Ku kjo ndodh?
Oh, kjo Ă«shtĂ« njĂ« problem.
Shih, nĂ« linjĂ« 40, ne jemi duke u pĂ«rpjekur pĂ«r tĂ« pĂ«rdorur array-J?
Por aty ku nuk j ekzistojnĂ« vetĂ«m nĂ«?
>> Audienca: NĂ« pĂ«r lak.
ANDI Peng: E â€‹â€‹drejta.
Pra, Ă§farĂ« do tĂ« shkojmĂ« tĂ« duhet tĂ« bĂ«jmĂ«?
>> Audienca: Define atĂ« jashtĂ« the--
Audienca: Po, unĂ« mendoj se ju keni pĂ«r tĂ« pĂ«rdorur njĂ« tjetĂ«r nĂ«se deklarata, e drejtĂ«?
Pra si, nĂ« qoftĂ« se minimum-- tĂ« gjithĂ« tĂ« drejtĂ«, mĂ« lejoni tĂ« mendoj.
>> ANDI peng: Guys, provoni pĂ«r tĂ« marrĂ« njĂ« vĂ«shtrim Le tĂ«
shih, Ă§farĂ« Ă«shtĂ« diĂ§ka qĂ« ne mund tĂ« bĂ«jmĂ« kĂ«tu?
>> Audienca: OK.
Pra, nĂ«se minimale nuk i barabartĂ« j-- kĂ«shtu qĂ« nĂ«se minimumi Ă«shtĂ« ende i--
atĂ«herĂ« ne nuk do tĂ« duhet tĂ« bie nĂ« ujdi.
>> ANDI Peng: A do tĂ« barabartĂ« unĂ«?
Ă‡farĂ« doni tĂ« thoni kĂ«tu?
>> Audienca: Ose po, nĂ« qoftĂ« se minimale nuk UnĂ« nuk tĂ« barabartĂ«, po.
ANDI Peng: OK.
MirĂ« qĂ« zgjidh, lloj, problemet tona.
Por qĂ« ende nuk e zgjidh Problemi i se Ă§farĂ« ndodh nĂ« qoftĂ« se j-- qĂ« j
nuk ekziston jashtĂ« saj, Ă§farĂ« nuk ju duam tĂ« bĂ«jmĂ« me tĂ«?
ShpallĂ« jashtĂ«?
Le tĂ« provoni drejtimin kĂ«tĂ«.
Uh-oh.
Lloj jonĂ« nuk Ă«shtĂ« duke punuar.
>> SiĂ§ mund ta shikoni, fillestar ynĂ« array kishte kĂ«to vlera.
Dhe pastaj ajo duhet tĂ« ketĂ« qenĂ« nĂ« 1, 2, 3, 4, 5, 6, 7, 8, 9.
Kjo nuk Ă«shtĂ« duke punuar.
AHH.
Ă‡farĂ« bĂ«jmĂ« ne?
Audienca: Debug.
ANDI Peng: NĂ« rregull, ne mund tĂ« provoni se.
Ne mund tĂ« debug.
Zoom out pak.
Le tĂ« vendosur breakpoint tonĂ«.
Le tĂ« shkojmĂ« OK like--.
>> Pra, sepse ne tashmĂ« e dimĂ« se kĂ«to rreshta, 15 deri 22,
janĂ« working-- sepse tĂ« gjitha unĂ« jam duke bĂ«rĂ« Ă«shtĂ« vetĂ«m iterating pĂ«rmes dhe printing--
UnĂ« mund tĂ« shkoj pĂ«rpara dhe tĂ« kaloni atĂ«.
Le tĂ« fillojmĂ« nĂ« linjĂ« 25.
OOP, mĂ« lejoni tĂ« shpĂ«toj nga kjo.
>> Audienca: Pra breakpoint-sĂ« ku debugging fillon?
ANDI Peng: ose ndalon.
Audienca: Ose ndalesa.
ANDI Peng: Po.
Ju mund tĂ« vendosni breakpoints shumta dhe ajo vetĂ«m mund tĂ« kĂ«rcejnĂ« nga njĂ«ri nĂ« tjetrin.
Por nĂ« kĂ«tĂ« rast ne nuk e dimĂ« ku gabimi ndodh.
Pra, ne vetĂ«m duam tĂ« tĂ« fillojĂ« nga lart poshtĂ«.
Yep.
NE RREGULL.
>> Pra, kjo vijĂ« kĂ«tu, ne mund tĂ« hap nĂ«.
Ju mund tĂ« shihni kĂ«tu poshtĂ«, ne kemi marrĂ« njĂ« grup.
Ata janĂ« vlerat qĂ« janĂ« nĂ« rrjet.
A e shihni se, si indeksi 0, ajo korrespondon me value-- oh,
UnĂ« do tĂ« pĂ«rpiqet pĂ«r tĂ« zmadhuar.
Na vjen keq, Ă«shtĂ« e vĂ«rtetĂ« e vĂ«shtirĂ« tĂ« see-- nĂ« indeksin e array 0,
ne kemi njĂ« vlerĂ« prej 4 dhe pastaj kĂ«shtu me radhĂ« e kĂ«shtu me radhĂ«.
Ne kemi variablave tona lokale.
Tani pĂ«r tani i Ă«shtĂ« i barabartĂ« me 0, tĂ« cilat ne duam qĂ« ajo tĂ« jetĂ«.
>> Dhe kĂ«shtu qĂ« le tĂ« mbajĂ« shkelĂ«n pĂ«rmes.
Minimum ynĂ« Ă«shtĂ« i barabartĂ« me 0, tĂ« cilat ne gjithashtu duam qĂ« ajo tĂ« jetĂ«.
Dhe pastaj hyjmĂ« dytĂ« tonĂ« pĂ«r lak, nĂ«se grup-j Ă«shtĂ« mĂ« pak se vargut-I,
qĂ« nuk ishte.
KĂ«shtu qĂ« e keni parĂ« se si se anashkaluar kjo?
>> Audienca: Pra, duhet qĂ«, nĂ«se minimum, tĂ« gjitha that-- nuk duhet qĂ«
tĂ« jetĂ« brenda tĂ« parĂ«t pĂ«r lak?
ANDI Peng: Jo, sepse ju ende duan pĂ«r tĂ« provuar.
Ju dĂ«shironi tĂ« bĂ«ni njĂ« krahasim Ă§do kohĂ«, edhe pasi ju drejtuar nĂ«pĂ«rmjet saj.
Ju nuk duan vetĂ«m pĂ«r tĂ« bĂ«rĂ« atĂ« nĂ« e parĂ« pĂ«rĂ§imit.
Ju doni tĂ« bĂ«ni atĂ« me Ă§do kalojĂ« shtesĂ« pĂ«rsĂ«ri.
Pra, ju doni tĂ« kontrolloni pĂ«r gjendja juaj brenda.
Pra, ne jemi vetĂ«m duke shkuar pĂ«r tĂ« mbajtur drejtimin pĂ«rmes kĂ«tu.
UnĂ« do tĂ« ju jap djema njĂ« aluzion.
Ajo ka tĂ« bĂ«jĂ« me faktin se kur ju jeni duke kontrolluar kushtĂ«zuar juaj,
ju nuk jeni duke kontrolluar pĂ«r indeksin e saktĂ«.
KĂ«shtu qĂ« tani ju jeni duke kontrolluar pĂ«r indeks grup i j Ă«shtĂ« mĂ« pak se grup
indeksi i i.
Por, Ă§farĂ« jeni duke bĂ«rĂ« nĂ« fillimi i pĂ«r lak?
A nuk jeni vendosjen J barabartĂ« pĂ«r tĂ« i?
>> Yeah, kĂ«shtu qĂ« ne mund tĂ« vĂ«rtetĂ« tĂ« dalĂ« nga Rregullues kĂ«tu.
Pra, le tĂ« marrin njĂ« vĂ«shtrim nĂ« pseudokod tonĂ«.
For-- ne jemi duke shkuar pĂ«r tĂ« fillojĂ« nĂ« i barabartĂ« me 0.
Ne jemi duke shkuar pĂ«r tĂ« shkuar deri nĂ« minus 1 n.
Le tĂ« kontrolloni, nuk kemi atĂ« tĂ« drejtĂ«?
Po, kjo ishte e drejtĂ«.
>> KĂ«shtu pra brenda kĂ«tu, ne jemi do tĂ« krijojĂ« njĂ« vlerĂ« minimale
dhe tĂ« vendosur qĂ« tĂ« barabartĂ« me i.
A e bĂ«jmĂ« kĂ«tĂ«?
Po, e bĂ«ri atĂ«.
Tani nĂ« brendshme pĂ«r lak tonĂ«, ne jemi shkuar pĂ«r tĂ« bĂ«rĂ« j barabartĂ« i tĂ« n minus 1.
A e bĂ«jmĂ« kĂ«tĂ«?
NĂ« tĂ« vĂ«rtetĂ«, ne e bĂ«mĂ« atĂ«.
>> Pra megjithatĂ«, Ă§farĂ« jemi duke krahasuar kĂ«tu?
>> Audienca: j plus 1.
ANDI Peng: PikĂ«risht.
Dhe pastaj ju jeni do tĂ« duan pĂ«r tĂ« vendosur minimale juaj barabartĂ« me j plus 1, si dhe.
KĂ«shtu qĂ« unĂ« shkova me atĂ« tĂ« vĂ«rtetĂ« shpejt.
A e kuptoni ju djema pse kjo Ă«shtĂ« j plus 1?
NE RREGULL.
>> Pra, nĂ« grup tuaj, nĂ« kalojĂ« juaj e parĂ« pĂ«rmes,
juaj pĂ«r lak, pĂ«r int i barabartĂ« me 0, le tĂ« vetĂ«m
supozojmĂ« kjo nuk ka ndryshuar ende.
Ne kemi njĂ« grup tĂ«, krejtĂ«sisht, vetĂ«m katĂ«r elemente Unsorted, e drejtĂ«?
Pra, ne duam tĂ« iniciojnĂ« i barabartĂ« me 0.
Dhe unĂ« do tĂ« vetĂ«m drejtuar nĂ«pĂ«r kĂ«tĂ« lak.
Dhe kĂ«shtu nĂ« kalimin e parĂ«, ne jemi duke shkuar tĂ« nisja njĂ« ndryshore tĂ« quajtur "min"
qĂ« gjithashtu Ă«shtĂ« e barabartĂ« unĂ«, sepse ne nuk kemi njĂ« vlerĂ« minimale.
Pra, kjo Ă«shtĂ« aktualisht e barabartĂ« me 0 si.
Dhe pastaj ne jemi duke shkuar pĂ«r tĂ« shkuar deri.
Dhe ne duam tĂ« iterate pĂ«rsĂ«ri.
Tani qĂ« ne kemi gjetur se Ă§farĂ« minimale ynĂ« Ă«shtĂ«, ne duam tĂ« iterate nĂ«pĂ«r
pĂ«rsĂ«ri pĂ«r tĂ« parĂ« nĂ«se ajo Ă«shtĂ« krahasuar, e drejtĂ«?
KĂ«shtu j, kĂ«tu, do tek i barabartĂ«, e cila Ă«shtĂ« 0.
Dhe pastaj, nĂ«se array j Plus, unĂ«, e cila Ă«shtĂ« ai qĂ« mĂ« tej mbi, si mĂ« pak
se Ă§farĂ« minimum juaj e tanishme vlerĂ« Ă«shtĂ«, ju doni tĂ« bie nĂ« ujdi.
>> Pra, le tĂ« them vetĂ«m ne kemi mori, si, 2, 5, 1, 8.
Tani pĂ«r tani, unĂ« Ă«shtĂ« e barabartĂ« me 0 dhe j eshte e barabarte me 0.
Dhe kjo Ă«shtĂ« vlera jonĂ« minimale.
NĂ«se array-J plus i-- kĂ«shtu qĂ« nĂ«se njĂ« kjo Ă«shtĂ« pas atij ne jemi duke kĂ«rkuar nĂ«
Ă«shtĂ« mĂ« e madhe se ajo e para saj, ajo do tĂ« bĂ«het minimale.
>> Pra, kĂ«tu ne shohim se 5 Ă«shtĂ« jo mĂ« pak se.
KĂ«shtu ajo do tĂ« mos jetĂ« 5.
Ne e shohim se 1 Ă«shtĂ« mĂ« pak se 2, e drejtĂ«?
Pra, tani ne e dimĂ« se minimale ynĂ« Ă«shtĂ« do tĂ« jetĂ« vlera indeks nĂ« 0, 1, 2.
Po?
Dhe pastaj kur ju merrni poshtĂ« kĂ«tu, ju mund tĂ« bie nĂ« ujdi vlerat e sakta.
>> Pra, kur ju djema janĂ« vetĂ«m duke pasur j para, ju nuk ishin nĂ« kĂ«rkim nĂ« njĂ«
pas saj.
Ju keni qenĂ« nĂ« kĂ«rkim nĂ« njĂ«jtĂ« vlerĂ« qĂ«
Ă«shtĂ« arsyeja pse ai thjesht nuk Ă«shtĂ« bĂ«rĂ« asgjĂ«.
A ka qĂ« e bĂ«jnĂ« kuptim pĂ«r tĂ« gjithĂ«, pse kishim nevojĂ« se plus 1 atje?
NE RREGULL.
Tani le tĂ« vetĂ«m tĂ« drejtuar nĂ«pĂ«rmjet saj pĂ«r tĂ« bĂ«rĂ« Sigurohuni qĂ« pjesa tjetĂ«r e kodit Ă«shtĂ« e saktĂ«.
Pse Ă«shtĂ« kjo ndodh?
Ah, kjo Ă«shtĂ« e drejtĂ« kĂ«tu min.
Ne ishim duke krahasuar vlerĂ«n e gabuar.
Oh no.
>> Oh yeah, kĂ«tu poshtĂ« ne kemi qenĂ« shkĂ«mbejnĂ« vlerat gabuar si edhe.
Sepse ne kemi qenĂ« nĂ« kĂ«rkim nĂ« i dhe j.
Ata janĂ« ato qĂ« ne u kontrolluar.
Ne tĂ« vĂ«rtetĂ« duan tĂ« bie nĂ« ujdi minimale, minimumi i tanishĂ«m,
me Ă§farĂ«do njĂ« jashtĂ« Ă«shtĂ«.
Dhe si ju djema mund tĂ« shihni poshtĂ« kĂ«tu, ne kemi njĂ« rrjet tĂ« renditura.
Ajo vetĂ«m kishte tĂ« bĂ«nte me fakti se kur
ne ishim kontrollin e zyrave Vlerat ne u krahasuar,
ne nuk ishin nĂ« kĂ«rkim nĂ« vlerat e duhura.
Ne ishim duke kĂ«rkuar nĂ« tĂ« njĂ«jtĂ«n njĂ« kĂ«tu, jo nĂ« fakt shkĂ«mbejnĂ« atĂ«.
Ju duhet tĂ« shikoni nĂ« njĂ« tjetĂ«r pĂ«r atĂ« dhe pastaj ju mund tĂ« bie nĂ« ujdi.
Pra, kjo Ă«shtĂ« ajo qĂ« ishte lloj i pĂ«rgjimi kodin tonĂ« pĂ«rpara.
Dhe Ă§farĂ« kam bĂ«rĂ« kĂ«tu Ă«shtĂ« gjithĂ§ka debugger mund tĂ« ketĂ« bĂ«rĂ« pĂ«r ju
UnĂ« vetĂ«m e bĂ«ri atĂ« nĂ« bordi, sepse Ă«shtĂ« mĂ« e lehtĂ«
pĂ«r tĂ« parĂ« jo duke u pĂ«rpjekur pĂ«r tĂ« zoom nĂ« nĂ« Rregullues.
A ka qĂ« e bĂ«jnĂ« kuptim pĂ«r tĂ« gjithĂ«?
FtohtĂ«.
>> NĂ« rregull.
Ne mund tĂ« lĂ«vizin pĂ«r folur pĂ«r simbol asymptotic, e cila
Ă«shtĂ« vetĂ«m njĂ« mĂ«nyrĂ« e sofistikuar pĂ«r tĂ« thĂ«nĂ« se runtimes tĂ« gjitha kĂ«to llojet.
KĂ«shtu qĂ« unĂ« e di Davidin, nĂ« leksion, preken runtimes.
Dhe ai kalonte nĂ«pĂ«r tĂ«rĂ« formule se si pĂ«r tĂ« llogaritur runtimes.
Nuk shqetĂ«sohet pĂ«r kĂ«tĂ«.
NĂ«se jeni tĂ« vĂ«rtetĂ« kurioz se si funksionon kjo,
tĂ« ndjehen tĂ« lirĂ« pĂ«r tĂ« biseduar me mua pas seksion.
Ne mund tĂ« ecin nĂ«pĂ«r formula sĂ« bashku.
Por tĂ« gjithĂ« ju djema duhet tĂ« vĂ«rtetĂ« di Ă«shtĂ« se n katror mbi 2
Ă«shtĂ« e njĂ«jta gjĂ« si n katror.
PĂ«r shkak tĂ« numrit mĂ« tĂ« madh, eksponenti, rritet mĂ«.
Dhe kĂ«shtu pĂ«r qĂ«llimet tona, tĂ« gjithĂ« ne lidhje me kujdes
Ă«shtĂ« se numri gjigant qĂ« Ă«shtĂ« nĂ« rritje.
>> Pra, Ă§farĂ« Ă«shtĂ« rasti mĂ« i mirĂ« Runtime e pĂ«rzgjedhjes lloj?
NĂ«se ju jeni do tĂ« ketĂ« tĂ« iterate nĂ«pĂ«r njĂ« listĂ«
dhe pastaj iterate nĂ«pĂ«r pjesa tjetĂ«r e kĂ«saj liste,
Sa herĂ« janĂ« ju do tĂ« ndoshta,
nĂ« case-- mĂ« e keqe nĂ« mĂ« tĂ« mirĂ« rast, sorry-- drejtuar pĂ«rmes?
Ndoshta pyetja mĂ« e mirĂ« Ă«shtĂ« tĂ« pyesni, Ă§farĂ« Ă«shtĂ« rasti mĂ« i keq
Runtime e pĂ«rzgjedhjes lloji.
Audienca: katror n.
ANDI Peng: Ă‹shtĂ« katror n, e drejtĂ«.
Pra, njĂ« mĂ«nyrĂ« e thjeshtĂ« pĂ«r tĂ« menduar e kjo Ă«shtĂ« si, Ă§do herĂ« qĂ« ju keni dy mbivendosur pĂ«r sythe,
ajo do tĂ« jetĂ« katror n.
Sepse jo vetĂ«m qĂ« janĂ« tĂ« kalon nĂ«pĂ«r njĂ« herĂ«,
ju keni pĂ«r tĂ« shkuar mbrapa pĂ«rreth dhe tĂ« drejtuar nĂ«pĂ«rmjet saj
edhe njĂ« herĂ« brenda pĂ«r Ă§do vlerĂ«.
Pra, nĂ« kĂ«tĂ« rast, ju jeni duke n herĂ« n katror, â€‹â€‹e cila is-- vjen keq,
n herĂ« n, e cila Ă«shtĂ« e barabartĂ« me katror n.
>> Dhe lloj Ă«shtĂ« edhe pak unik nĂ« kuptimin
se kjo nuk ka rĂ«ndĂ«si nĂ«se kĂ«to Vlerat janĂ« tashmĂ« nĂ« mĂ«nyrĂ«.
Ă‹shtĂ« ende do tĂ« vazhdojĂ« deri anyways.
Le tĂ« thonĂ« se kjo ishte 1, 2, 3, 4.
PavarĂ«sisht nĂ«se apo jo ajo ishte nĂ« mĂ«nyrĂ«, ai ende do tĂ« kishte vrapoi nĂ«pĂ«r
dhe ende kontrolluar vlerĂ«n minimale.
Ajo do tĂ« kishte bĂ«rĂ« Numri i njĂ«jtĂ« i kontrolleve
Ă§do herĂ« tĂ« vetme, edhe nĂ« qoftĂ« se ajo ka tĂ« vĂ«rtetĂ« nuk prek asgjĂ«.
>> Pra, nĂ« njĂ« rast tĂ« tillĂ«, mĂ« tĂ« mirĂ« dhe mĂ« tĂ« keq runtimes tĂ« vĂ«rtetĂ« janĂ« ekuivalente.
Pra, runtime pritet e pĂ«rzgjedhjes lloji,
tĂ« cilat ne tĂ« caktojĂ« nga simboli i theta, theta, nĂ« kĂ«tĂ« rast,
gjithashtu do tĂ« jetĂ« katror n.
TĂ« tre kĂ«to do tĂ« jetĂ« katror n.
Ă‹shtĂ« kushdo qartĂ« pse runtime Ă«shtĂ« katror n?
>> NĂ« rregull.
KĂ«shtu qĂ« unĂ« jam vetĂ«m do tĂ« shpejt tĂ« drejtuar pĂ«rmes pjesĂ«s tjetĂ«r tĂ« llojet.
Algorithm pĂ«r flluskĂ« sort-- kujtohet,
kjo ishte e para Davidi kaloi nĂ« leksion.
NĂ« thelb, ju hap me anĂ« tĂ« tĂ« gjithĂ« lista
dhe ju swap-- ju vetĂ«m krahasuar dy nĂ« njĂ« kohĂ«.
Dhe nĂ« qoftĂ« se njĂ« Ă«shtĂ« mĂ« e madhe, se ju vetĂ«m tĂ« bie nĂ« ujdi tyre.
Pra, nĂ«se kĂ«to janĂ« mĂ« tĂ« mĂ«dha, ju do tĂ« bie nĂ« ujdi.
Kam zyrtar tĂ« drejtĂ« kĂ«tu.
>> Pra, le tĂ« them vetĂ«m ju kishte 8, 6, 4, 2.
Ju do tĂ« krahasoni 8 dhe njĂ« 6.
Ju do tĂ« duhet tĂ« bie nĂ« ujdi tyre.
Ju do tĂ« krahasoni 8 dhe njĂ« 4.
Ju do tĂ« duhet tĂ« bie nĂ« ujdi tyre.
NĂ«se ju duhet tĂ« bie nĂ« ujdi 8 dhe 2, tĂ« ndryshuar ato si.
Pra, nĂ« njĂ« kuptim tĂ« tillĂ«, ju mund tĂ« shihni, luajtur gjatĂ« njĂ« periudhe tĂ« gjatĂ« kohore,
si lloj vlerat e flluskĂ« nĂ« fundet, e cila Ă«shtĂ« arsyeja pse ne e quajmĂ« atĂ«
lloj flluskĂ«.
>> Ne vetĂ«m do tĂ« drejtuar pĂ«rmes pĂ«rsĂ«ri nĂ« kalojĂ« jonĂ« e dytĂ«, dhe tĂ« kalojĂ« ynĂ« i tretĂ«,
dhe tĂ« kalojĂ« ynĂ« i katĂ«rt.
NĂ« thelb, flluskĂ« lloj vetĂ«m shkon derisa ju nuk do tĂ« bĂ«jĂ« ndonjĂ« kĂ«mbime mĂ« shumĂ«.
Pra, nĂ« kĂ«tĂ« kuptim, kjo Ă«shtĂ« vetĂ«m pseudokod i pĂ«rgjithshĂ«m pĂ«r tĂ«.
Nuk shqetĂ«sohet, tĂ« gjitha kĂ«to do tĂ« jetĂ« online.
Ne nuk duhet tĂ« vĂ«rtetĂ« tĂ« shkuar mbi kĂ«tĂ«.
>> Ne vetĂ«m nisja njĂ« kundĂ«r variabĂ«l qĂ« fillon nĂ« 0.
Dhe ne iterate nĂ«pĂ«r tĂ«rĂ« rrjet.
Dhe nĂ« qoftĂ« se njĂ« vlerĂ« is-- nĂ«se kjo vlerĂ« Ă«shtĂ« mĂ« e madhe se vlera,
ju jeni do tĂ« bie nĂ« ujdi tyre.
Dhe atĂ«herĂ« ju jeni vetĂ«m duke shkuar pĂ«r tĂ« do tĂ« mbajĂ«.
Dhe ju jeni duke shkuar pĂ«r tĂ« numĂ«ruar.
Dhe ju jeni vetĂ«m do tĂ« vazhdojmĂ« tĂ« bĂ«jmĂ« kjo ndĂ«rsa counter Ă«shtĂ« mĂ« i madh
se 0, qĂ« do tĂ« thotĂ« se Ă§do herĂ« qĂ« ju duhet tĂ« bie nĂ« ujdi,
ju e dini qĂ« ju doni tĂ« shkoni mbrapa dhe kontrolloni pĂ«rsĂ«ri.
Ju dĂ«shironi tĂ« mbani kontrollin deri sa ju e dini qĂ« ju nuk duhet tĂ« bie nĂ« ujdi mĂ«.
>> Pra, Ă§farĂ« janĂ« mĂ« tĂ« mirĂ« dhe mĂ« tĂ« keq Rasti runtimes pĂ«r flluskĂ« lloj?
Dhe hint-- kjo Ă«shtĂ« nĂ« fakt e ndryshme nga lloji pĂ«rzgjedhjes nĂ« kuptimin
qĂ« kĂ«to dy pĂ«rgjigjet nuk janĂ« tĂ« njĂ«jta.
Mendoni se Ă§farĂ« do tĂ« ndodhte nĂ« njĂ« rast nĂ« qoftĂ« se ajo Ă«shtĂ« renditur tashmĂ«.
Dhe mendoni se Ă§ka do tĂ« ndodhte nĂ« qoftĂ« se ajo ishte e
ne rastin ku nuk Ă«shtĂ« renditura.
Dhe ju mund tĂ« lloj tĂ« kandidojĂ« pĂ«rmes pse kjo po ndodh.
UnĂ« do tĂ« ju jap djema, si, 30 sekonda pĂ«r tĂ« menduar pĂ«r kĂ«tĂ«.
>> NE RREGULL.
A ka dikush me mend nĂ« Ă§farĂ« Rasti Runtime keqja e flluskĂ« lloj Ă«shtĂ«?
Po.
>> Audienca: A do tĂ« jetĂ«, si, n herĂ« n minus 1 ose diĂ§ka tĂ« tillĂ«?
Si, sa herĂ« qĂ« shkon, kjo Ă«shtĂ« vetĂ«m, si, njĂ« shkĂ«mbim mĂ« pak
se Ă§farĂ«do qoftĂ« ajo ishte.
>> ANDI Peng: Yeah, kĂ«shtu qĂ« ju jeni plotĂ«sisht tĂ« drejtĂ«.
Dhe ky Ă«shtĂ« njĂ« rast nĂ« tĂ« cilin tuaj PĂ«rgjigja ishte nĂ« fakt mĂ« komplekse
se ajo duhet tĂ« japĂ«.
KĂ«shtu ajo do tĂ« run-- unĂ« jam duke shkuar pĂ«r tĂ« fshirĂ« tĂ« gjitha kĂ«to kĂ«tu.
Ă‹shtĂ« e tĂ« gjithĂ« mirĂ«?
A mund tĂ« fshihet kjo?
NE RREGULL.
Ju jeni do tĂ« vazhdojĂ« deri n herĂ« herĂ« tĂ« parĂ«, e drejtĂ«?
Dhe ata do tĂ« vazhdojĂ« deri n minus 1 pĂ«r herĂ« tĂ« dytĂ«, e drejtĂ«?
Dhe pastaj ju do tĂ« jeni pĂ«r tĂ« mbajtur shkuar, n miniera 2, e tĂ« tjera.
Davidi e bĂ«ri kĂ«tĂ« nĂ« njĂ« leksion, ku, nĂ« qoftĂ« se ju shtuar tĂ« gjitha kĂ«to vlera,
qĂ« ju tĂ« merrni diĂ§ka qĂ« Ă«shtĂ« like-- yeah-- mbi 2, e cila nĂ« thelb vetĂ«m zvogĂ«lon
deri n katror.
Ju jeni do tĂ« merrni njĂ« fraksion i Ă§uditshĂ«m nĂ« atje.
Dhe kĂ«shtu vetĂ«m e di se n katror gjithmonĂ«
merr pĂ«rparĂ«si mbi fraksionin.
Dhe kĂ«shtu nĂ« kĂ«tĂ« rast, mĂ« e keqja Runtime do tĂ« jetĂ« katror n.
NĂ« qoftĂ« se kjo ishte nĂ« rend zbritĂ«s rendit, mendoni, ju
duhet tĂ« bĂ«jĂ« njĂ« shkĂ«mbim Ă§do herĂ« tĂ« vetme.
>> Ă‡farĂ« do tĂ« jetĂ«, potencialisht, rasti mĂ« i mirĂ« runtime?
Le tĂ« them vetĂ«m, nĂ« qoftĂ« se lista ishte tashmĂ« nĂ« mĂ«nyrĂ« qĂ«, Ă§farĂ« do tĂ« jetĂ« runtime?
>> Audienca: n.
ANDI Peng: Ă‹shtĂ« n, pikĂ«risht.
Dhe pse Ă«shtĂ« kjo n?
Audienca: sepse ju vetĂ«m duhet tĂ« kontrolloni nĂ« Ă§do herĂ«.
ANDI Peng: PikĂ«risht.
Pra, nĂ« kohĂ«n e duhur tĂ« mirĂ« tĂ« mundshme, nĂ« qoftĂ« se kjo listĂ« ishte tashmĂ«
sorted-- le tĂ« themi 1, 2, 3, 4-- ju thjesht do tĂ« shkojnĂ« nĂ«pĂ«r, ju do tĂ« shikoni,
ju do tĂ« shihni, oh, ata tĂ« gjithĂ« nxjerr.
UnĂ« nuk duhet tĂ« bie nĂ« ujdi.
Mbarova.
Pra, nĂ« kĂ«tĂ« rast, kjo Ă«shtĂ« vetĂ«m n ose numri i hapave ju vetĂ«m
kishte pĂ«r tĂ« kontrolluar nĂ« listĂ«n e parĂ«.
>> Dhe pas, ne tani hit lloj futje, ku
algoritmi Ă«shtĂ« nĂ« thelb pĂ«r tĂ« ndarĂ« ajo nĂ« njĂ« pjesĂ« tĂ« renditura dhe tĂ« pandara.
Dhe pastaj njĂ« nga njĂ«, vlerat Unsorted janĂ«
futen nĂ« tĂ« pĂ«rshtatshme tĂ« tyre pozitat nĂ« fillim tĂ« listĂ«s.
>> KĂ«shtu pĂ«r shembull, ne kemi njĂ« lista e 3, 5, 2, 6, 4 herĂ«.
Ne e dimĂ« se kjo Ă«shtĂ« aktualisht Unsorted sepse ne kemi vetĂ«m
filloi duke kĂ«rkuar nĂ« atĂ«.
Ne kemi marrĂ« njĂ« sy dhe ne e dimĂ« se vlera e parĂ« Ă«shtĂ« renditur, e drejtĂ«?
NĂ« qoftĂ« se ju jeni vetĂ«m nĂ« kĂ«rkim nĂ« njĂ« grup tĂ« njĂ« madhĂ«si, ju e dini se Ă«shtĂ« e renditura.
>> Pra, atĂ«herĂ« ne e dimĂ« se katĂ«r tĂ« tjera janĂ« Unsorted.
Ne do tĂ« shkojmĂ« nĂ«pĂ«r dhe ne e shohim kĂ«tĂ« vlerĂ«.
Le tĂ« kthehemi.
Shih se vlera e 5?
Ne kemi marrĂ« njĂ« vĂ«shtrim nĂ« atĂ«.
Ne krahasojnĂ« atĂ« me 3.
Ne e dimĂ« se kjo Ă«shtĂ« mĂ« e madhe se 3, kĂ«shtu qĂ« ne e dimĂ« se kjo Ă«shtĂ« renditura.
Pra, ne tani e dimĂ« se dy tĂ« parat janĂ« tĂ« renditura dhe tre tĂ« fundit nuk janĂ«.
>> Ne kemi marrĂ« njĂ« vĂ«shtrim nĂ« 2.
Ne sĂ« pari tĂ« kontrolloni atĂ« me 5.
A Ă«shtĂ« mĂ« pak se 5?
Nuk Ă«shtĂ«.
Pra, ne duhet tĂ« mbajnĂ« nĂ« kĂ«rkim poshtĂ«.
Pastaj ju shikoni 2 off 3.
A Ă«shtĂ« mĂ« pak se?
Jo.
Pra, ju e dini se njĂ« 2 duhet tĂ« futet nĂ« pjesĂ«n e pĂ«rparme dhe 3 dhe 5
tĂ« dy duhet tĂ« jetĂ« shtyrĂ« jashtĂ«.
A kjo pĂ«rsĂ«ri me 6 dhe 4.
Dhe ne vetĂ«m i mbajnĂ« kontrollin nĂ« thelb, ku ne vetĂ«m kontrolloni, kontrolloni, kontrolloni.
Dhe derisa kjo Ă«shtĂ« nĂ« tĂ« djathtĂ« pozicion, ne lloj i vetĂ«m
futur atĂ« nĂ« pozitĂ«n e drejtĂ«, i cili Ă«shtĂ« ku emri i saj erdhi nga.
>> Pra, kjo Ă«shtĂ« vetĂ«m algorithm, pseudokod nĂ« vetvete, lloj,
se si ne do tĂ« zbatojĂ« njĂ« lloj futje.
Pseudokod Ă«shtĂ« kĂ«tu.
Kjo Ă«shtĂ« e gjitha nĂ« internet.
Nuk shqetĂ«sohet nĂ«se ju djema janĂ« duke u pĂ«rpjekur tĂ« kopjoni kĂ«tĂ« poshtĂ«.
Pra edhe njĂ« herĂ«, njĂ«jtĂ« question-- Ă§farĂ« do tĂ« jetĂ« mĂ« e mirĂ« dhe mĂ« tĂ« kĂ«qija runtimes
pĂ«r futje lloj?
Ă‹shtĂ« shumĂ« e ngjashme me pyetjen e fundit.
UnĂ« do tĂ« ju jap djema, si, 30 sekonda pĂ«r tĂ« menduar pĂ«r kĂ«tĂ« si edhe.
>> OK A ka dikush doni tĂ« mĂ« jep Runtime tĂ« keq?
Po.
>> Audienca: katror n.
>> ANDI Peng: Ă‹shtĂ« katror n.
Dhe pse Ă«shtĂ« katror n?
>> Audienca: Sepse nĂ« mĂ«nyrĂ« tĂ« kundĂ«rt, ju keni
pĂ«r tĂ« shkuar nĂ«pĂ«r kohĂ« n n, e cila is--
ANDI Peng: Po, pikĂ«risht.
Pra, e njĂ«jta gjĂ« si nĂ« lloj flluskĂ«.
NĂ«se kjo listĂ« Ă«shtĂ« nĂ« rend zbritĂ«s, ju jeni
do tĂ« duhet tĂ« kontrolloni herĂ« tĂ« parĂ«.
Dhe pastaj me Ă§do Vlera shtesĂ«, ju jeni
do tĂ« duhet pĂ«r tĂ« kontrolluar atĂ« kundĂ«r Ă§do vlerĂ« e vetme, e drejtĂ«?
Dhe kĂ«shtu krejt, ju do tĂ« jeni pĂ«r tĂ« bĂ«rĂ« Pasimi n herĂ« tjetĂ«r n kalojnĂ«, e cila
Ă«shtĂ« katror n.
Po nĂ« lidhje me rastin mĂ« tĂ« mirĂ«?
Po.
>> Audienca: n minus 1, sepse i pari Ă«shtĂ« katror tashmĂ«.
>> ANDI Peng: Pra, tĂ« ngushtĂ«.
PĂ«rgjigja Ă«shtĂ« nĂ« fakt n.
Sepse, ndĂ«rsa i pari Ă«shtĂ« renditura, ajo nuk mund tĂ« actually-- atĂ«
ne vetĂ«m pati fatin qĂ«, nĂ« se shembulli, se 2
ka ndodhur tĂ« jetĂ« numĂ«r mĂ« i vogĂ«l.
Por kjo nuk do tĂ« jetĂ« gjithmonĂ« rasti.
NĂ«se 2 Ă«shtĂ« renditur tashmĂ« nĂ« fillim por ju shikoni dhe ka njĂ« 1 kĂ«tu,
nĂ« 1 do tĂ« pĂ«rplasem atĂ«.
Dhe kjo do tĂ« pĂ«rfundojĂ« duke u bumped anyways.
>> Pra, nĂ« rastin mĂ« tĂ« mirĂ«, kjo Ă«shtĂ« nĂ« fakt vetĂ«m do tĂ« jetĂ« n.
NĂ«se kanĂ« 1, 2, 3, 4, 5, 6, 7, 8, ju jeni
duke shkuar pĂ«r tĂ« drejtuar pĂ«rmes se gjithĂ« listĂ«n dikur
pĂ«r tĂ« kontrolluar pĂ«r tĂ« parĂ« nĂ«se Ă§do gjĂ« gjobĂ«s sĂ«.
Ă‹shtĂ« e tĂ« gjithĂ« tĂ« qartĂ« nĂ« drejtimin kohĂ«t e pĂ«rzgjedhjes si?
UnĂ« e di unĂ« jam duke shkuar nĂ«pĂ«r kĂ«to tĂ« vĂ«rtetĂ« tĂ« shpejtĂ«.
Por vetĂ«m e di se nĂ« qoftĂ« se ju e dini koncepte tĂ« pĂ«rgjithshme, ju duhet tĂ« jetĂ« mirĂ«.
NE RREGULL.
KĂ«shtu qĂ« unĂ« vetĂ«m do tĂ« ju jap djema ndoshta, si, njĂ« minutĂ« pĂ«r tĂ« biseduar me fqinjĂ«t tuaj
nĂ« atĂ« qĂ« janĂ« vetĂ«m disa nga dallimet kryesore
nĂ« mes tĂ« kĂ«tyre llojeve tĂ« terezi.
Ne do tĂ« shkojnĂ« mbi atĂ« sĂ« shpejti.
Audienca: Oh, OK.
ANDI Peng: Po.
NE RREGULL.
Cool, le tĂ« mblidhen si njĂ« klasĂ«.
NE RREGULL.
Pra, kjo ishte lloj i njĂ« pyetje me fund tĂ« hapur, nĂ« kuptimin
se ka shumĂ« pĂ«rgjigje pĂ«r to.
Dhe ne do tĂ« shkoj pĂ«r disa prej tyre shkurtimisht.
UnĂ« vetĂ«m tĂ« kĂ«rkuar pĂ«r tĂ« marrĂ« ju djema duke menduar pĂ«r atĂ« diferencuar
tĂ« tre llojet e llojeve.
Dhe dĂ«gjova, gjithashtu, njĂ« i madh question-- Ă§farĂ« do tĂ« bashkojĂ« lloj bĂ«j?
Pyetje e madhe, sepse kjo Ă«shtĂ« ajo qĂ« ne jemi duke mbuluar tĂ« ardhshĂ«m.
>> Pra bashkojĂ« lloj Ă«shtĂ« njĂ« lloj qĂ« funksionon
shumĂ« ndryshe nga llojet e tjera.
SiĂ§ ju djema mund tĂ« see-- bĂ«ri Davidi bĂ«rĂ« kĂ«tĂ« demo
ku ai kishte tĂ« gjitha tĂ« ftohur zhurmat e duke parĂ« se si tĂ« bashkohen
lloj vrapoi, si, pafundĂ«sisht mĂ« shpejt se tĂ« dy llojet e tjera?
NE RREGULL.
Pra, kjo Ă«shtĂ« pĂ«r shkak shkrihen lloj zbaton qĂ« ndajnĂ«
dhe tĂ« pushtuar konceptin qĂ« ne kemi biseduar rreth njĂ« shumĂ« nĂ« leksion.
NĂ« kĂ«tĂ« kuptim qĂ« ne si tĂ« punojmĂ« zgjuar, jo mĂ« shumĂ«, kur ju ndani
dhe tĂ« pushtuar probleme, dhe thyejnĂ« ato poshtĂ«, dhe pastaj tĂ« vĂ«nĂ« ata sĂ« bashku,
gjĂ«rat e mira ndodhin gjithmonĂ«.
>> KĂ«shtu mĂ«nyrĂ« qĂ« bashkohen lloj thelb punon
Ă«shtĂ« se ajo ndan njĂ« array Unsorted nĂ« gjysmĂ«.
Dhe pastaj ai e mori dy gjysmave tĂ« vargjeve.
Dhe vetĂ«m ajo i klasifikon ato dy pjesĂ«t.
VetĂ«m ajo mban e ndarĂ« nĂ« gjysmĂ«, nĂ« gjysmĂ«, nĂ« gjysmĂ« derisa Ă§do gjĂ« Ă«shtĂ« renditur
dhe pastaj Recursively vĂ« atĂ« tĂ« gjithĂ« sĂ« bashku.
>> Pra, kjo Ă«shtĂ« me tĂ« vĂ«rtetĂ« abstrakte.
Pra, kjo Ă«shtĂ« vetĂ«m njĂ« grimĂ« e pseudokod.
A ka kuptim qĂ« nĂ« mĂ«nyrĂ«n se si ajo Ă«shtĂ« drejtimin?
Pra, le tĂ« them vetĂ«m se ju keni njĂ« sĂ«rĂ« elementesh n, e drejtĂ«?
NĂ«se n Ă«shtĂ« mĂ« pak se 2, ju mund tĂ« kthehet.
Sepse ju e dini se nĂ« qoftĂ« se ka vetĂ«m njĂ« gjĂ«, ajo duhet tĂ« ndahen.
TjetĂ«r, ju lloj gjysmĂ«n e majtĂ«, dhe pastaj ju lloj gjysmĂ«n e djathtĂ«,
dhe pastaj ju bashkojĂ«.
>> KĂ«shtu, ndĂ«rsa kjo duket me tĂ« vĂ«rtetĂ« e lehtĂ«, nĂ« tĂ« vĂ«rtetĂ«, duke menduar nĂ« lidhje me tĂ« Ă«shtĂ«
lloj i vĂ«shtirĂ«. Sepse ju jeni si, pra, kjo Ă«shtĂ« lloj i konkurrojnĂ« nĂ« vetvete.
E drejtĂ«?
Ă‹shtĂ« kandidon pĂ«r vete.
Pra, nĂ« kĂ«tĂ« kuptim, David prekur mbi recursion nĂ« klasĂ«.
Dhe kjo Ă«shtĂ« njĂ« koncept ne do tĂ« flasim mĂ« shumĂ«.
Ă‹shtĂ« se kjo, kĂ«to dy linja kĂ«tu, nĂ« fakt Ă«shtĂ« vetĂ«m programi
thĂ«nĂ« atĂ« pĂ«r tĂ« kandiduar vetĂ« me tĂ« dhĂ«na tĂ« ndryshme.
Pra, nĂ« vend se tĂ« kandidojĂ« vetĂ« me tĂ«rĂ«sia e elementeve n,
ju mund tĂ« thyejnĂ« atĂ« poshtĂ« nĂ« gjysma e majtĂ« dhe gjysma e drejtĂ«
dhe pastaj tĂ« drejtuar atĂ« pĂ«rsĂ«ri.
>> Dhe pastaj ne do tĂ« shohim nĂ« atĂ« shikimi, sepse unĂ« jam njĂ« nxĂ«nĂ«s vizual.
Ajo punon mĂ« mirĂ« pĂ«r mua.
Pra, ne do tĂ« shikojmĂ« njĂ« shembull vizual kĂ«tu.
>> Le tĂ« themi se kemi njĂ« rrjet, gjashtĂ« elemente, 3, 5, 2, 6, 4, 1, jo renditura.
TĂ« gjithĂ« tĂ« drejtĂ«, nuk Ă«shtĂ« njĂ« shumĂ« nĂ« kĂ«tĂ« faqe.
Pra, nĂ« qoftĂ« se ju djema mund tĂ« shikoni nĂ« hapi i parĂ« kĂ«tu, 3, 5, 2, 6, 4, 1,
ju mund tĂ« ndarĂ« atĂ« nĂ« gjysmĂ«.
TĂ« ketĂ« 3, 5, 2, 6, 4, 1.
Ju e dini se kĂ«to aren't-- ju nuk e di nĂ«se ata janĂ« tĂ« renditura ose jo,
kĂ«shtu qĂ« ju mbani thyer ato, nĂ« gjysmĂ«, nĂ« gjysmĂ«, nĂ« gjysmĂ«, deri nĂ« fund,
ju keni vetĂ«m njĂ« element.
Dhe njĂ« element Ă«shtĂ« renditur gjithmonĂ«, e drejtĂ«?
>> NĂ« mĂ«nyrĂ« qĂ« tĂ« di se 3, 5, 2, 4, 6, 1, me veten e tyre, janĂ« tĂ« renditura.
Dhe tani ne mund tĂ« vĂ«nĂ« ato pĂ«rsĂ«ri sĂ« bashku.
Pra, ne e dimĂ« 3, 5.
Ne kemi vĂ«nĂ« ata sĂ« bashku.
Ne e dimĂ« se Ă«shtĂ« e renditura.
TĂ« 2 Ă«shtĂ« ende atje.
Ne mund tĂ« vĂ«nĂ« 4 dhe 6 sĂ« bashku.
Ne e dimĂ« se kjo Ă«shtĂ« renditura, kĂ«shtu qĂ« ne kemi vĂ«nĂ« sĂ« bashku se.
Dhe 1 Ă«shtĂ« atje.
>> Dhe pastaj ju vetĂ«m shikoni nĂ« kĂ«to dy gjysmat e drejtĂ« kĂ«tu.
Ke 3, 5, 2, 2, 3, 5.
Ju mund tĂ« krahasoni vetĂ«m fillimi i Ă§do gjĂ«je.
Sepse ju e dini se kjo Ă«shtĂ« renditur dhe ju e dini se qĂ« Ă«shtĂ« renditura.
Pra, atĂ«herĂ« ju nuk duhet edhe tĂ« krahasoni 5, ju vetĂ«m krahasoni 3.
Dhe 2 Ă«shtĂ« mĂ« pak se 3, kĂ«shtu qĂ« ju e dini se 2 duhet tĂ« shkoni nĂ« fund.
>> E njĂ«jta gjĂ« atje.
NĂ« 1 duhet tĂ« shkoni kĂ«tu.
Dhe pastaj kur ju shkoni pĂ«r tĂ« vĂ«nĂ« kĂ«to dy vlera sĂ« bashku,
ju e dini se kjo Ă«shtĂ« renditur dhe ju e dini se kjo Ă«shtĂ« e renditura.
Pra, atĂ«herĂ« 1 dhe 2, 1 Ă«shtĂ« mĂ« pak se 2.
Kjo ju tregon se 1 duhet tĂ« shkojnĂ« nĂ« fund tĂ« kĂ«saj
edhe pa e kĂ«rkuar nĂ« 3 ose 5.
Dhe pastaj 4, ju mund vetĂ«m kontrolloni, ajo shkon drejtĂ« nĂ« kĂ«tu.
Ju nuk duhet tĂ« shikoni nĂ« 5.
E njĂ«jta gjĂ« me 6.
Ju e dini qĂ« 6-- ajo vetĂ«m nuk ka nevojĂ« qĂ« tĂ« shikohen.
>> Dhe kĂ«shtu nĂ« kĂ«tĂ« mĂ«nyrĂ«, ju jeni vetĂ«m kursim veten
shumĂ« hapa, kur ju jeni duke krahasuar.
Ju nuk keni pĂ«r tĂ« krahasuar Ă§do element kundĂ«r elementeve tĂ« tjera.
Ju vetĂ«m krahasoni kundĂ«r atyre se ju duhet tĂ« krahasojnĂ« atĂ« kundĂ«r.
Pra, kjo Ă«shtĂ« lloj i njĂ« koncept abstrakt.
Nuk shqetĂ«sohet nĂ«se kjo nuk Ă«shtĂ« mjaft tĂ« goditur tĂ« drejtĂ« ende.
Por nĂ« pĂ«rgjithĂ«si, kjo Ă«shtĂ« si njĂ« lloj bashkojĂ« punon.
Pyetje, pyetje tĂ« shpejtĂ«, para se tĂ« lĂ«vizĂ«?
Po.
>> Audienca: Pra, ju tha se ju merrni 1, dhe pastaj 4 dhe 6
dhe vĂ«nĂ« ato nĂ«.
Pra, nuk janĂ« those-- nuk janĂ« ju nĂ« kĂ«rkim tĂ« tyre
si elemente tĂ« veĂ§anta, jo si tĂ«rĂ«si?
ANDI Peng: Po.
Pra, Ă§farĂ« po ndodh Ă«shtĂ« se ju nĂ« thelb
janĂ« duke krijuar njĂ« koleksion tĂ« ri fringo.
Pra, ju e dini se, kĂ«tu, unĂ« kam dy vargjeve tĂ« madhĂ«sisĂ« 3, e drejtĂ«?
Pra, ju e dini se array tim renditura duhet tĂ« ketĂ« gjashtĂ« elemente.
KĂ«shtu qĂ« ju vetĂ«m tĂ« krijojĂ« njĂ« Shuma e re e kujtesĂ«s.
Pra, ju jeni lloj i si duke qenĂ« tĂ« kota e kujtesĂ«s,
por kjo nuk ka rĂ«ndĂ«si sepse Ă«shtĂ« kaq i vogĂ«l.
KĂ«shtu qĂ« ju shikoni nĂ« 1 dhe ju shikoni nĂ« 2.
Dhe ju e dini se 1 Ă«shtĂ« mĂ« pak se 2.
Pra, ju e dini se 1 duhet tĂ« shkojnĂ« nĂ« fillimi i tĂ« gjithĂ« atyre.
>> Ju nuk keni nevojĂ« edhe pĂ«r tĂ« shikoni nĂ« 3 dhe 5.
Pra, ju e dini se 1 shkon atje.
Pastaj ju nĂ« thelb pres off 1.
Ă‹shtĂ«, si, tĂ« vdekur pĂ«r ne.
AtĂ«herĂ« ne vetĂ«m duhet 2, 3, 5, dhe pastaj 4 dhe 6.
Dhe pastaj ju e dini se, ju krahasojnĂ« 4 dhe 2,
oh, e 2 duhet tĂ« shkojnĂ« nĂ« atje.
Pra, ju pllum e 2 poshtĂ«, ju pres atĂ«.
Pra, atĂ«herĂ« ju vetĂ«m duhet tĂ« 3 dhe 5 nĂ« 4 dhe 6.
Dhe ju vetĂ«m i mbajnĂ« shĂ«ndoshĂ« atĂ« deri sa ju vĂ«nĂ« ato nĂ« rrjet.
>> Audienca: Pra, ju jeni vetĂ«m gjithmonĂ« krahasuar [e padĂ«gjueshme]?
>> ANDI Peng: PikĂ«risht.
Pra, nĂ« kĂ«tĂ« kuptim, ju jeni vetĂ«m krahasuar, nĂ« thelb,
njĂ« numĂ«r kundrejt numrit tjetĂ«r.
Dhe pĂ«r shkak se ju e dini se ajo Ă«shtĂ« renditur, ju
nuk kanĂ« pĂ«r tĂ« parĂ« pĂ«rmes tĂ« gjithĂ« numrat.
Ju vetĂ«m duhet tĂ« shikoni nĂ« njĂ« tĂ« parĂ«.
Dhe atĂ«herĂ« ju vetĂ«m mund tĂ« pllum ata poshtĂ«, sepse ju e dini
ata i pĂ«rkasin, ku ata duhet tĂ« takojnĂ«.
Po.
Pyetje e mirĂ«.
>> Dhe pastaj nĂ« qoftĂ« se ndonjĂ« nga ju janĂ« pak ambicioz,
tĂ« ndjehen tĂ« lirĂ« pĂ«r tĂ« parĂ« nĂ« kĂ«tĂ« kod.
Kjo Ă«shtĂ« nĂ« fakt zbatimi fizik
se si ne do tĂ« shkruaj bashkojĂ« lloj.
Dhe ju mund tĂ« shihni, kjo Ă«shtĂ« shumĂ« e shkurtĂ«r.
Por idetĂ« prapa ajo janĂ« mjaft komplekse.
Pra, nĂ«se ju ndjeheni si duke tĂ«rhequr kĂ«tĂ« jashtĂ« nĂ« sonte tuaj detyrave tĂ« shtĂ«pisĂ«, tĂ« ndjehen tĂ« lirĂ« pĂ«r tĂ«.
>> NE RREGULL.
KĂ«shtu Davidi shkoi mbi kĂ«tĂ« nĂ« leksion.
Cilat janĂ« rasti mĂ« i mirĂ« runtimes, runtimes mĂ« tĂ« keq,
dhe runtimes pritshme tĂ« merge lloji?
NjĂ« Ă§ift sekonda pĂ«r tĂ« menduar.
Kjo Ă«shtĂ« shumĂ« e vĂ«shtirĂ«, por lloji i intuitive nĂ« qoftĂ« se ju mendoni rreth saj.
NĂ« rregull.
>> Audienca: A Ă«shtĂ« rasti mĂ« i keq n log n?
ANDI Peng: PikĂ«risht.
Dhe pse Ă«shtĂ« n log n.
>> Audienca: Nuk Ă«shtĂ« kjo pĂ«r shkak tĂ« bĂ«het nĂ« mĂ«nyrĂ« eksponenciale mĂ« tĂ« shpejtĂ«,
kĂ«shtu qĂ« Ă«shtĂ« si njĂ« funksion tĂ« qĂ« nĂ« vend qĂ« thjesht tĂ« qenit n
katror apo diĂ§ka?
ANDI Peng: PikĂ«risht.
Pra, arsyeja pse Runtime pĂ«r kĂ«tĂ« Ă«shtĂ« log n
n Ă«shtĂ« because-- Ă§farĂ« jeni bĂ«rĂ« nĂ« tĂ« gjitha kĂ«to hapa?
Ju jeni vetĂ«m i shĂ«ndoshĂ« atĂ« nĂ« gjysmĂ«, e drejtĂ«?
Dhe kĂ«shtu, kur ne jemi duke bĂ«rĂ« log, tĂ« gjitha qĂ« Ă«shtĂ« e bĂ«rĂ«
Ă«shtĂ« duke e ndarĂ« njĂ« problem nĂ« gjysmĂ«, nĂ« gjysmĂ«, nĂ« gjysmĂ«, nĂ« mĂ« shumĂ« pjesĂ«.
Dhe nĂ« kĂ«tĂ« kuptim, ju mund tĂ« lloj tĂ« eliminuar modelin linear
qĂ« ne kemi qenĂ« duke pĂ«rdorur.
Sepse kur ju pres gjĂ«rat nĂ« gjysmĂ«, kjo Ă«shtĂ« njĂ« log.
Kjo Ă«shtĂ« vetĂ«m matematikore MĂ«nyra e pĂ«rfaqĂ«son atĂ«.
>> Dhe pastaj nĂ« fund, nĂ« fund, ju jeni vetĂ«m duke bĂ«rĂ« njĂ« tĂ« kalojĂ« pĂ«rmes tĂ« fundit
pĂ«r tĂ« vĂ«nĂ« tĂ« gjitha prej tyre nĂ« mĂ«nyrĂ«, e drejtĂ«?
Dhe kĂ«shtu qĂ« nĂ« qoftĂ« se ju vetĂ«m duhet tĂ« kontrolloni njĂ« gjĂ«, kjo Ă«shtĂ« n.
Dhe kĂ«shtu qĂ« ju jeni lloj i shumĂ«zuar dy sĂ« â€‹â€‹bashku.
Pra, kjo Ă«shtĂ« si ju keni marrĂ« atĂ« pĂ«rfundimtar kontrolloni pĂ«r N poshtĂ« kĂ«tu me njĂ« regjistĂ«r tĂ« n
deri kĂ«tu.
Dhe nĂ«se ju shumohen ata, qĂ« Ă«shtĂ« n log n.
>> Dhe kĂ«shtu rasti mĂ« i mirĂ« dhe mĂ« tĂ« keq rast dhe pritet qĂ« janĂ« tĂ« gjithĂ« n log n.
Ă‹shtĂ« gjithashtu si njĂ« tjetĂ«r lloji.
Ă‹shtĂ« si pĂ«rzgjedhjes lloj nĂ« kuptimin qĂ« ajo
nuk ka rĂ«ndĂ«si se Ă§farĂ« tuaj Lista Ă«shtĂ«, ajo Ă«shtĂ« vetĂ«m duke shkuar
pĂ«r tĂ« bĂ«rĂ« tĂ« njĂ«jtĂ«n gjĂ« Ă§do herĂ« tĂ« vetme.
NE RREGULL.
Pra, si ju djema mund tĂ« shohim, edhe pse Llojet qĂ« ne kemi shkuar through-- n
katror, â€‹â€‹kjo nuk Ă«shtĂ« shumĂ« efikas.
Dhe, edhe kjo log n n Ă«shtĂ« jo mĂ« efikase.
NĂ«se ju djema janĂ« kurioz, nuk ka mekanizma lloj
qĂ« janĂ« aq tĂ« efektshme qĂ« ata janĂ« pothuajse nĂ« thelb banesĂ« nĂ« kohĂ«n e duhur.
>> Ju keni marrĂ« disa log n-sĂ«.
Ju keni marrĂ« disa log n log.
Ne nuk prek mbi ta nĂ« kĂ«tĂ« klasĂ« tĂ« drejtĂ« tani.
Por nĂ« qoftĂ« se ju djema janĂ« kurioz, tĂ« ndjehen tĂ« lirĂ« pĂ«r tĂ« google, Ă§farĂ« Ă«shtĂ«
mekanizmat mĂ« efikase klasifikim.
UnĂ« nuk e di, ka disa nga ato me tĂ« vĂ«rtetĂ« qesharake,
like-- ka disa me tĂ« vĂ«rtetĂ« ato qesharake qĂ« njerĂ«zit bĂ«jnĂ«.
Dhe ju pyes veten se si ata menduar ndonjĂ«herĂ« pĂ«r kĂ«tĂ«.
Pra google, nĂ« qoftĂ« se ju keni disa rezervĂ« kohĂ«, nĂ«, Ă§farĂ« janĂ« disa mĂ«nyra qesharake
qĂ« people-- si edhe njerĂ«z efikase ways--
kanĂ« qenĂ« nĂ« gjendje tĂ« zbatojĂ« llojet.
NE RREGULL.
Dhe kĂ«tu Ă«shtĂ« vetĂ«m njĂ« tabelĂ« dobishĂ«m pak.
UnĂ« e di se tĂ« gjithĂ« ju, para se tĂ« quiz 0, do tĂ« jetĂ« nĂ« dhomĂ«n tuaj ndoshta duke u pĂ«rpjekur
pĂ«r tĂ« mĂ«suar pĂ«rmendĂ«sh atĂ«.
Pra, kjo Ă«shtĂ« e bukur nĂ« atje pĂ«r ju djema.
VetĂ«m mos harroni logjikĂ«n qĂ« made-- pse ato numra ishin ndodhin.
NĂ«se ju jeni tĂ« humbur gjithmonĂ«, vetĂ«m tĂ« bĂ«jĂ« i sigurt qĂ« ju e dini se Ă§farĂ« llojet janĂ«.
Dhe ju mund tĂ« vazhdojĂ« deri ata nĂ« mendjen tuaj
tĂ« kuptoj se pse ata PĂ«rgjigjet janĂ« kĂ«to pĂ«rgjigje.
>> NĂ« rregull.
Pra, ne jemi duke shkuar pĂ«r tĂ« lĂ«vizur nĂ«, mĂ« nĂ« fund, nĂ« kĂ«rkim.
Sepse si ato prej jush tĂ« cilĂ«t e kanĂ« lexuar pset,
kĂ«rkim Ă«shtĂ« edhe pjesĂ« e Problemi kĂ«saj jave pĂ«rcakton.
Ju do tĂ« kĂ«rkohet pĂ«r tĂ« zbatuar dy lloje tĂ« kĂ«rkimeve.
NjĂ«ra Ă«shtĂ« njĂ« kĂ«rkim linear dhe njĂ« Ă«shtĂ« njĂ« kĂ«rkim binar.
>> Pra, kĂ«rkimi linear Ă«shtĂ« mjaft e lehtĂ«.
Ju vetĂ«m dĂ«shironi tĂ« kĂ«rkoni element e njĂ« liste pĂ«r tĂ« parĂ« nĂ«se ju merrni atĂ«.
Ju thjesht duhet tĂ« iterate nĂ«pĂ«r.
Dhe nĂ« qoftĂ« se ajo Ă«shtĂ« e barabartĂ« me diĂ§ka, ju vetĂ«m mund tĂ« kthejĂ« atĂ«, e drejtĂ«?
Por ai qĂ« ne jemi mĂ« tĂ« interesuar nĂ« duke folur pĂ«r
Ă«shtĂ« search binar, e drejtĂ«, qĂ« Ă«shtĂ« tĂ« ndarĂ« dhe tĂ« mekanizmit tĂ« pushtuar qĂ«
Davidi u demonstruar nĂ« leksion.
>> Mos harroni shembullin librin e telefonit se ai vazhdon tĂ« sjellĂ« lart,
ai qĂ« ai lloj i luftuan pak nĂ« kĂ«tĂ« vit tĂ« kaluar,
ku ju ndani problemin nĂ« gjysmĂ«, nĂ« gjysmĂ«, nĂ« gjysmĂ«, pĂ«rsĂ«ri dhe pĂ«rsĂ«ri,
derisa ju tĂ« gjeni atĂ« qĂ« ju po kĂ«rkoni?
Dhe ju keni marrĂ« Runtime e se si.
Dhe ju mund tĂ« shihni, Ă«shtĂ« nĂ« mĂ«nyrĂ« tĂ« konsiderueshme mĂ« tĂ« efektshme
se Ă§do lloj tjetĂ«r tĂ« kĂ«rkimit.
>> Pra, mĂ«nyra se si ne do tĂ« shkojnĂ« pĂ«r zbatimin e njĂ« kĂ«rkim binar
Ă«shtĂ«, nĂ«se do tĂ« kishim njĂ« rrjet, indeks 0 nĂ« 6, shtatĂ« elementĂ«,
ne mund tĂ« shikojmĂ« nĂ« mes, right-- keq, nĂ« qoftĂ« se pyetjes sonĂ« first--
nĂ« qoftĂ« se ne duam tĂ« kĂ«rkojĂ« pyetjen e, bĂ«n array pĂ«rmbajnĂ« elementin e 7,
natyrisht, duke qenĂ« njerĂ«zit, dhe duke pasur tillĂ« njĂ« grup i vogĂ«l, Ă«shtĂ« e lehtĂ« pĂ«r ne
pĂ«r tĂ« thĂ«nĂ« po.
Por mĂ«nyra pĂ«r tĂ« zbatuar njĂ« binar KĂ«rkimi do tĂ« jetĂ« pĂ«r tĂ« parĂ« nĂ« mes.
>> Ne e dimĂ« se indeksi 3 Ă«shtĂ« e mesme, sepse ne
e di se ka shtatĂ« elemente.
Ă‡farĂ« 7 ndarĂ« nga 2?
Ju mund tĂ« pres jashtĂ« se Extra 1.
Ju keni marrĂ« 3 nĂ« mes.
Pra, Ă«shtĂ« grup i 3 barabartĂ« me 7?
Kjo nuk Ă«shtĂ«, apo jo?
Por ne mund tĂ« bĂ«jĂ« njĂ« Ă§ift tĂ« kontrolleve.
Ă‹shtĂ« grup i 3 mĂ« pak se 7 ose Ă«shtĂ« grup i 3 mĂ« i madh se 7?
>> Dhe ne e dimĂ« se kjo Ă«shtĂ« mĂ« pak se 7.
Pra, ne e dimĂ« se, oh, ajo duhet tĂ« tĂ« mos jetĂ« nĂ« gjysmĂ«n e majtĂ«.
Ne e dimĂ« se ajo duhet tĂ« jetĂ« nĂ« gjysmĂ«n e djathtĂ«, e drejtĂ«?
Pra, ne vetĂ«m mund tĂ« pres jashtĂ« gjysmĂ«n e array.
Ne nuk kemi as tĂ« shikojnĂ« atĂ« mĂ«.
Sepse ne e dimĂ« se gjysma e problem-- tonĂ«
ne e dimĂ« se pĂ«rgjigja Ă«shtĂ« nĂ« gjysma e drejta e problemit tonĂ«.
Pra, ne vetĂ«m shikoni nĂ« atĂ« tani.
>> Deri tani ne shikojmĂ« nĂ« mes tĂ« asaj qĂ« ka mbetur.
Se indeksi 5.
Ne bĂ«jmĂ« tĂ« njĂ«jtĂ«n kontroll pĂ«rsĂ«ri dhe ne e shohim se kjo Ă«shtĂ« mĂ« e vogĂ«l.
Pra, ne shikojmĂ« nĂ« tĂ« majtĂ« tĂ« kĂ«saj.
Dhe pastaj ne e shohim kĂ«tĂ« kontroll.
Ă‹shtĂ« vlera array nĂ« indeks 4 barabartĂ« me 7?
Eshte.
Pra, ne mund tĂ« kthehen vĂ«rtetĂ«, sepse kemi gjetur vlerĂ«n nĂ« listĂ«n tonĂ«.
A mĂ«nyrĂ«n se unĂ« shkova me qĂ« kanĂ« kuptim pĂ«r tĂ« gjithĂ«?
NE RREGULL.
UnĂ« do tĂ« ju jap djema ndoshta, si, tre, katĂ«r minuta pĂ«r tĂ« kuptoj se
si ta pseudokod kĂ«tĂ« nĂ«.
>> Pra, imagjinoni I pyetur ju pĂ«r tĂ« shkruar njĂ« Funksioni i quajtur kĂ«rkimit () qĂ« u kthye
njĂ« vlerĂ«, njĂ« vlerĂ« Boolean, kjo ishte e vĂ«rtetĂ« apo false-- si,
e vĂ«rtetĂ« nĂ« qoftĂ« se ju gjetur Vlera, false nĂ« qoftĂ« se ju nuk e keni.
Dhe pastaj ju ishit kaloi nĂ« vlerĂ«n e ju
janĂ« nĂ« kĂ«rkim pĂ«r nĂ« vlera, tĂ« cilat Ă«shtĂ« array-- oh, unĂ« patjetĂ«r vĂ«nĂ«
qĂ« nĂ« vendin e gabuar.
NE RREGULL.
Anyways, qĂ« duhet tĂ« ketĂ« qenĂ« nĂ« tĂ« djathtĂ« e vlerave.
Dhe pastaj int n Ă«shtĂ« numri i elementeve nĂ« atĂ« rrjet.
Si do tĂ« ju shkoni nĂ« lidhje me duke u pĂ«rpjekur tĂ« pseudokod kĂ«tĂ« problem nĂ«?
UnĂ« do tĂ« ju jap djema si tre minuta pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ«.
Jo, unĂ« mendoj se ka only-- Po, ka njĂ« tĂ« drejtĂ« deri kĂ«tu.
Audienca: A mund unĂ«?
ANDI Peng: Po, kam marrĂ« ju.
A Ă«shtĂ« kjo pune?
OK, i ftohtĂ«.
>> NE RREGULL.
TĂ« gjitha djema drejtĂ«, ne jemi duke shkuar pĂ«r tĂ« frenuar atĂ« nĂ«.
NE RREGULL.
Pra, supozojmĂ« ne kemi marrĂ« kjo bukuroshe pak grup me vlerat n nĂ« tĂ«.
UnĂ« nuk e kam nxjerrĂ« linja.
Por si do tĂ« shkojmĂ« nĂ« lidhje duke u pĂ«rpjekur pĂ«r tĂ« shkruar kĂ«tĂ«?
A ka dikush duan tĂ« mĂ« jep vijĂ«n e parĂ«?
NĂ«se ju doni tĂ« jepni vija e parĂ« e kĂ«tij pseudokod.
>> Audienca: [padĂ«gjueshme]
Audienca: Ju do tĂ« doni tĂ« iterate through--
Audienca: VetĂ«m njĂ« tjetĂ«r pĂ«r lak?
Audienca: --for.
>> ANDI Peng: Pra, kjo Ă«shtĂ« pak i ndĂ«rlikuar.
Mendoni? PĂ«r ju doni pĂ«r tĂ« mbajtur drejtimin e kĂ«tij loop
pa pushim deri kur?
>> Audienca: Deri nĂ« [e padĂ«gjueshme] vlerĂ« Ă«shtĂ« e barabartĂ« me atĂ« vlerĂ«.
ANDI Peng: PikĂ«risht.
KĂ«shtu qĂ« ju mund tĂ« vĂ«rtetĂ« vetĂ«m write-- ne mund edhe tĂ« thjeshtojĂ« atĂ« mĂ«.
Ne mund tĂ« bĂ«jĂ« vetĂ«m njĂ« lak, ndĂ«rsa, e drejtĂ«?
KĂ«shtu qĂ« ju mund tĂ« ketĂ« vetĂ«m loop-- ne e dimĂ« se kjo Ă«shtĂ« njĂ« kohĂ«.
Por pĂ«r tani, unĂ« jam duke shkuar tĂ« thonĂ« "lak" - me Ă§farĂ«?
Loop until-- ajo qĂ« Ă«shtĂ« gjendja jonĂ« i dhĂ«nĂ« fund?
UnĂ« mendoj se kam dĂ«gjuar atĂ«.
Kam dĂ«gjuar dikĂ« tĂ« thotĂ« atĂ«.
>> Audienca: Vlerat e barabartĂ« qendĂ«r.
ANDI Peng: Thuaj atĂ« pĂ«rsĂ«ri.
Audienca: Ose, derisa Vlera e ju jeni nĂ« kĂ«rkim
pĂ«r tĂ« Ă«shtĂ« e barabartĂ« me vlerĂ«n e mesme.
>> ANDI Peng: Ă‡farĂ« ndodh nĂ«se nuk Ă«shtĂ« nĂ« atje?
Ă‡farĂ« nĂ«se vlera ju jeni nĂ« kĂ«rkim sepse nuk Ă«shtĂ« nĂ« fakt nĂ« kĂ«tĂ« grup?
Audienca: Ti kthehen 1.
>> ANDI Peng: Por ajo qĂ« duam tĂ« lak derisa nĂ« qoftĂ« se ne kemi njĂ« gjendje?
Po.
>> Audienca: Derisa ka vetĂ«m njĂ« vlerĂ«?
ANDI Peng: Ju mund tĂ« loop until-- kĂ«shtu qĂ« ju e dini qĂ« ju jeni
do tĂ« ketĂ« njĂ« vlerĂ« max, e drejtĂ«?
Dhe ju e dini se ju do tĂ« jeni tĂ« ketĂ« njĂ« vlerĂ« min, apo jo?
Sepse ashtu, kjo Ă«shtĂ« diĂ§ka Kam harruar tĂ« them mĂ« parĂ«,
kjo diĂ§ka qĂ« Ă«shtĂ« kritik pĂ«r kĂ«rkimin binar
Ă«shtĂ« se grup juaj Ă«shtĂ« renditur tashmĂ«.
Sepse nuk ka asnjĂ« mĂ«nyrĂ« pĂ«r tĂ« bĂ«rĂ« kjo nĂ«se ata janĂ« vlera tĂ« vetĂ«m tĂ« rastit.
Ju nuk e dini nĂ«se dikush Ă«shtĂ« mĂ« i madh se tjetri, e drejtĂ«?
>> Pra, ju e dini se max tuaj dhe min tuaj kĂ«tu, apo jo?
NĂ«se ju do tĂ« jeni tĂ« pĂ«rshtatur max juaj nĂ« minuta tuaja dhe mid--
le tĂ« supozojmĂ« tuaj Vlera e mesit Ă«shtĂ« here-- e drejtĂ«
ju jeni do tĂ« nĂ« thelb lak deri minimale juaj Ă«shtĂ«
pothuajse i njĂ«jtĂ« si max juaj, tĂ« drejtĂ«, ose nĂ«se max juaj nuk Ă«shtĂ« i njĂ«jtĂ« si min tuaj.
E drejtĂ«?
Sepse kur kjo ndodh, ju e dini se ju pĂ«rfundimisht keni goditur tĂ« njĂ«jtĂ«n vlerĂ«.
Pra, ju doni tĂ« lak deri min tuaj Ă«shtĂ« mĂ« pak se ose e barabartĂ« to-- Oops,
jo me pak se ose te barabarte me, mĂ«nyra tĂ« tjera around-- max Ă«shtĂ«.
>> E qĂ« tĂ« bĂ«jnĂ« kuptim?
Kam marrĂ« njĂ« pĂ«rpiqet pak pĂ«r tĂ« marrĂ« atĂ« tĂ« drejtĂ«.
Por lak deri vlerĂ«n tuaj max Ă«shtĂ« nĂ« thelb pothuajse mĂ« pak
se ose e barabartĂ« me minimum tuaj, apo jo?
Kjo Ă«shtĂ« kur ju e dini qĂ« e keni converged.
Audienca: Kur do maksimale juaj Vlera tĂ« jetĂ« mĂ« pak se minimumi?
ANDI Peng: NĂ« qoftĂ« se ju mbani pĂ«rshtatur atĂ« qĂ«
Ă«shtĂ« ajo qĂ« ne jemi duke shkuar tĂ« jetĂ« bĂ«rĂ« nĂ« kĂ«tĂ«.
A ka kjo kuptim?
Minimale dhe max janĂ« vetĂ«m integers se ne jemi ndoshta
do tĂ« duan tĂ« krijojnĂ« tĂ« mbajnĂ« gjurmĂ«t e ku ne jemi duke kĂ«rkuar.
Sepse array ekziston pavarĂ«sisht se Ă§farĂ« jemi duke bĂ«rĂ«.
Si, ne nuk jemi nĂ« fakt fizikisht kishte prerĂ« grup, e drejtĂ«?
Ne jemi vetĂ«m rregullimin ku ne jemi duke kĂ«rkuar.
A ka kjo kuptim?
>> Audienca: Po.
>> ANDI Peng: OK.
Pra, nĂ«se kjo Ă«shtĂ« kusht pĂ«r lak tonĂ«, Ă‡farĂ« duam brenda kĂ«tij lak?
Ă‡farĂ« do tĂ« shkojmĂ« pĂ«r tĂ« dashur pĂ«r tĂ« bĂ«rĂ«?
Deri tani, ne kemi marrĂ« njĂ« max dhe njĂ« min, e drejtĂ«,
ndoshta e krijuar deri kĂ«tu diku.
Ne jemi duke shkuar pĂ«r tĂ« ndoshta dĂ«shironi pĂ«r tĂ« gjetur njĂ« e mesme, tĂ« drejtĂ«?
Si do tĂ« jetĂ« gjendje pĂ«r tĂ« gjetur e mesme?
Ă‡farĂ« Ă«shtĂ« mathematical--
Audienca: Max Plus min ndarĂ« nga 2.
ANDI Peng: PikĂ«risht.
A ka kjo kuptim?
Dhe ju djema shoh pse ne nuk ka vetĂ«m use-- pse ne e bĂ«mĂ« kĂ«tĂ«
nĂ« vend tĂ« bĂ«rĂ« vetĂ«m n ndarĂ« nga 2?
Kjo Ă«shtĂ« pĂ«r shkak se n Ă«shtĂ« njĂ« vlerĂ« qĂ« do tĂ« mbetet e njĂ«jtĂ«.
E drejtĂ«?
Por si ne tĂ« rregullojĂ« minimale tonĂ« dhe Vlerat maksimale, ata do tĂ« ndryshojĂ«.
Dhe si rezultat, tĂ« mesĂ«m ynĂ« do tĂ« ndryshojĂ« shumĂ«.
Pra, kjo Ă«shtĂ« arsyeja pse ne duam pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ« tĂ« drejtĂ« kĂ«tu.
NE RREGULL.
>> Dhe pastaj, tani qĂ« ne kemi gjetur our-- vĂ«rtet.
>> Audienca: VetĂ«m njĂ« question-- shpejtĂ« kur ju thoni min dhe max,
jemi duke supozuar se kjo Ă«shtĂ« renditur tashmĂ«?
>> ANDI Peng: Po, kjo Ă«shtĂ« nĂ« fakt njĂ« parakusht pĂ«r njĂ« kĂ«rkim binar,
qĂ« ju duhet tĂ« dini Ă«shtĂ« e renditura.
Cila Ă«shtĂ« arsyeja pse lloj, ju shkruani nĂ« tuaj Problemi vĂ«nĂ« pĂ«rpara kĂ«rkimin tuaj binar.
NE RREGULL.
Pra, tani qĂ« ne e dimĂ« se ku midpoint ynĂ« po, Ă§farĂ« ju doni tĂ« bĂ«ni kĂ«tu?
>> Audienca: Ne duam pĂ«r tĂ« krahasuar qĂ« nĂ« njĂ« tjetĂ«r.
ANDI Peng: PikĂ«risht.
Pra, ju jeni duke shkuar pĂ«r tĂ« krahasuar nĂ« mes tĂ« vlerĂ«s, e drejtĂ«?
Dhe Ă§farĂ« do tĂ« thoni Na kur krahasojmĂ«?
Ă‡farĂ« duam tĂ« bĂ«jmĂ« mĂ« pas?
>> Audienca: NĂ«se vlera Ă«shtĂ« mĂ« e madhe sesa mesi, ne duam ta preje.
ANDI Peng: PikĂ«risht.
Pra, nĂ«se vlera Ă«shtĂ« mĂ« e madhe sesa mesi, ne jemi
do tĂ« duan tĂ« ndryshojnĂ« kĂ«to maxes minimale dhe, e drejtĂ«?
Ă‡farĂ« duam tĂ« ndryshojĂ«?
Pra, nĂ«se ne e dimĂ« se vlera Ă«shtĂ« diku nĂ« kĂ«tu, Ă§farĂ« ju qĂ« tĂ« ndryshojĂ«?
Ne duam tĂ« ndryshojmĂ« tonĂ« minimale tĂ« jetĂ« nĂ« mes, e drejtĂ«?
Dhe pastaj tjetĂ«r, nĂ« qoftĂ« se Ă«shtĂ« nĂ« kĂ«tĂ« gjysmĂ«, Ă§farĂ« ne duam tĂ« ndryshojmĂ«?
>> Audienca: maksimumi juaj.
ANDI Peng: Po.
Dhe pastaj ju jeni vetĂ«m duke shkuar pĂ«r tĂ« mbajtur looping, e drejtĂ«?
Sepse tani, pas njĂ« pĂ«rsĂ«ritje pĂ«rmes, ju keni marrĂ« njĂ« max kĂ«tu.
Dhe pastaj ju mund tĂ« rillogarisĂ« njĂ« mesi.
Dhe pastaj ju mund tĂ« krahasohen.
Dhe ju jeni duke shkuar pĂ«r tĂ« mbajtur vazhdim e sipĂ«r deri nĂ« minuta dhe maxes
kanĂ« konverguar nĂ« thelb.
Dhe kjo Ă«shtĂ« kur ju e dini se ju keni goditur nĂ« fund tĂ« tij.
Dhe as qĂ« ju keni gjetur atĂ« apo ju nuk e keni nĂ« atĂ« pikĂ«.
>> A ka kjo kuptim pĂ«r tĂ« gjithĂ«?
NE RREGULL.
Kjo Ă«shtĂ« shumĂ« e rĂ«ndĂ«sishme, sepse ju do tĂ« keni
pĂ«r tĂ« shkruar kĂ«tĂ« nĂ« kodin sonte tuaj.
Por ju djema keni njĂ« mjaft tĂ« mirĂ« kuptim tĂ« asaj qĂ« ju duhet tĂ« bĂ«ni,
e cila Ă«shtĂ« e mirĂ«.
NE RREGULL.
Pra, ne kemi marrĂ« pĂ«r shtatĂ« minuta largua seksion.
Pra, ne jemi duke shkuar pĂ«r tĂ« folur pĂ«r kjo pset qĂ« ne do tĂ« bĂ«jmĂ«.
Pra pset Ă«shtĂ« i ndarĂ« nĂ« dy gjysma.
Gjysma e parĂ« pĂ«rfshin zbatimin e njĂ« gjeni
nĂ« tĂ« cilĂ«n ju shkruani njĂ« kĂ«rkim linear, njĂ« kĂ«rko binar, dhe njĂ« algoritmi klasifikim.
>> Pra, kjo Ă«shtĂ« e para kohĂ« nĂ« njĂ« pset ku
ne do tĂ« jetĂ« duke ju djema atĂ« qĂ« e quajti Kodin e ShpĂ«rndarjes, e cila Ă«shtĂ« kodi
qĂ« kemi para-shkruar, por vetĂ«m lĂ«nĂ« disa pjesĂ« jashtĂ«
pĂ«r ju pĂ«r tĂ« pĂ«rfunduar shkrimin.
Pra, ju djema, kur ju shikoni nĂ« kĂ«tĂ« Kodi, ju mund tĂ« merrni frikĂ«suar me tĂ« vĂ«rtetĂ«.
NĂ«se ju jeni vetĂ«m pĂ«lqen, Ahh, unĂ« nuk e di se Ă§ka e bĂ«n,
UnĂ« nuk e di, si, qĂ« duket aq e komplikuar, AHH, relaksohuni.
Eshte mire.
Lexoni spekulim.
Spekulim do tĂ« shpjegojĂ« pĂ«r ju saktĂ«sisht Ă‡farĂ« tĂ« gjitha kĂ«to programe janĂ« duke bĂ«rĂ«.
>> PĂ«r shembull, generate.c Ă«shtĂ« njĂ« program qĂ« do tĂ« vijĂ« me pset tuaj.
Ju nĂ« fakt nuk duhet tĂ« prekĂ« atĂ«, por ju duhet tĂ« kuptoni se Ă§farĂ« Ă«shtĂ« bĂ«rĂ«.
Dhe generate.c, gjithĂ« kjo e bĂ«n Ă«shtĂ« ose gjeneruar numra tĂ« rastit
ose ju mund t'i jepte njĂ« farĂ«, si njĂ« Numri i paracaktuar qĂ« ajo merr,
dhe ajo gjeneron mĂ« shumĂ« numra.
Pra, ka njĂ« mĂ«nyrĂ« tĂ« veĂ§antĂ« pĂ«r tĂ« zbatojnĂ« generate.c nĂ« tĂ« cilĂ«n
ju mund tĂ« bĂ«ni vetĂ«m njĂ« bandĂ« e numrave pĂ«r ju pĂ«r tĂ« testuar metodat tuaja tĂ« tjera me radhĂ«.
>> Pra, nĂ«se ju tĂ« kĂ«rkuar pĂ«r tĂ«, pĂ«r shembull, provoni tĂ« gjeni tuaj,
ju do tĂ« duan pĂ«r tĂ« drejtuar generate.c, tĂ« gjenerojĂ« njĂ« bandĂ« tĂ« numrave,
dhe pastaj tĂ« drejtuar ndihmues funksionin tuaj.
Funksioni i ndihmĂ«sit juaj Ă«shtĂ« ajo ku ju jeni nĂ« fakt fizikisht shkruar kodin.
Dhe tĂ« mendojnĂ« pĂ«r ndihmĂ«sve si njĂ« file bibliotekĂ«s ju jeni me shkrim se gjeni Ă«shtĂ« thirrje.
Dhe kĂ«shtu brenda helpers.c, ju do tĂ« tĂ« bĂ«jĂ« kĂ«rkimin dhe klasifikim.
>> Dhe pastaj ju do tĂ« jeni nĂ« thelb vetĂ«m vĂ«nĂ« tĂ« gjithĂ« sĂ« bashku.
Spekulim do tĂ« ju tregojnĂ« se si pĂ«r tĂ« vĂ«nĂ« atĂ« nĂ« rreshtin e komandave.
Dhe ju do tĂ« jetĂ« nĂ« gjendje pĂ«r tĂ« provuar nĂ«se janĂ« apo Nuk lloj juaj dhe kĂ«rkimit janĂ« duke punuar.
FtohtĂ«.
Ka tashmĂ« ka filluar dikush dhe problemet e hasura ose pyetje
ata kanĂ« tĂ« drejtĂ« tani me kĂ«tĂ«?
NE RREGULL.
>> Audienca: Prisni.
Kam njĂ« pyetje.
>> ANDI Peng: Po.
>> Audienca: KĂ«shtu qĂ« kam filluar duke bĂ«rĂ« KĂ«rkimi lineare nĂ« helpers.c
dhe kjo nuk ishte me tĂ« vĂ«rtetĂ« duke punuar.
Por pastaj mĂ« vonĂ«, unĂ« kuptova qĂ« ne vetĂ«m duhet tĂ« fshini atĂ« dhe tĂ« bĂ«ni kĂ«rkimin binar.
Pra, nuk ka rĂ«ndĂ«si nĂ«se ajo nuk punon?
>> ANDI Peng: PĂ«rgjigje tĂ« shkurtĂ«r Ă«shtĂ« jo.
Por, pasi qĂ« ne jemi not--
Audienca: Por askush nuk e nĂ« fakt kontrolluar.
ANDI Peng: Ne kurrĂ« nuk jemi do tĂ« shohim se.
Por ju ndoshta dĂ«shironi tĂ« bĂ«ni i sigurt KĂ«rkimi juaj Ă«shtĂ« duke punuar.
Sepse nĂ« qoftĂ« se linear juaj KĂ«rkimi nuk funksionon,
atĂ«herĂ« shanset janĂ« binare tuaj KĂ«rkimi nuk do tĂ« punojĂ« si edhe.
Sepse ju keni ngjashme logjikĂ« nĂ« dy prej tyre.
Dhe jo, kjo nuk ka rĂ«ndĂ«si.
Pra, tĂ« vetmit qĂ« do tĂ« kthehet nĂ« janĂ« lloj dhe kĂ«rkimi binar.
Po.
>> Dhe gjithashtu, shumĂ« fĂ«mijĂ« ishin duke u pĂ«rpjekur pĂ«r tĂ« hartuar helpers.c.
Ju nuk jeni i lejuar nĂ« fakt pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ«, sepse helpers.c
nuk kanĂ« njĂ« funksion kryesor.
Dhe kĂ«shtu qĂ« ju duhet vetĂ«m jetĂ« nĂ« tĂ« vĂ«rtetĂ« pĂ«rpilimin
tĂ« gjenerojĂ« dhe pĂ«r tĂ« gjetur, sepse gjeni thirrjet helpers.c dhe funksionet brenda tij.
KĂ«shtu qĂ« e bĂ«n debugging njĂ« dhimbje nĂ« prapanicĂ«.
Por kjo Ă«shtĂ« ajo qĂ« ne duhet tĂ« bĂ«jmĂ«.
Audienca: Ju vetĂ«m tĂ« bĂ«jĂ« tĂ« gjitha, apo jo?
ANDI Peng: Ju mund tĂ« vetĂ«m tĂ« bĂ«rĂ« tĂ« gjithĂ« si dhe, po.
NE RREGULL.
Pra, kjo Ă«shtĂ« ajo nĂ« drejtim tĂ« asaj pset Ă«shtĂ« duke kĂ«rkuar qĂ« tĂ« gjithĂ« ju tĂ« bĂ«ni.
NĂ«se keni ndonjĂ« pyetje, mos tĂ« lirĂ« tĂ« pyesni mua pas seksion.
UnĂ« do tĂ« jem kĂ«tu pĂ«r, si, 20 minuta.
>> Dhe vĂ«rtet, pset-sĂ« me tĂ« vĂ«rtetĂ« nuk Ă«shtĂ« se e keqe.
Ju djema duhet tĂ« jetĂ« nĂ« rregull.
KĂ«to, thjesht ndiqni udhĂ«zimet.
Lloji i kanĂ« njĂ« ndjenjĂ« tĂ«, logjikisht, Ă§farĂ« duhet tĂ« ndodhĂ« dhe ju do tĂ« jetĂ« nĂ« rregull.
Mos tĂ« jetĂ« shumĂ« i frikĂ«suar.
Nuk Ă«shtĂ« njĂ« shumĂ« e kodit shkruar tashmĂ« atje.
Mos tĂ« jetĂ« shumĂ« i frikĂ«suar nĂ« qoftĂ« se ju nuk e bĂ«ni tĂ« kuptojnĂ« atĂ« qĂ« tĂ« gjithĂ« e qĂ« do tĂ« thotĂ«.
NĂ« qoftĂ« se kjo Ă«shtĂ« njĂ« shumĂ«, kjo Ă«shtĂ« krejtĂ«sisht nĂ« rregull.
Dhe tĂ« vijnĂ« nĂ« orarit tĂ« punĂ«s.
Ne do tĂ« ju ndihmojĂ« tĂ« marrĂ« njĂ« sy.
>> Audienca: Me shtesĂ« funksionet, nuk shohim ato lart?
>> ANDI Peng: Po, ata janĂ« nĂ« kodin.
NĂ« ndeshjen e 15, gjysma e Ă«shtĂ« e shkruar tashmĂ« pĂ«r ju.
Pra, ato funksione janĂ« tashmĂ« nĂ« kodin.
Yep.
NĂ« rregull.
E pra, mirĂ« e fat.
Kjo Ă«shtĂ« njĂ« ditĂ« e pĂ«shtirĂ«.
Pra, shpresojmĂ« se ju djema nuk do tĂ« ndjehen shumĂ« keq pĂ«r tĂ« qĂ«ndruar brenda dhe kodim.