>> [Muzika]
DOUG Lloyd: PĂ«rzgjedhja lloj Ă«shtĂ« njĂ« algorithm qĂ«, si ju mund tĂ« presin,
klasifikon njĂ« grup elementesh.
Dhe algorithm risjell Ă«shtĂ« njĂ« grup hap-pas-hapi
UdhĂ«zimet pĂ«r plotĂ«simin e njĂ« detyre.
>> NĂ« pĂ«rzgjedhjen lloj Ideja themelore Ă«shtĂ« kjo,
gjeni elementin mĂ« tĂ« vogĂ«l Unsorted dhe shtoni atĂ« nĂ« fund tĂ« listĂ«s renditura.
Efektivisht Ă‡farĂ« kjo nuk Ă«shtĂ« ndĂ«rtuar njĂ« listĂ« tĂ« renditura, njĂ« element nĂ« njĂ« kohĂ«.
Thyer atĂ« poshtĂ« pĂ«r pseudokod ne mund tĂ« deklarojĂ« kĂ«tĂ« algorithm
si mĂ« poshtĂ«, tĂ« pĂ«rsĂ«ritur kĂ«tĂ« deri ka elemente Unsorted mbeten.
KĂ«rko pĂ«rmes Unsorted tĂ« dhĂ«nat pĂ«r tĂ« gjetur vlerĂ«n mĂ« tĂ« vogĂ«l,
pastaj tĂ« bie nĂ« ujdi vlerĂ«n mĂ« tĂ« vogĂ«l me elementi i parĂ« i pjesĂ«s pandara.
>> Kjo mund tĂ« ndihmojĂ« tĂ« kujtoj kĂ«tĂ«, kĂ«shtu qĂ« le tĂ« marrin njĂ« vĂ«shtrim nĂ« kĂ«tĂ«.
Pra kjo, unĂ« luftoj, Ă«shtĂ« njĂ« array Unsorted dhe unĂ« kam
treguar atĂ« duke treguar se tĂ« gjitha nga elementet janĂ« tĂ« ngjyrosura kuqe,
ata nuk janĂ« tĂ« renditura ende.
Kjo Ă«shtĂ« e gjithĂ« pjesĂ« Unsorted e vektorit.
>> Pra, le tĂ« shkojnĂ« nĂ«pĂ«r hapat e Zgjedhja lloj pĂ«r tĂ« zgjidhur kĂ«tĂ« koleksion.
Pra, pĂ«rsĂ«ri, ne jemi gonna pĂ«rsĂ«ritje derisa ka elemente Unsorted mbeten.
Ne jemi gonna tĂ« kĂ«rkuar pĂ«rmes tĂ« dhĂ«nat pĂ«r tĂ« gjetur vlerĂ«n mĂ« tĂ« vogĂ«l,
dhe pastaj tĂ« bie nĂ« ujdi se vlera me tĂ« elementi i parĂ« i pjesĂ«s pandara.
>> Tani pĂ«r tani, pĂ«rsĂ«ri, tĂ« gjithĂ« array Ă«shtĂ« pjesa Unsorted.
TĂ« gjitha elementet e kuqe janĂ« Unsorted.
KĂ«shtu qĂ« ne tĂ« kĂ«rkuar pĂ«rmes dhe ne gjejmĂ« vlerĂ«n mĂ« tĂ« vogĂ«l.
Ne tĂ« fillojĂ« nĂ« fillim, ne do tĂ« shkojmĂ« deri nĂ« fund,
ne gjejmĂ« vlera mĂ« tĂ« vogĂ«l Ă«shtĂ«, njĂ«.
Pra, kjo Ă«shtĂ« pjesa e parĂ«.
Dhe pastaj pjesa e dytĂ«, bie nĂ« ujdi se vlera me elementi i parĂ« i pjesĂ«s pandara,
ose elementi i parĂ« tĂ« kuqe.
>> NĂ« kĂ«tĂ« rast qĂ« do tĂ« jetĂ« pesĂ«, kĂ«shtu qĂ« ne bie nĂ« ujdi njĂ« dhe pesĂ«.
Kur e bĂ«jmĂ« kĂ«tĂ«, ne mund tĂ« vizualisht tĂ« shihni se ne kemi
lĂ«vizur elementin mĂ« tĂ« vogĂ«l me vlerĂ« e array, nĂ« fillim.
Efektivisht klasifikim atĂ« element.
>> Dhe kĂ«shtu qĂ« ne me tĂ« vĂ«rtetĂ« mund tĂ« konfirmojmĂ« dhe shtet qĂ« njĂ«, Ă«shtĂ« e renditura.
Dhe kĂ«shtu qĂ« ne do tĂ« tregojnĂ« pjesĂ«n e renditura e array tonĂ«, duke e ngjyrosur blu.
>> Tani ne vetĂ«m pĂ«rsĂ«ris procesin pĂ«rsĂ«ri.
Ne kĂ«rko nĂ«pĂ«r pjesĂ«n e paklasifikuara tĂ« array pĂ«r tĂ« gjetur elementin mĂ« tĂ« vogĂ«l.
NĂ« kĂ«tĂ« rast, Ă«shtĂ« dy.
>> Ne shkĂ«mbim se me parĂ« element i pjesĂ«s pandara.
NĂ« kĂ«tĂ« rast dy gjithashtu ndodh tĂ« jetĂ« elementi i parĂ« i pjesĂ«s pandara.
Pra, ne tĂ« bie nĂ« ujdi dy me vete, e cila me tĂ« vĂ«rtetĂ« vetĂ«m lĂ« dy
ku Ă«shtĂ«, dhe Ă«shtĂ« e renditura.
Duke vazhduar mĂ«, ne tĂ« kĂ«rkuar pĂ«rmes pĂ«r tĂ« gjetur elementin mĂ« tĂ« vogĂ«l.
Ă‹shtĂ« e tre.
Ne shkĂ«mbim me parĂ« element, qĂ« Ă«shtĂ« pesĂ«.
Dhe tani tre Ă«shtĂ« e renditura.
>> Ne kĂ«rkoni pĂ«rmes pĂ«rsĂ«ri, dhe ne gjetur elementi mĂ« i vogĂ«l Ă«shtĂ« katĂ«r.
Ne tĂ« bie nĂ« ujdi atĂ« me elementin e parĂ« tĂ« pjesĂ« Unsorted, dhe tani katĂ«r Ă«shtĂ« e renditura.
>> Ne gjejmĂ« se pesĂ« Ă«shtĂ« elementi mĂ« i vogĂ«l.
Ne shkĂ«mbim me parĂ« element i pjesĂ«s pandara.
Dhe tani pesĂ« Ă«shtĂ« e renditura.
>> Dhe pastaj nĂ« fund, tonĂ« Pjesa Unsorted pĂ«rbĂ«het
e vetĂ«m njĂ« element tĂ« vetĂ«m, kĂ«shtu qĂ« ne tĂ« kĂ«rkuar nĂ«pĂ«r
dhe ne gjejmĂ« se gjashtĂ« Ă«shtĂ« mĂ« i vogĂ«l, dhe nĂ« fakt, vetĂ«m element.
Dhe pastaj ne mund tĂ« themi se ajo Ă«shtĂ« e renditura.
Dhe tani ne kemi ndezur koleksion tonĂ« nga tĂ« qenit Unsorted plotĂ«sisht
nĂ« tĂ« kuqe, tĂ« zgjidhet plotĂ«sisht nĂ« ngjyrĂ« blu, duke pĂ«rdorur pĂ«rzgjedhjes lloj.
>> Pra, Ă§farĂ« Ă«shtĂ« skenari mĂ« i keq kĂ«tu?
Edhe nĂ« absolut mĂ« tĂ« keq rast, ne duhet tĂ« shikojmĂ« gjatĂ«
tĂ« gjitha elementet e vektorit tĂ« gjeni elementin mĂ« tĂ« vogĂ«l Unsorted,
dhe ne kemi pĂ«r tĂ« pĂ«rsĂ«ritur ky proces n herĂ«.
NjĂ« herĂ« pĂ«r Ă§do element tĂ« vektorit sepse ne vetĂ«m, nĂ« kĂ«tĂ« algorithm,
lloj njĂ« element nĂ« kohĂ«.
>> Ă‡farĂ« Ă«shtĂ« skenari mĂ« i mirĂ«?
E pra kjo Ă«shtĂ« saktĂ«sisht e njĂ«jtĂ«, e drejtĂ«?
Ne fakt duhet tĂ« ende hap pĂ«rmes Ă§do element i vetĂ«m i vektorit
nĂ« mĂ«nyrĂ« qĂ« tĂ« konfirmoj qĂ« ajo Ă«shtĂ«, nĂ« fakt, elementi mĂ« i vogĂ«l.
>> Pra rast Runtime e keqja, ne duhet tĂ« pĂ«rsĂ«ris njĂ« proces n herĂ«,
herĂ« pĂ«r secilin prej elementeve n.
Dhe nĂ« rastin mĂ« tĂ« mirĂ«, ne duhet tĂ« bĂ«jmĂ« tĂ« njĂ«jtĂ«n gjĂ«.
>> Pra duke menduar pĂ«rsĂ«ri pĂ«r tonĂ« Toolbox kompjuterike kompleksiteti,
Ă§farĂ« mendoni se Ă«shtĂ« mĂ« e keqja Rasti Runtime tĂ« pĂ«rzgjedhjes lloj?
Ă‡farĂ« mendoni se Ă«shtĂ« mĂ« e mira Rasti Runtime tĂ« pĂ«rzgjedhjes lloj?
>> A ju me mend Big O i n katror, dhe Big Omega i n katror?
Ju do tĂ« jetĂ« e drejtĂ«.
Ata janĂ«, nĂ« fakt, Rasti mĂ« i keq dhe rastit tĂ« drejtuar mirĂ«
herĂ«, pĂ«r zgjedhjen lloji.
>> UnĂ« jam Doug Lloyd.
Kjo Ă«shtĂ« CS50.