>> HOPARL脰R 1: B眉t眉n sa臒, biz geri edir.
CS50 xo艧 g蓹lmisiniz.
Bu h蓹ft蓹 yeddi sonu.
Bel蓹 ki, son d蓹f蓹 xat谋rlay谋ram, biz ba艧lad谋 biraz daha m眉r蓹kk蓹b baxaraq
m蓹lumat strukturlar.
陌ndiy蓹 q蓹d蓹r bu yana, biz b眉t眉n h蓹qiq蓹t蓹n idi bizim s蓹r蓹ncam谋nda bu, bir s谋ra idi.
>> Amma biz serial谋n imtina kimi deyil, 蓹vv蓹l b眉t眉n maraql谋, hans谋 h蓹qiq蓹t蓹n
茝slind蓹, b蓹zi n蓹 edilir Bu sad蓹 m蓹lumatlar谋n m眉sb蓹t
strukturu indiy蓹 q蓹d蓹r?
Bu yax艧谋 n蓹dir?
陌ndiy蓹 q蓹d蓹r g枚rd眉k kimi?
N蓹 var?
He莽 bir 艧ey.
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: N蓹 o?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Sabit 枚l莽眉s眉.
OK, bel蓹 ki, niy蓹 sabit 枚l莽眉s眉 olsa yax艧谋d谋r?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: OK, bel蓹 ki, s蓹m蓹r蓹li var bir ayr谋lmas谋 bil蓹r ki, m蓹nada
kosmik sabit m蓹bl蓹臒, hans谋 in艧allah d蓹qiq 莽ox
yer ist蓹diyiniz kimi.
Bel蓹 ki, tamamil蓹 bir plus ola bil蓹r.
>> Bir s谋ra dig蓹r up t蓹r蓹fi n蓹dir?
B蓹li?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: B眉t眉n - 眉zr?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: yadda艧 B眉t眉n qutular谋 v蓹 ya bir-birin蓹 yan谋nda.
V蓹 faydal谋 var - niy蓹?
Bu 莽ox do臒ru.
Amma nec蓹 ki, h蓹qiq蓹t istifad蓹 ed蓹 bil蓹r?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: M蓹hz, biz takip ed蓹 bil蓹rsiniz h蓹r 艧ey yaln谋z bilerek oldu臒u
bir y蓹ni 眉nvan谋, yerl蓹艧diyi 眉nvan yadda艧 ki y谋臒谋n ilk byte.
V蓹 ya simli halda, ilk 眉nvan谋
ki, simli ild蓹 karakter.
V蓹 orada, biz tapa bil蓹rsiniz simli sonunda.
Biz ikinci element ki, tapa bil蓹rsiniz 脺莽眉nc眉 element, v蓹 s.
>> V蓹 izah bel蓹 x眉lya yolu x眉susiyy蓹t Diziler biz蓹 ki,
rasgele eri艧im.
Yaln谋z kvadrat m枚t蓹riz蓹 istifad蓹 ed蓹r蓹k, notation v蓹 bir s谋ra, siz atlayabilir
serial谋n m眉蓹yy蓹n bir element daimi vaxt, b枚y眉k O
bir, bel蓹 dan谋艧maq.
>> Lakin b蓹zi downsides olub.
Bir s谋ra 莽ox asanl谋qla n蓹 deyil?
Bu yax艧谋 n蓹 deyil?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: N蓹 o?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: 枚l莽眉s眉 geni艧l蓹ndirilm蓹si.
Ki, serial谋n downsides ki n蓹 d蓹qiq 蓹ks
upsides var.
Bel蓹 ki, downsides biri bir sabit 枚l莽眉s眉 var.
Bel蓹likl蓹, siz, h蓹qiq蓹t蓹n, inki艧af ed蓹 bilm蓹z.
Siz b枚y眉k bir y谋臒谋n t蓹krar b枚l眉艧d眉r蓹 bil蓹r yadda艧, sonra k枚hn蓹 elementl蓹ri h蓹r蓹k蓹t
yeni massivin蓹.
V蓹 sonra pulsuz k枚hn蓹 dizi, M蓹s蓹l蓹n, malloc v蓹 ya ox艧ar istifad蓹 ed蓹r蓹k,
realloc adl谋 funksiyas谋 olan reallocates yadda艧.
>> Realloc bir k蓹nara kimi, siz蓹 verm蓹k 莽al谋艧谋r serial谋n yan谋nda oldu臒unu yadda艧
茝g蓹r siz art谋q var.
Amma bu 艧eyi h蓹r蓹k蓹t ed蓹 bil蓹r c蓹mi 蓹traf谋nda.
Amma q谋sa ki, sa臒, bahal谋?
脟眉nki siz yadda艧 bir y谋臒谋n varsa Bu 枚l莽眉s眉, ancaq h蓹qiq蓹t蓹n bir ist蓹yir蓹m
Bu 枚l莽眉s眉, v蓹 qorumaq ist蓹yirsinizs蓹 orijinal elementl蓹ri var
t蓹xmin蓹n x蓹tti vaxt 莽谋xarmaq prosesi ki, n蓹 laz谋md谋r
yeni k枚hn蓹 array.
V蓹 reall谋q 蓹m蓹liyyat istiyor t蓹krar sistemi v蓹
yen蓹 yadda艧 b枚y眉k chunks ba艧laya bil蓹r el蓹c蓹 d蓹 bir m眉dd蓹t ba艧a.
Bel蓹 ki, xeyir-dua v蓹 l蓹n蓹t, h蓹m d蓹 var , fakt谋 枚rt-basd谋r bu seriallarda
sabit 枚l莽眉s眉 var.
Amma biz 蓹v蓹zin蓹 bir 艧ey t蓹qdim 蓹g蓹r bu kimi hans谋 bir ba臒l谋 deyil蓹n
siyah谋s谋, biz bir ne莽蓹 upsides almaq v蓹 bir ne莽蓹 burada downsides h蓹m莽inin.
>> Bir ba臒l谋 siyah谋 sad蓹c蓹 bir m蓹lumat bel蓹 strukturu C structs t蓹艧kil
bir struct, geri, yaln谋z oldu臒u halda, bir v蓹 ya daha spesifik 眉莽眉n konteyner
d蓹yi艧蓹nl蓹rin n枚vl蓹ri.
Bu halda, n蓹 m蓹lumat n枚vl蓹ri etm蓹k ki, struct daxilind蓹 g枚r眉n眉r ki,
Sonuncu d蓹f蓹 biz bir node deyil蓹n?
Bu d眉zbucaql谋 h蓹r bir node edir.
V蓹 ki莽ik d眉zbucaql谋 h蓹r onun daxilind蓹 bir m蓹lumat n枚v眉d眉r.
Biz n蓹 n枚v dem蓹k idi Onlar bazar ert蓹si idi?
B蓹li?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: A d蓹yi艧蓹n v蓹 bir pointer, v蓹 ya Daha konkret des蓹k, bir int, n,
v蓹 alt谋ndak谋 bir g枚st蓹rici.
O h蓹m d蓹, 32 bit olmaq n蓹 Bu CS50 kimi komp眉ter 眉zr蓹 蓹n
Appliance v蓹 onlar etdiyiniz bel蓹 枚l莽眉s眉 b蓹rab蓹r etmi艧dir.
>> Yax艧谋 pointer istifad蓹 y蓹qin 眉莽眉n nec蓹?
Diziler zaman niy蓹 indi bu arrow 蓹lav蓹 bel蓹 g枚z蓹l v蓹 t蓹miz v蓹 sad蓹?
G枚st蓹rici 眉莽眉n n蓹 edir biz蓹 bu qov艧aqlar谋n谋n h蓹r?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Eynil蓹 el蓹.
Harada belirten oldu n枚vb蓹ti biridir.
Bel蓹likl蓹, m蓹n n枚v il蓹 analogiya istifad蓹 v蓹 d眉zm蓹k 眉莽眉n bir m枚vzu istifad蓹
birlikd蓹 bu qov艧aqlar谋n谋n M枚vzu.
V蓹 biz yap媒yorsun d蓹qiq n蓹 var g枚st蓹ricil蓹rin蓹 莽眉nki bu h蓹r
yadda艧 chunks ola bil蓹r v蓹 ya biti艧ik, geri geri geri
RAM daxilind蓹, 莽眉nki h蓹r zaman malloc dey蓹r蓹k z蓹ng, m蓹n蓹 kifay蓹t q蓹d蓹r verm蓹k
Yeni node 眉莽眉n bytes, bu g眉c Burada olmaq v蓹 ya burada ola bil蓹r.
Burada ola bil蓹r.
Siz yaln谋z bilmir蓹m.
>> Amma 眉nvanlarda g枚st蓹ricil蓹rin蓹 istifad蓹 o qov艧aqlar谋n谋n, siz stitch onlara bil蓹r
birlikd蓹 vizual g枚r眉n眉r ki, bir yol bu 艧eyi, h蓹tta 蓹g蓹r bir siyah谋 kimi
b眉t眉n bir v蓹 ya h蓹yata yay谋lm谋艧d谋r Sizin iki v蓹 ya RAM sizin d枚rd qiqabayt
枚z komp眉ter daxilind蓹.
>> , Sonra, 陌艧in m蓹nfi t蓹r蓹fi odur Bel蓹 ki, bir ba臒l谋 siyah谋 n蓹dir?
Biz ist蓹yirik qiym蓹t nedir y蓹qin 枚d蓹y蓹n?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: daha 莽ox yer, sa臒?
Biz bu halda, m蓹bl蓹臒i iki d蓹f蓹 etdik kosmik biz getdi sonra, 莽眉nki
h蓹r biri 眉莽眉n h蓹r node 眉莽眉n 32 bit olan int, indi biz 64 bit 莽眉nki
el蓹c蓹 d蓹 bir g枚st蓹rici 蓹traf谋nda saxlamaq.
Daha 莽ox s蓹m蓹r蓹liliyi almaq struct 蓹g蓹r Bu sad蓹 艧ey b枚y眉kd眉r.
H蓹qiq蓹t蓹n daxilind蓹 bir t蓹l蓹b蓹 varsa olan strings bir ne莽蓹 眉莽眉n
ad谋 v蓹 ev, b蓹lk蓹 bir 艧蓹xsiyy蓹t n枚mr蓹si, c蓹mi b蓹lk蓹 b蓹zi dig蓹r sah蓹l蓹rd蓹.
>> B枚y眉k bir kifay蓹t q蓹d蓹r struct varsa, onda b蓹lk蓹 g枚st蓹rici d蓹y蓹ri
bel蓹 b枚y眉k.
Bu bir k眉nc i艧in bir az biz bel蓹 bir sad蓹 primitiv saxlan谋lmas谋 edirik
ba臒l谋 siyah谋 daxilind蓹.
Amma bax谋m谋ndan eynidir.
Siz m眉tl蓹q daha 莽ox s蓹rf edirik yadda艧, lakin siz 蓹ld蓹 etdiyiniz
rahatl谋q.
陌ndi bir element 蓹lav蓹 etm蓹k ist蓹yirsinizs蓹 脟眉nki Bu siyah谋n谋n ba艧谋nda,
Yeni node ay谋rmaq laz谋md谋r.
V蓹 m蓹n yaln谋z yenil蓹m蓹 var yaln谋z h蓹r蓹k蓹t birt蓹h蓹r oxlar
蓹traf谋nda bir g枚st蓹ricil蓹rin蓹.
>> M蓹n bir 艧ey 蓹lav蓹 etm蓹k ist蓹yirsinizs蓹 siyah谋s谋n谋n orta, m蓹n yoxdur
Biz n蓹 kimi k蓹nara h蓹r k蓹s t蓹kan Bizim k枚n眉ll眉l蓹ri il蓹 h蓹ft蓹 ke莽mi艧 olan
bir s谋ra t蓹msil.
M蓹n yaln谋z bir yeni node ayr谋lmas谋 bil蓹r sonra yaln谋z oklar谋 qeyd
m眉xt蓹lif istiqam蓹tl蓹rd蓹 deyil, 莽眉nki faktiki qalmaq 眉莽眉n
M蓹n t蓹rtib etdiyiniz kimi yadda艧 蓹sl x蓹tt burada ekranda bu.
>> V蓹 sonra n蓹hay蓹t, siz 蓹lav蓹 etm蓹k ist蓹yirsinizs蓹 siyah谋n谋n sonunda bir 艧ey, bu,
daha asan.
Bu, ixtiyari notation n枚v edir lakin 34-nin pointer, bir tahmin edir.
茝n 莽ox onun g枚st蓹rici d蓹y蓹ri n蓹dir k枚hn蓹 kimi ehtimal t蓹rtib sort
orada m蓹kt蓹b antenna?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Bu, y蓹qin ki null var.
And olsun ki, bir m眉蓹llif null n眉may蓹nd蓹liyi.
脟眉nki siz tamamil蓹 V蓹 null var bilm蓹k laz谋md谋r bir ba臒l谋 sonunda
siyah谋s谋 a艧a臒谋dak谋 saxlamaq dey蓹, v蓹 Bu oxlar a艧a臒谋dak谋 v蓹 a艧a臒谋dak谋
b蓹zi zibil d蓹y蓹ri.
Bel蓹 null yoxdur ki, demek ed蓹c蓹k 34 sayl谋 h眉ququ daha 莽ox qov艧aqlar谋n谋n,
bu halda.
>> Bel蓹 ki, biz h蓹yata ke莽ir蓹 bil蓹r ki, t蓹klif kod bu node.
V蓹 biz bu c眉r g枚rd眉m syntax 蓹vv蓹l.
Typedef yaln谋z yeni n枚v眉 m眉蓹yy蓹n biz蓹 kimi biz蓹 sinonimi verir
string char * idi.
Bu halda, bu, biz蓹 verm蓹k olacaq stenoqrafiya notation ki struct node
yerine kimi yaz谋la bil蓹r bir 莽ox t蓹miz olan node.
Az ayr谋nt谋l谋 bir 莽ox var.
>> Bir node daxilind蓹 y蓹qin bir int edir adl谋 n, sonra struct node *
olan biz ist蓹dik d蓹qiq n蓹 dem蓹kdir oxlar ba艧qa bir pointer dem蓹k
eyni data tipli node.
V蓹 m蓹n, biz h蓹yata ke莽irmi艧ik ki, t蓹klif Bu kimi axtar谋艧 funksiyas谋 olan
陌lk bax谋艧dan g枚r眉n蓹 bil蓹r bir az kompleksi.
Lakin bu kontekstd蓹 baxaq.
>> M蓹n蓹 burada cihaz 眉z蓹rind蓹 gidelim.
M蓹n蓹 z蓹ng bir fayl a莽maq ed蓹k siyah谋s谋 s谋f谋r dot h.
V蓹 yaln谋z m眉蓹yy蓹n biz ehtiva yaln谋z bu m蓹lumat 眉莽眉n bir an 蓹vv蓹l g枚rd眉m
n枚v眉 node 莽a臒谋r谋b.
Bel蓹likl蓹, biz bir dot h fayla g蓹tirdik.
>> V蓹 bir k蓹nara, h蓹tta bu, sanki g枚rm蓹k haqq谋nda oldu臒unu proqram谋
b眉t眉n ki, kompleks, h蓹qiq蓹t蓹n var bir proqram yazark蓹n konvensiya
莽蓹km蓹k 眉莽眉n, data n枚vl蓹ri kimi 艧eyl蓹r qoymaq b蓹z蓹n daxili sizin sabitl蓹ri
header fayl v蓹 m眉tl蓹q ild蓹 C fayl, 蓹lb蓹tt蓹 zaman
proqramlar谋 daha b枚y眉k v蓹 daha b枚y眉k almaq, bel蓹 ki, 眉莽眉n, h蓹m d蓹 baxmaq harada oldu臒unu bilirsinizmi
b蓹zi hallarda s蓹n蓹dl蓹rin v蓹 ya bu kimi 蓹saslar谋, 眉莽眉n
bir n枚v眉 m眉蓹yy蓹n.
>> 陌ndi siyah谋s谋 s谋f谋r dot a莽maq edin c, bir ne莽蓹 艧ey qeyd.
Bu 蓹n 莽ox bir ne莽蓹 m枚vzu fayllar谋 daxildir olan biz 蓹vv蓹l g枚rd眉m.
O, 枚z header file daxildir.
>> V蓹 bir k蓹nara kimi, buna g枚r蓹 ikiqat var burada quotes, kimi bucaq f蓹rqli
x蓹tt 眉z蓹rind蓹 M枚t蓹riz蓹d蓹 ki, M蓹n orada qeyd etdik?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: B蓹li bel蓹 bir yerli fayl var.
Burada 枚z yerli fayl谋 Bel蓹 ki, 蓹g蓹r line 15, m蓹s蓹l蓹n, istifad蓹
ikiqat quotes 蓹v蓹zin蓹 ki, a莽谋l谋 m枚t蓹riz蓹l蓹rin.
>> 陌ndi bu maraql谋 n枚v眉d眉r.
M蓹n qlobal elan etdik Qeyd ed蓹k ki, line 18 Bu proqram d蓹yi艧蓹n
ilk adlanan bu olan fikir ilk g枚st蓹rici olacaq
M蓹nim ba臒l谋 siyah谋s谋nda node v蓹 m蓹n var M蓹n var, 莽眉nki null ba艧lat谋lm谋艧
faktiki ayr谋lmay谋b h蓹l蓹 yaln谋z qov艧aqlar谋n谋n.
>> Bel蓹likl蓹, bu n蓹 biz, pictorially, t蓹msil 艧蓹kil kimi bir an 蓹vv蓹l g枚rd眉m
uzaq ki pointer t蓹r蓹fd蓹n buraxd谋.
Bel蓹 ki, indi ki, pointer ox yoxdur.
Bu yerine null edir.
Amma bu nec蓹 olacaq t蓹msil 陌lk faktiki 眉nvan谋
Bu siyah谋da node.
M蓹n bir qlobal h蓹yata etdik B眉t眉n bu, g枚r蓹c蓹ksiniz kimi, 莽眉nki
proqram h蓹yatda h蓹yata etmez m蓹nim 眉莽眉n ba臒l谋d谋r siyah谋s谋.
>> 陌ndi m蓹n burada bir ne莽蓹 prototipl蓹ri var.
M蓹n kimi x眉susiyy蓹tl蓹ri h蓹yata ke莽irilm蓹sin蓹 q蓹rar silinm蓹si, durub, axtar谋艧 v蓹
traversal -
The aras谋nda son yaln谋z olan g蓹zm蓹k siyah谋s谋, onun elementl蓹rinin 莽ap.
陌ndi burada m蓹nim 蓹sas g眉nd蓹lik var.
V蓹 biz 莽ox vaxt s蓹rf deyil Bu ild蓹n bu yana 眉mid, sort edir
indi k枚hn蓹 papaq.
>> M蓹n, a艧a臒谋dak谋 etm蓹k gidiyorum istifad蓹莽i 蓹m蓹kda艧l谋q edir.
Bir Bel蓹 ki, 莽ap gidiyorum Bu menyu h蓹yata.
V蓹 m蓹n bu bi莽imlendirilmi艧 etdik cleanly m蓹n bil蓹c蓹yi kimi.
Dem蓹kdir bir istifad蓹莽i n枚vl蓹ri, 蓹g蓹r onlar bir 艧ey silm蓹k ist蓹yir蓹m.
Dem蓹kdir iki istifad蓹莽i ki, 蓹g蓹r onlar bir 艧ey 蓹lav蓹 etm蓹k ist蓹yir蓹m.
V蓹 s.
M蓹n t蓹klif gidiyorum sonra bir komanda 眉莽眉n.
V蓹 sonra GetInt istifad蓹 gedir蓹m.
>> Bel蓹likl蓹, bu, h蓹qiq蓹t蓹n sad蓹 menuing edir yaln谋z yaz谋n oldu臒u interface
bir bir s谋ra mapping bu 蓹mrl蓹ri.
陌ndi g枚z蓹l t蓹miz a莽ar谋 var yand谋r谋n olacaq ki, b蓹yanat
istifad蓹莽i kimi daxil yaz谋lm谋艧 h蓹r hans谋
Onlar bir tipli varsa, m蓹n laz谋md谋r silm蓹k z蓹ng v蓹 pozub.
Onlar iki tipli varsa, m蓹n laz谋md谋r daxil z蓹ng v蓹 pozub.
>> 陌ndi h蓹r g蓹tirdik B陌LD陌R陌艦 eyni x蓹tt 眉z蓹rind蓹 bu.
Bu yaln谋z bir 眉slub q蓹rard谋r.
Ad蓹t蓹n biz bir 艧ey g枚rd眉m bunu b蓹y蓹nir.
Amma yaln谋z, s蓹mimi, m蓹nim proqram q蓹rar daha oxunaql谋 baxd谋, 莽眉nki
ona yaln谋z d枚rd hallarda olmu艧dur yaln谋z bu kimi siyah谋s谋.
Stil tamamil蓹 qanuni istifad蓹.
M蓹n bu bel蓹 uzun etm蓹k gidiyorum istifad蓹莽i s谋f谋r tipli deyil, I
q蓹rar onlar 莽谋xmaq ist蓹yirik dem蓹k olacaq.
>> Bel蓹 ki, indi Ben n蓹 hiss burada gedir.
M蓹n y蓹qin siyah谋s谋na pulsuz gedir蓹m.
Bir an ki, lakin daha 莽ox.
Ilk bu proqram run ed蓹k.
M蓹n蓹 b枚y眉k bir terminal ed蓹k p蓹nc蓹r蓹, n枚qt蓹 莽izgi siyah谋s谋 0.
Buna davam v蓹 daxil etm蓹k 眉莽眉n gidiyorum yazaraq iki, indi 50 kimi say谋 v蓹
siz siyah谋s谋na indi 50 g枚r蓹c蓹ksiniz.
V蓹 m蓹tn yaln谋z biraz kayd谋r谋lm谋艧.
Bel蓹 ki, indi siyah谋s谋n谋 ehtiva fark say谋 50.
>> Iki alaraq ba艧qa insert n蓹 ed蓹k.
Biri kimi say谋n谋n yaz谋n ed蓹k.
Siyah谋s谋 art谋q 50 izl蓹di biridir.
Bu yaln谋z bir m蓹tn n眉may蓹nd蓹liyi bel蓹 siyah谋s谋.
V蓹 nin kimi daha bir say谋 daxil bildirin in艧allah olan say谋 42,
莽眉nki ortada sonuna q蓹d蓹r davam x眉susi n枚v bu proqram
bu ed蓹r onlar谋 elementl蓹ri.
Bel蓹 ki, orada biz var.
Ki, ola bil蓹r Super sad蓹 proqram tamamil蓹 bir s谋ra istifad蓹, lakin
bir ba臒l谋 siyah谋s谋n谋 istifad蓹 ed蓹r蓹k, 眉莽眉n ba艧 yaln谋z m蓹n dinamik bil蓹r
b枚y眉m蓹k v蓹 bu shrink.
>> Bel蓹 ki, axtar谋艧 bir n蓹z蓹r ed蓹k m蓹n komanda 眉莽 run, m蓹n axtarmaq ist蓹yirsinizs蓹
say谋 43, dem蓹k 眉莽眉n.
V蓹 he莽 bir 艧ey y蓹qin edib, M蓹n he莽 bir cavab geri var, 莽眉nki.
Bel蓹 ki, daha bu n蓹 ed蓹k.
Axtar.
50 v蓹 ya daha 莽ox axtar谋艧 眉莽眉n ed蓹k axtar谋艧 42, bir g枚z蓹l var
az inc蓹 m蓹nas谋.
V蓹 m蓹n orada h蓹yat谋n m蓹nas谋n谋 tapd谋.
茝g蓹r bilmirsinizs蓹 say谋 42, istinad, Google.
B眉t眉n h眉quqlar.
Bel蓹 ki, n蓹 m蓹n蓹 bu proqram g枚r眉b?
Bu, yaln谋z m蓹n蓹 bel蓹likl蓹 蓹lav蓹 etm蓹k 眉莽眉n izin verilen elementl蓹ri 眉莽眉n uzaq v蓹 axtar谋艧.
>> , Sonra, s眉r蓹tli ir蓹li ed蓹k biz n蓹z蓹r funksiyas谋
bazar ert蓹si iltifat kimi.
Bu funksiya Bel蓹 ki, m蓹n, axtar谋艧 iddia birinci siyah谋da bir element
bir, istifad蓹莽i isteyen v蓹 sonra z蓹ng Faktiki int almaq 眉莽眉n GetInt
sizin 眉莽眉n axtar谋艧 ist蓹yirik.
>> Sonra bu bildiri艧.
M蓹n m眉v蓹qq蓹ti d蓹yi艧蓹n yaratmaq 眉莽眉n gidiyorum line 188. pointer 莽a臒谋r谋b -
Ptr -
bir 艧ey 莽a臒谋r谋b bil蓹r.
V蓹 bir node bir g枚st蓹rici var M蓹n orada node * bildirib.
V蓹 m蓹n ona b蓹rab蓹r olmal谋d谋r ba艧lat谋l谋yor al谋ram ilk m蓹n s蓹m蓹r蓹li var ki,
barmaq, bel蓹 ki, 莽ox haqq谋nda dan谋艧maq siyah谋s谋n谋n ilk element.
Burada m蓹nim sa臒 Ptr Ben Bel蓹 ki, 蓹g蓹r Eyni 艧ey i艧ar蓹 ilk
da i艧ar蓹 edir.
>> Bel蓹 ki, indi geri kodunu, Bundan sonra n蓹 olacaq -
iterating bu 眉mumi bir paradiqma edir bir kimi bir qurulu艧 眉z蓹rind蓹
ba臒l谋 siyah谋s谋.
M蓹n is蓹 a艧a臒谋dak谋 gidiyorum pointer Bel蓹 null b蓹rab蓹r deyil is蓹
m蓹nim barmaq bir null da i艧ar蓹 deyil d蓹y蓹ri, pointer arrow n n b蓹rab蓹rdir varsa.
Biz n ilk g枚r蓹c蓹ksiniz n蓹 h蓹r GetInts Y谋臒d谋臒谋n谋z istifad蓹莽i burada 莽a臒谋r谋r谋q.
>> V蓹 g枚st蓹rici arrow n n蓹 dem蓹kdir?
Burada 艧蓹kil geri Yax艧谋, 蓹g蓹r M蓹n i艧ar蓹 barma臒谋 varsa
doqquz d蓹 olan ilk node arrow mahiyy蓹tc蓹 ki, getm蓹k dem蓹kdir
node v蓹 yeri N d蓹y蓹ri qamarlamaq Bu halda, data sah蓹sind蓹 n 莽a臒谋r谋b.
>> Bir k蓹nara kimi - v蓹 biz bu ne莽蓹 g枚rd眉m h蓹ft蓹 枚nc蓹 kims蓹 xahi艧 zaman -
Bu sintaksis yeni, lakin deyil biz蓹 s蓹lahiyy蓹tl蓹r verir ki,
art谋q yox idi.
Istifad蓹 ekvivalent bu s枚z n蓹 idi dot notation v蓹 ulduz bir ne莽蓹
h蓹ft蓹 bundan 蓹vv蓹l biz geri soyulmu艧 zaman bu bir az vaxt谋ndan 蓹vv蓹l qat?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: M蓹hz, bu ulduz idi, sonra bu, ulduz dot n oldu
burada parantez, hans谋 g枚r眉n眉r, A莽谋臒谋, m蓹n bir 莽ox hesab edir蓹m ki,
oxumaq daha 莽ox sirli.
Lakin ulduz pointer, h蓹mi艧蓹 oldu臒u kimi, vasit蓹l蓹ri var gedin.
V蓹 sonra n蓹 m蓹lumat var, ist蓹yirik alan daxil olmaq ist蓹yirsiniz?
Yax艧谋 siz daxil olmaq 眉莽眉n dot notation istifad蓹 bir structs data sah蓹sind蓹, m蓹n
x眉susi n ist蓹yirik.
>> A莽谋臒谋, m蓹n bu iddia edir蓹m oxumaq yaln谋z 莽蓹tindir.
Bu harada yadda 莽蓹tindir parantez ki, getm蓹k yoxdur
ulduz v蓹 b眉t眉n.
Bel蓹 ki, d眉nyan谋n b蓹zi sintaktik q蓹bul 艧蓹k蓹r, bel蓹 dan谋艧maq.
S枚yl蓹y蓹n Bir sexy yol, bu ekvivalent v蓹
b蓹lk蓹 d蓹 daha asan.
Pointer h蓹qiq蓹t蓹n bir g枚st蓹rici olarsa, arrow notation vasit蓹sil蓹 getm蓹k v蓹 tapmaq
bu halda sah蓹 n 莽a臒谋r谋b.
>> M蓹n bunu tapmaq Bel蓹 ki, m蓹n n蓹 g枚r眉rs眉n眉z.
M蓹n sad蓹c蓹 莽ap I, i tapd谋 ki, int 眉莽眉n d蓹y蓹ri sayede.
I n枚v 眉莽眉n yaln谋z bir ikinci yatmaq z蓹ng 眉莽眉n ekranda fasil蓹 艧eyi
istifad蓹莽i udmaq 眉莽眉n ikinci verm蓹k Ne oldu.
V蓹 sonra pozub.
茝ks halda, m蓹n n蓹 etm蓹liy蓹m?
M蓹n b蓹rab蓹r pointer g眉ncelleyin N枚vb蓹ti g枚st蓹rici arrow.
>> Bel蓹 ki, yaln谋z ayd谋n olmaq, bu getm蓹k dem蓹kdir , m蓹nim k枚hn蓹 m蓹kt蓹b notation orada istifad蓹 ed蓹r蓹k.
Bu yaln谋z n蓹 getm蓹k dem蓹kdir Bel蓹 ki, Siz 莽ox olaraq, hans谋 i艧ar蓹 edirik
Birinci halda m蓹n i艧ar蓹 al谋ram edir bu doqquz il蓹 struct.
Bel蓹 ki, orada getdi etdik.
V蓹 sonra dot notation dem蓹kdir n枚vb蓹ti d蓹y蓹ri almaq.
>> Amma d蓹y蓹r, bu t蓹rtib edir, baxmayaraq ki, bir dar kimi, yaln谋z bir s谋ra deyil.
Bu r蓹q蓹mli 眉nvan var.
Olub, kod bu bir x蓹tt Bel蓹 ki, , bu kimi yaz谋l谋 daha sirli
yol, v蓹 ya bu kimi, bir az daha intuitiv 艧蓹kild蓹, yaln谋z m蓹nim 蓹l h蓹r蓹k蓹t dem蓹kdir
n枚vb蓹ti bir ilk node ki, sonra v蓹 sonra n枚vb蓹ti bir v蓹
bir sonrak谋 v蓹 s.
>> Bel蓹likl蓹, biz dig蓹r dayanmaq olmaz daxil edin v蓹 silin uygulamalar谋ndaki
v蓹 traversal, ilk iki olan kifay蓹t q蓹d蓹r c蓹lb edir.
V蓹 m蓹n onu almaq 眉莽眉n 莽ox asand谋r edir蓹m 艧ifahi bunu zaman itirdi.
Amma biz burada ed蓹 bil蓹rsiniz m眉蓹yy蓹n etm蓹k 眉莽眉n c蓹hd nec蓹
yax艧谋 vizual bunu.
M蓹n t蓹klif edir蓹m ki, 蓹g蓹r biz bu dilin蓹 elementl蓹ri 蓹lav蓹 etm蓹k ist蓹yir蓹m
M枚vcud siyah谋s谋, hans谋 be艧 elementl蓹r vard谋r -
9, 17, 22, 26 v蓹 33 -
M蓹n bu h蓹yata ke莽ir蓹c蓹yik, 蓹g蓹r kodu, m蓹n getm蓹k nec蓹 n蓹z蓹r蓹 almaq laz谋md谋r
Bunu haqq谋nda.
>> V蓹 m蓹n k枚rp蓹 add谋mlar t蓹klif edir Bu halda dem蓹k vasit蓹si, n蓹
m眉mk眉n ssenaril蓹ri ki, 眉mumi qar艧谋la艧a bil蓹r?
Ba臒lant谋l谋 眉莽眉n daxil h蓹yata ke莽iril蓹rk蓹n siyah谋s谋, bu, yaln谋z olmaq olur
枚l莽眉s眉 be艧 x眉susi n眉mun蓹sidir.
茝g蓹r bir r蓹q蓹m daxil etm蓹k ist蓹yir蓹m yax艧谋, 蓹g蓹r bir n枚mr蓹li dem蓹k ist蓹yir蓹m v蓹
harada, sorted asayi艧in qorunmas谋 a莽谋q-ayd谋n bir ehtiyac say谋 yoxdur
bu n眉mun蓹 getm蓹k?
茝vv蓹lin蓹 kimi.
>> Amma maraql谋 n蓹 var Bu daxil bir 蓹lav蓹 etm蓹k ist蓹yirsinizs蓹,
siyah谋s谋, n蓹 x眉susi pointer laz谋md谋r y蓹qin ayd谋nl谋q olmal谋d谋r?
Birinci.
Bel蓹likl蓹, m蓹n bu ilk halda, iddia edir蓹m biz, hesab ed蓹 bil蓹rsiniz ki,
da daxil c蓹lb ssenari siyah谋n谋n ba艧谋nda.
>> H蓹tta bir q蓹d蓹r asan v蓹 ya b蓹lk蓹 yoluq-yoluq ed蓹k asan halda, nisb蓹t蓹n dan谋艧an.
M蓹n 蓹lav蓹 etm蓹k ist蓹yir蓹m G眉man sorted 眉莽眉n say谋 35.
Bu a莽谋q-ayd谋n orada m蓹xsusdur.
Yax艧谋 g枚st蓹rici a莽谋q-ayd谋n gedir ki, ssenari yenil蓹nir laz谋md谋r?
34-nin g枚st蓹rici null deyil 莽evrilir lakin struct yerl蓹艧diyi 眉nvan
say谋 35 olan.
Bel蓹 ki, bu halda iki var.
Bel蓹 ki, art谋q m蓹n quantizing n枚v Ben M蓹n burada n蓹 q蓹d蓹r 莽al谋艧谋r.
>> V蓹 n蓹hay蓹t, a莽谋q-ayd谋n ortada oldu臒u H蓹qiq蓹t蓹n, ortas谋nda, 蓹g蓹r m蓹n ist蓹yir蓹m
gedir ki, 23 kimi bir 艧ey daxil 23 v蓹 26 aras谋nda, lakin
indi h蓹r 艧eyi bir az daha 莽ox almaq c蓹lb 莽眉nki n蓹
g枚st蓹ricil蓹rin蓹 d蓹yi艧diril蓹 laz谋md谋r?
22 a莽谋q-ayd谋n d蓹yi艧diril蓹 laz谋md谋r Bel蓹 ki, O, art谋q 26-qeyd bilm蓹z.
O, yeni node qeyd etm蓹k laz谋md谋r ki, M蓹n z蓹ng ayr谋lmas谋 laz谋md谋r
malloc v蓹 ya bir ekvivalent.
>> Amma sonra m蓹n d蓹 ki, yeni node, 23 ehtiyac Bu halda, onun pointer var
kim蓹 d蓹 i艧ar蓹?
26.
V蓹 bir olmal谋d谋r gedir Burada 蓹m蓹liyyatlar 眉莽眉n.
脟眉nki m蓹n a臒谋ls谋zl谋q bunu, m蓹n 蓹g蓹r 蓹vv蓹lind蓹 misal ba艧lamaq 眉莽眉n
siyah谋s谋 v蓹 m蓹nim qol 23 daxil etm蓹kdir.
V蓹 m蓹n bunu aid edir, yoxlamaq Burada doqquz yax谋n?
No
Bu 17 n枚vb蓹ti, burada m蓹xsusdur mu?
No
O, 22 yan谋ndak谋 burada m蓹xsusdur mu?
B蓹li.
>> 陌ndi m蓹n burada axmaq Ben 蓹g蓹r deyil, Bu vasit蓹sil蓹 d眉艧眉nc蓹, m蓹n g眉c
23 Yeni node ay谋r谋rlar.
M蓹n g枚st蓹rici yenil蓹m蓹 bil蓹r node i艧ar蓹 ed蓹r蓹k, 22 莽a臒谋r谋b
bu yeni node edir.
V蓹 sonra yenil蓹m蓹 n蓹 var Yeni node in g枚st蓹rici olacaq?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Eynil蓹 el蓹.
26 i艧ar蓹 ed蓹r蓹k.
M蓹n art谋q verm蓹mi艧dir Amma 蓹g蓹r dammit 22-nin g枚st蓹rici bu o臒lan da qeyd v蓹
陌ndi yetiml蓹r, istirah蓹t siyah谋, bel蓹 dan谋艧maq.
Burada 蓹m蓹liyyatlar谋n Bel蓹 sifari艧i 蓹h蓹miyy蓹tli olacaq.
>> Bunu etm蓹k 眉莽眉n, m蓹n o臒urlamaq bil蓹r , alt谋 k枚n眉ll眉 deyirl蓹r.
V蓹 biz bunu ed蓹 bil蓹rsiniz Bakal媒m vizual 蓹v蓹zin蓹 kod m眉drik.
V蓹 biz bir sevimli stress var Bu g眉n sizin 眉莽眉n top.
OK, haqq谋nda bir, iki, d蓹 Geri - orada sonunda.
Siz d蓹 眉莽, d枚rd, sonunda u艧aqlar.
V蓹 be艧, alt谋.
茝min olun.
Be艧 v蓹 alt谋.
B眉t眉n h眉quqlar v蓹 biz g蓹l蓹c蓹yik! Siz u艧aqlar 眉莽眉n n枚vb蓹ti d蓹f蓹.
B眉t眉n h眉quqlar q蓹d蓹r g蓹lib.
>> B眉t眉n sa臒, burada ilk ist蓹yirik yana, Siz y枚nd蓹msiz bir olmaq ist蓹yir蓹m
Burada Google 艧眉艧蓹?
B眉t眉n sa臒, bel蓹, OK, Cam, bir video qeyd edin.
OK, siz getm蓹k iyi.
>> B眉t眉n sa臒, bel蓹 ki, u艧aqlar 眉z蓹rind蓹 g蓹lm蓹k bil蓹r Burada 蓹vv蓹lc蓹d蓹n haz谋rlam谋艧谋q
bir 蓹d蓹d.
B眉t眉n sa臒, burada g蓹lib.
V蓹 niy蓹 bir az getmirl蓹r daha yol.
V蓹 nin g枚r蓹k, ad谋n谋z n蓹dir, Google Glass il蓹?
>> T茝L茝B茝: Ben.
>> HOPARL脰R 1: Ben?
OK, Ben, siz s枚z眉n birinci olacaq.
Bel蓹likl蓹, biz g枚nd蓹rm蓹k olacaq s蓹hn蓹 sonuna.
B眉t眉n sa臒, v蓹 ad谋?
>> T茝L茝B茝: Jason.
>> HOPARL脰R 1: Jason, OK will say谋 doqquz ola bil蓹r.
Siz Ben o yolla ist蓹yir蓹m 蓹g蓹r.
>> T茝L茝B茝: Jill.
>> HOPARL脰R 1: Jill, siz olacaq 17, I daha 莽ox i艧l蓹r ets蓹niz
a臒谋ll谋, m蓹n var ki, dig蓹r sonunda ba艧lad谋.
Bilirsiniz ki, yol getm蓹k.
22.
V蓹 siz?
>> T茝L茝B茝: Mary.
>> HOPARL脰R 1: Mary, siz 22 olacaq.
V蓹 ad谋?
>> T茝L茝B茝: Chris.
>> HOPARL脰R 1: Chris, siz 26 olacaq.
V蓹 sonra son.
>> T茝L茝B茝: Diana.
>> HOPARL脰R 1: Diana, siz 34 olacaq.
Bel蓹 ki, burada g蓹lib.
>> B眉t眉n sa臒, bel蓹 s谋ralan谋r t蓹kmill蓹艧dirilm蓹si art谋q sifari艧.
V蓹 nin ir蓹li getm蓹k v蓹 bunu bildirin bel蓹 ki, biz, h蓹qiq蓹t蓹n bil蓹r -
Ben siz axtar谋r yaln谋z c眉r ist蓹yirik h蓹yata he莽 bir yerd蓹 orada daxil.
OK, bel蓹 ki, in ir蓹li getm蓹k v蓹 bu t蓹svir ed蓹k M蓹n 莽ox ist蓹yir蓹m, silah istifad蓹 ed蓹r蓹k, d蓹qiq,
neler.
Bel蓹 ki, davam v蓹 枚z眉n眉z眉 ver ayaq v蓹 ya aran谋zdak谋 iki.
V蓹 bir t蓹r蓹fd蓹n il蓹 davam v蓹 qeyd siz蓹 kim i艧ar蓹 edilm蓹lidir
bu 蓹saslan谋r.
Siz null 蓹g蓹r v蓹 yaln谋z qeyd d眉z a艧a臒谋 m蓹rt蓹b蓹.
OK, bel蓹 yax艧谋.
>> Bel蓹 ki, indi biz bir ba臒l谋 siyah谋 var v蓹 m蓹n蓹 bildirin M蓹n rolunu oynamaq laz谋md谋r ki, t蓹klif
Ptr, m蓹n narahat deyil 蓹traf谋nda bu balans.
V蓹 sonra - kims蓹 axmaq Konvensiyas谋 - ist蓹diyiniz bu bir z蓹ng ed蓹 bil蓹rsiniz -
s蓹l蓹fi g枚st蓹rici proqnozu pointer -
yaln谋z biz verdi l蓹q蓹b var m蓹nim sol t蓹r蓹fd蓹n 脰rnek kodu.
Saxlan谋lmas谋 olacaq ki, dig蓹r t蓹r蓹fd蓹n olan olan takip
ssenari a艧a臒谋dak谋.
>> Bel蓹 ki, ilk, m蓹n off d蓹rm蓹k ist蓹yir蓹m, g眉man daxil oldu臒unu ilk n眉mun蓹si, dem蓹k
20 siyah谋s谋na daxil.
Bel蓹likl蓹, m蓹n kims蓹 laz谋md谋r gidiyorum bizim 眉莽眉n say谋 20 etdirir.
Bel蓹likl蓹, m蓹n malloc kims蓹 laz谋md谋r tama艧a莽谋.
Up Hadi.
Sizin ad谋n谋z n蓹dir?
>> T茝L茝B茝: Brian.
>> HOPARL脰R 1: Brian, b眉t眉n sa臒, bel蓹 ki, 20 olan node olmal谋d谋r.
B眉t眉n sa臒, burada g蓹lib.
V蓹 t蓹bii ki, burada Brian aid edir?
Bel蓹 ki, ortas谋nda - faktiki olaraq, bir d蓹qiq蓹 g枚zl蓹yin.
Biz 眉莽眉n bu h蓹yata edirik.
Biz bir 莽ox 莽蓹tindir bu edirik Bu ilk olmal谋d谋r edir.
OK, biz pulsuz Brian olacaq v蓹 be艧 realloc Brian.
>> OK, bel蓹 ki, indi biz daxil ist蓹yirik Be艧 Brian.
Bel蓹 ki, yan谋nda buraya g蓹lib Yaln谋z bir an Ben.
V蓹 ehtimalla dey蓹 bil蓹rsiniz Bu hekay蓹 gedir yerl蓹艧ir.
Lakin ed蓹k haqq谋nda diqq蓹tl蓹 d眉艧眉nm蓹k 蓹m蓹liyyatlar谋 眉莽眉n.
V蓹 m蓹hz bu vizual var s谋ralamaq olacaq ki,
ki, 枚rnek kod il蓹.
Bel蓹 ki, burada m蓹n Ptr 蓹vv蓹lc蓹 i艧ar蓹 var deyil per se Ben,, lakin h蓹r hans谋 bir at
O, ehtiva d蓹y蓹ri bu halda deyil - ad谋n谋z yenid蓹n var?
>> T茝L茝B茝: Jason.
>> HOPARL脰R 1: Jason, Ben v蓹 m蓹n d蓹 bel蓹 Hal-haz谋rda Jason da i艧ar蓹.
Bel蓹 ki, indi m眉蓹yy蓹n etm蓹k 眉莽眉n var, Brian 脺 aid edir?
T蓹k 艧ey Bel蓹likl蓹, m蓹n etm蓹k imkan谋 var 陌ndi onun n data item edir.
Buna g枚r蓹 yoxlamaq gidiyorum Jason daha Brian az?
Cavab do臒rudur.
>> Bel蓹likl蓹, n蓹 indi, n蓹 etm蓹k laz谋md谋r d眉zg眉n qaydada?
M蓹n ne莽蓹 g枚st蓹ricil蓹rin蓹 g眉ncellemeniz laz谋md谋r Bu hekay蓹 c蓹mi?
M蓹nim 蓹l h蓹l蓹 d蓹 i艧ar蓹 edir Harada Jason, v蓹 蓹l - 茝g蓹r ist蓹yirsinizs蓹
n枚v kimi sizin 蓹l qoymaq, m蓹n bir sual i艧ar蓹si bilmir蓹m.
OK, yax艧谋.
>> B眉t眉n sa臒, siz bel蓹 bir ne莽蓹 namiz蓹d.
Ben yaxud I v蓹 ya Brian ya Jason Ya ba艧qa v蓹 ya h蓹r k蓹s, hans谋
g枚st蓹ricil蓹rin蓹 d蓹yi艧dirm蓹k laz谋md谋r?
Nec蓹 眉mumi bir 莽ox?
>> OK, bel蓹 ki, iki.
M蓹nim g枚st蓹rici h蓹qiq蓹t蓹n art谋q etm蓹z M蓹n yaln谋z m眉v蓹qq蓹ti Ben 莽眉nki.
Bel蓹 ki, ehtimalla, bu iki u艧aqlar var Ben v蓹 Brian d蓹.
Bel蓹likl蓹, biz yenil蓹m蓹 ki, m蓹n蓹 t蓹klif ed蓹k Ben, ild蓹n ilk var.
Bu siyah谋da ilk element indi Brian olacaq.
Brian bel蓹 Ben n枚qt蓹.
OK, indi n蓹?
>> Kim da qeyd edilir?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: OK bel蓹 Brian var Jason da qeyd etm蓹k.
Amma pointer izini itirmi艧?
Jason harada m蓹n bilirsinizmi?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Ben 莽眉nki m蓹n, n蓹 m眉v蓹qq蓹ti g枚st蓹rici.
V蓹 ehtimalla, m蓹n d蓹yi艧m蓹yib Yeni node da qeyd etm蓹k.
Bel蓹likl蓹, biz sad蓹c蓹 Brian n枚qt蓹si ola bil蓹r kim m蓹n d蓹 i艧ar蓹 edir蓹m.
V蓹 biz tamamlay谋n.
Bel蓹 halda biri d蓹 durub siyah谋 蓹vv蓹li.
Iki 蓹sas add谋m var idi.
Bir, biz Ben yenil蓹m蓹k 眉莽眉n var, v蓹 sonra biz d蓹 Brian yenil蓹m蓹k laz谋md谋r.
V蓹 sonra m蓹n narahat yoxdur geri qalan vasit蓹sil蓹 traipsing
Biz art谋q a艧kar siyah谋s谋, 莽眉nki onun O m蓹xsus yer, 莽眉nki
ilk element sol.
>> B眉t眉n sa臒, bel蓹 olduqca sad蓹.
Biz dem蓹k olar ki, etdiyiniz kimi, 蓹slind蓹, hiss Bu 莽ox m眉r蓹kk蓹b edir.
Bel蓹 ki, indi sonunda yoluq-yoluq bildirin siyah谋s谋, v蓹 harada g枚rm蓹k
m眉r蓹kk蓹bliyi ba艧lay谋r.
Tama艧a莽谋 Bel蓹 ki, indi, m蓹n alloc.
H蓹r k蓹s 55 oynamaq ist蓹yirsiniz?
B眉t眉n sa臒, m蓹n ilk 蓹l g枚rd眉m.
Up Hadi.
B蓹li.
Sizin ad谋n谋z n蓹dir?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Habata.
OK q蓹d蓹r g蓹lib.
Siz say谋 55 olacaq.
Bel蓹likl蓹, siz, 蓹lb蓹tt蓹, m蓹xsusdur siyah谋n谋n sonunda.
El蓹 m蓹niml蓹 simulyasiya replay imkan yaln谋z bir an Ptr olan.
Bel蓹likl蓹, m蓹n ilk qeyd etm蓹k gidiyorum Ben-da i艧ar蓹 edir n蓹.
Biz indi Brian da i艧ar蓹 edirik d蓹.
Bel蓹 ki, 55-d蓹n az be艧 deyil.
Bel蓹 ki, I 枚z眉m眉 yenil蓹m蓹k 眉莽眉n gidiyorum Brian n枚vb蓹ti g枚st蓹rici i艧ar蓹 ed蓹n
陌ndi 蓹lb蓹tt蓹 Jason edir.
55 bel蓹 az doqquz deyil M蓹n Ptr yenil蓹m蓹k 眉莽眉n gedir蓹m.
M蓹n Ptr yenil蓹m蓹k 眉莽眉n gidiyorum M蓹n Ptr yenil蓹m蓹k 眉莽眉n gedir.
V蓹 m蓹n gedir蓹m - hmm, ne ad谋n谋z yenid蓹n?
>> T茝L茝B茝: Diana.
>> HOPARL脰R 1: Diana i艧ar蓹 edir, 蓹lb蓹tt蓹, onun sol 蓹li il蓹 null edir.
Bel蓹likl蓹, harada Habata 蓹slind蓹 yoxdur ayd谋n m蓹xsusdur?
Sola, burada.
Bel蓹 ki, nec蓹 m蓹n burada onun qoymaq 眉莽眉n bilmir蓹m M蓹n q蓹d蓹r berbat sonra hesab edir蓹m.
N蓹 Ptr inc蓹s蓹n蓹t 脟眉nki vaxt bu an?
Null.
Bel蓹 olsa da, vizual, biz a莽谋q-ayd谋n b眉t眉n bunlar bax
burada s蓹hn蓹y蓹 u艧aqlar.
M蓹n 蓹vv蓹lki track saxlan谋l谋r deyil etdik Siyah谋da 艧蓹xs.
M蓹n i艧ar蓹 barma臒谋 yoxdur Bu halda, node say谋 34.
>> El蓹 h蓹qiq蓹t蓹n bu art谋q ba艧lamaq bildirin.
Bel蓹 ki, indi m蓹n, h蓹qiq蓹t蓹n laz谋md谋r ikinci yerli d蓹yi艧蓹n.
V蓹 bu siz g枚r眉rs眉n眉z n蓹 faktiki n眉mun蓹 C kodu kimi m蓹n getm蓹k harada,
M蓹n qeyd etm蓹k m蓹nim sa臒 yenil蓹m蓹 zaman Jason, bununla m蓹n gerid蓹 Brian t蓹rk
daha m蓹nim sol t蓹r蓹fd蓹n istifad蓹 ed蓹r蓹k ba艧lamaq M蓹n harada getm蓹k kimi ki, yenil蓹m蓹
Bu siyah谋da vasit蓹sil蓹 -
daha y枚nd蓹msiz I n蓹z蓹rd蓹 d蓹n indi burada vizual -
M蓹n almaq 眉莽眉n gidiyorum siyah谋s谋 sonu.
>> Bu t蓹r蓹fd蓹n olduqca ki, h蓹l蓹 null edir g枚st蓹rm蓹k 眉莽眉n ba艧qa faydas谋z
M蓹n siyah谋n谋n sonunda ayd谋n Ben amma indi 蓹n az谋 m蓹n bu var
s蓹l蓹fi g枚st蓹rici Bel蓹 ki, burada i艧ar蓹 indi n蓹 蓹ll蓹r v蓹 n蓹 g枚st蓹ricil蓹rin蓹 laz谋md谋r
ayd谋nl谋q olmal谋d谋r?
Kimin t蓹r蓹fd蓹n ist蓹yirsiniz ilk reconfigure?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: OK, Diana bel蓹.
Harada qeyd etm蓹k ist蓹yir蓹m At Diana sol pointer?
55, g眉man ki, bel蓹 biz daxil etdik.
V蓹 harada 55 pointer getm蓹k laz谋md谋r?
Down, null etdirir.
V蓹 m蓹nim 蓹ll蓹ri, bu n枚qt蓹d蓹 deyil Onlar yaln谋z, 莽眉nki F蓹rq
m眉v蓹qq蓹ti d蓹yi艧蓹nl蓹r.
Bel蓹 ki, indi biz tamamlay谋n.
>> Bel蓹 ki, 蓹lav蓹 var m眉r蓹kk蓹bliyi - v蓹 ki, h蓹yata ki, 莽蓹tin deyil
lakin biz etm蓹k 眉莽眉n orta d蓹yi艧蓹n laz谋md谋r 蓹min m蓹n sa臒a h蓹r蓹k蓹t 蓹vv蓹l
蓹l, m蓹n sol d蓹y蓹ri yenil蓹m蓹k t蓹r蓹fd蓹n proqnozu bu halda pointer, bel蓹 ki,
M蓹n arxada g枚st蓹rici var ki, M蓹n harada takip.
陌ndi bir k蓹nara kimi, bu d眉艧眉n眉r ist蓹yirsinizs蓹 bu kimi vasit蓹sil蓹 bu hiss bir
saxlamaq 眉莽眉n az annoying bu sol t蓹r蓹fd蓹n bax谋n.
>> N蓹 ba艧qa bir h蓹ll ki, Bu problemin olub?
Veri yeniden tasarlarken var, 蓹g蓹r biz dan谋艧谋qlar strukturu
陌ndi vasit蓹sil蓹?
Bu yaln谋z c眉r bir az hiss edin kimi, iki g枚st蓹ricil蓹rin蓹 malik annoying
ba艧qa ed蓹n siyah谋s谋n谋 bil蓹r gedir ideal d眉nyada, saxlam谋艧lar
biz laz谋md谋r ki, informasiya?
B蓹li?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Eynil蓹 el蓹.
Sa臒 bel蓹 maraql谋 h蓹qiq蓹t蓹n var bir fikir r眉艧eyml蓹ri.
V蓹 蓹vv蓹lki g枚st蓹rici bu fikir, 蓹vv蓹lki element d蓹 i艧ar蓹.
M蓹n yaln谋z t蓹c蓹ss眉m ki, 蓹g蓹r siyah谋s谋n谋 枚z眉 daxilind蓹?
V蓹 g枚r眉nt眉l蓹m蓹k 眉莽眉n 莽蓹tin olacaq Bu, b眉t眉n ka臒谋z olmadan
yer蓹 d眉艧眉r.
Lakin bu u艧aqlar d蓹 istifad蓹 edirl蓹r ki, 蓹ll蓹rini bir 蓹vv蓹lki var
bununla pointer v蓹 sonrak谋 g枚st蓹rici biz ikiqat arayaca冒媒m n蓹 h蓹yata
ba臒l谋 siyah谋s谋.
Ki, m蓹n蓹 geri n枚v imkan verir daha asanl谋qla m蓹n蓹 olmadan,
proqram莽谋 saxlamaq 眉莽眉n olan 蓹l Track -
h蓹qiq蓹t蓹n 蓹l -
M蓹n 蓹vv蓹ll蓹r olmu艧du harada Siyah谋da.
Bel蓹 ki, etm蓹y蓹c蓹k.
Ki, 莽眉nki Biz bu sad蓹 davam ed蓹c蓹yik iki d蓹f蓹 kimi bir qiym蓹t蓹 g蓹lib gedir
ki g枚st蓹ricil蓹rin蓹 眉莽眉n 莽ox yer, Bir ikinci ist蓹yirsinizs蓹.
Amma bu, do臒rudan da yayg谋n data strukturu kimi tan谋nan
ikiqat siyah谋s谋 ba臒l谋d谋r.
>> Burada son misal etm蓹k v蓹 qoymaq ed蓹k onlar谋n h蓹yatlar谋n谋n h蓹yata bu u艧aqlar.
Malloc 20 bel蓹.
Orada koridorda q蓹d蓹r Hadi.
B眉t眉n sa臒, ad谋n谋z n蓹dir?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Pardon?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Demeron?
OK q蓹d蓹r g蓹lib.
20 olmal谋d谋r.
Siz a莽谋q-ayd谋n edir 17 v蓹 22 aras谋nda m蓹xsusdur.
Bel蓹 ki, m蓹n蓹 d蓹rs bildirin.
M蓹n g枚st蓹rici ba艧lamaq 眉莽眉n gidiyorum Brian da i艧ar蓹.
M蓹n sol 蓹l 眉莽眉n gidiyorum M蓹n h蓹r蓹k蓹t kimi yaln谋z Brian yenil蓹m蓹
Jason, yoxlan谋lmas谋 doqquz 20-d蓹n az edir?
No
17 20-d蓹n azd谋r?
No
22 20-d蓹n azd谋r?
B蓹li.
Bel蓹likl蓹, n蓹 g枚st蓹ricil蓹rin蓹 v蓹 ya 蓹ll蓹ri d蓹yi艧dirm蓹k laz谋md谋r onlar indi i艧ar蓹 edirik?
>> Bel蓹likl蓹, biz 20 i艧ar蓹 17 ed蓹 bil蓹rsiniz.
Bel蓹 ki, g枚z蓹l.
Biz qeyd etm蓹k ist蓹yirik Sizin pointer indi?
22.
22 Harada v蓹 yen蓹, thanks bilirik m蓹nim m眉v蓹qq蓹ti g枚st蓹rici 眉莽眉n.
Bel蓹likl蓹, biz OK orada ist蓹yirik.
Bel蓹 ki, 莽眉nki bu m眉v蓹qq蓹ti saxlama M蓹n h蓹r k蓹s oldu臒u takip saxlan谋l谋r etdik.
陌ndi siz vizual yerl蓹艧ir daxil ed蓹 bil蓹rsiniz Siz m蓹xsusdur v蓹 indi 1, 2, 3, ehtiyac
4, 5, 6, 7, 8, 9 stress top, v蓹 alq谋艧larla bir d蓹yirmi
Bu u艧aqlar, biz bil蓹r.
Q蓹艧蓹ng edilir.
>> [Alq谋艧]
>> HOPARL脰R 1: Yax艧谋.
V蓹 蓹d蓹d saxlaya bil蓹r mementos kimi ka臒谋z.
>> B眉t眉n sa臒, bel蓹 ki, bir 莽ox var m蓹n蓹 etibar asan il蓹 vasit蓹sil蓹 g蓹zm蓹k
faktiki kodu il蓹 daha insanlar.
Amma n蓹 bir an tapa bil蓹rsiniz 陌ndi ki, eyni - oh, t蓹艧蓹kk眉r edir蓹m.
T蓹艧蓹kk眉r edirik -
siz eyni m蓹lumat tapa bil蓹rsiniz ki, strukturu, bir ba臒l谋 siyah谋 蓹slind蓹 bil蓹r
daha bir bina blok kimi istifad蓹 edil蓹 m眉asir data strukturlar.
>> V蓹 burada da m枚vzu d蓹rk edir ki, biz tamamil蓹 daha t蓹qdim etdik
yerin蓹 m眉r蓹kk蓹bliyi Bu alqoritm.
Durub, v蓹 biz onun vasit蓹sil蓹 gedib, silinm蓹si v蓹 axtar谋艧, bir az
bu daha m眉r蓹kk蓹b bir s谋ra idi.
Amma biz bir dinamizm qazanmaq.
Biz adaptiv data structure almaq.
>> Ancaq yen蓹 d蓹, b蓹zi olan bir qiym蓹t 枚d蓹m蓹k 蓹lav蓹 m眉r蓹kk蓹bliyi, h蓹m d蓹
bunu h蓹yata ke莽irir.
V蓹 biz rasgele eri艧im imtina edirik.
V蓹 vicdanl谋 olmaq, b蓹zi g枚z蓹l m枚vcud deyil slide t蓹miz M蓹n siz蓹 ver蓹 bil蓹r ki,
burada deyir niy蓹 ba臒l谋d谋r siyah谋s谋 bir s谋ra daha yax艧谋d谋r.
V蓹 onu burax谋n.
M枚vzusunda, h蓹tta indi reoccurring 脟眉nki daha bel蓹 枚n眉m眉zd蓹ki h蓹ft蓹 edir
m眉tl蓹q yoxdur ki, do臒ru cavab.
>> Biz ayr谋-ayr谋 ox niy蓹 bu problem k眉meleri 眉莽眉n dizayn.
Bu, 莽ox kontekstind蓹 h蓹ssas olacaq Bu m蓹lumatdan istifad蓹 etm蓹k ist蓹yir蓹m olub
strukturu v蓹 ya bir v蓹 olacaq bax谋m谋ndan siz蓹 m蓹s蓹l蓹 n蓹 as谋l谋d谋r
resurslar谋 v蓹 m眉r蓹kk蓹blik.
>> Amma m蓹n蓹 t蓹klif ed蓹k ki, ideal data strukturu, m眉q蓹dd蓹s grail olaca臒谋n谋
daimi vaxt ki, bir 艧ey, as谋l谋 olmayaraq, 莽ox 艧eyl蓹r nec蓹
bu, daxili, g枚z蓹l ola bilm蓹z ki, bir halda data structure cavab d枚nd眉
daimi vaxt.
B蓹li.
Bu s枚z 眉莽眉n b枚y眉k l眉臒蓹t edir.
V蓹 ya he莽 bu s枚z deyil.
Yoxsa, h蓹r hans谋 bu c眉r problem.
Yax艧谋 g枚r蓹k biz 蓹n az谋 蓹g蓹r ki, do臒ru bir add谋m atmaq.
>> M蓹n蓹 bir yeni m蓹lumatlar strukturu t蓹klif ed蓹k ki, m眉xt蓹lif 艧eyl蓹r 眉莽眉n istifad蓹 edil蓹 bil蓹r,
Bu halda bir hash masa 莽a臒谋r谋b.
V蓹 bel蓹 ki, biz salan geri h蓹qiq蓹t蓹n ist蓹yirik bir bu halda dizi,, v蓹
q蓹d蓹r 枚zba艧谋na, bu t蓹rtib etdik bir n枚v il蓹 bir s谋ra kimi hash table
iki 枚l莽眉l眉 Array -
daha do臒rusu bir iki burada t蓹svir var 枚l莽眉l眉 Array - ancaq bu yaln谋z
Bel蓹 枚l莽眉s眉 26 bir s谋ra ki, 蓹g蓹r biz serial谋n masa, masa bracket z蓹ng
s谋f谋r 眉st d眉zbucaql谋 edir.
C蓹dv蓹l bracket 25 d眉zbucaql谋 edir alt.
Bu M蓹n data 莽蓹km蓹k bil蓹r nec蓹 M蓹n saxlamaq ist蓹diyiniz strukturu
insanlar谋n adlar谋.
>> Bel蓹 ki, m蓹s蓹l蓹n, m蓹n d蓹 c蓹lb ed蓹c蓹k burada hava haqq谋nda b眉t眉n 艧ey, 蓹g蓹r m蓹n
陌ndi gedir蓹m bu array var idi, bir hash masa z蓹ng v蓹 bu, yen蓹
yeri s谋f谋r.
Burada yeri, bir, v蓹 s.
M蓹n bu m蓹lumatdan istifad蓹 etm蓹k ist蓹yir蓹m ki, iddia strukturu, m眉zakir蓹 namin蓹,
insanlar谋n adlar谋 saxlamaq 眉莽眉n, Alice v蓹 Bob v蓹 Charlie v蓹 dig蓹r bu kimi adlar.
Bel蓹 ki, ba艧lan臒谋clar kimi indi bu hesab Bir l眉臒蓹t, dem蓹k ki,
s枚zl蓹ri 莽ox.
Onlar adlar谋 n蓹 Burada n眉mun蓹.
V蓹 bu, b蓹lk蓹 d蓹, b眉t眉n 莽ox ilgili edir biz, bir yaz谋m checker h蓹yata
problem 眉莽眉n alt谋 m眉蓹yy蓹n ed蓹 bil蓹r.
>> Biz 眉mumi 枚l莽眉s眉 26 bir s谋ra var Bel蓹 ki, 蓹g蓹r Bu 25-ci yeri, bel蓹 ki,
alt v蓹 m蓹n Alice oldu臒unu iddia l眉臒蓹tini ilk s枚z眉
M蓹n RAM daxil ist蓹yir蓹m ki, adlar谋, Bu data strukturu, harada var
belirten instinktl蓹rd蓹n ki, Alice ad谋 bu s谋ra getm蓹k laz谋md谋r?
>> Biz 26 variantlar谋 var.
Biz 枚z qoymaq ist蓹yirik harada?
Biz bracket s谋f谋r onun ist蓹yirsiniz mi?
Alice 眉莽眉n, ki, s谋f谋r z蓹ng ed蓹k.
V蓹 b biri olacaq v蓹 C iki olacaq.
Bel蓹likl蓹, biz yazmaq olacaq Burada Alice ad谋 up.
Sonra Bob onun daxil edin ad谋 burada ged蓹c蓹k.
Charlie burada ged蓹c蓹k.
V蓹 s down vasit蓹sil蓹 Bu data qurulu艧u.
>> Bu g枚z蓹l data strukturu.
Niy蓹?
Quyunun 莽al谋艧an zaman n蓹 bu bir insan ad谋 daxil
陌ndi data structure?
Bu c蓹dv蓹ld蓹 h蓹yata ke莽irilir oldu臒unu n蓹z蓹r蓹 alaraq, h蓹qiq蓹t蓹n, bir s谋ra kimi.
Yax艧谋 daimi vaxt var.
Bu, bir qaydas谋 var.
Niy蓹?
>> Yax艧谋 nec蓹 m眉蓹yy蓹n edirsiniz Alice aid oldu臒u?
Siz onun ad谋 olan m蓹ktub baxmaq?
陌lk.
Bir string varsa v蓹 siz orada 蓹ld蓹 ed蓹 bil蓹rsiniz yaln谋z simli baxaraq
bracket s谋f谋r.
Ki, simli zeroth xarakteri bel蓹.
Bu 莽ox asand谋r.
Biz gizli ki, etdi t蓹yin h蓹ft蓹 蓹vv蓹l.
V蓹 sonra bir d蓹f蓹 ki, Alice bilirik m蓹ktub kapital, biz 莽谋xmaq bil蓹r
65 v蓹 ya kapital A 枚z眉, off ki, s谋f谋r verir.
Bel蓹likl蓹, biz indi Alice m蓹xsusdur bilirik ki, yeri s谋f谋r.
>> Bu data g枚st蓹rici verilir strukturu, bir n枚v, n蓹 q蓹d蓹r g枚r眉r
o yeri tapmaq 眉莽眉n m蓹n蓹 almaq bir s谋ra s谋f谋ra?
Yaln谋z bir add谋m, do臒ru daimi vaxt t蓹sad眉fi giri艧 莽眉nki biz
T蓹klif olunan bir s谋ra bir x眉susiyy蓹t idi.
Bel蓹 ki, q谋sa, figuring n蓹 indeksi ALICE ad谋n谋, olan deyil
Bu halda, A, v蓹 ya ed蓹k yaln谋z h蓹ll s谋f谋r oldu臒u B biridir v蓹 C ki,
iki ki, figuring daimi d蓹f蓹.
M蓹n yaln谋z onun ilk m蓹ktub baxmal谋y谋q s谋f谋r oldu臒u figuring bir
array d蓹 daimi d蓹f蓹.
Bel蓹 ki, texniki var 陌ndi iki add谋mlar kimi.
Amma h蓹l蓹 d蓹 daimi deyil.
Bel蓹likl蓹, biz bir b枚y眉k O z蓹ng ki, biz var Bu c蓹dv蓹l daxil Alice daxil
daimi vaxt.
>> Amma 蓹lb蓹tt蓹, m蓹n olan al谋ram burada sad蓹l枚vh, sa臒?
N蓹 sinif bir Aaron var 蓹g蓹r?
V蓹 ya Alicia?
V蓹 ya h蓹r hans谋 dig蓹r adlar谋 il蓹 ba艧layan A. Biz qoymaq 眉莽眉n gedir
h蓹min 艧蓹xs, sa臒?
M蓹n dem蓹k, haz谋rda yaln谋z 眉莽 var masa insanlar, bel蓹 ki, b蓹lk蓹 biz
yer Aaron qoymal谋d谋r s谋f谋r bir iki 眉莽.
>> Sa臒, burada A qoymaq bil蓹r.
Lakin sonra, biz daxil David 蓹lav蓹 etm蓹k 眉莽眉n c蓹hd edin Bu siyah谋da, David nereye gidiyor?
陌ndi bizim sistem q谋r谋lma ba艧lay谋r a艧a臒谋, sa臒?
陌ndi David burada bitir 脟眉nki Aaron burada 蓹slind蓹 蓹g蓹r.
Malik v蓹 art谋q bu b眉t眉n fikir biz蓹 verir ki, t蓹miz data structure
daimi vaxt insertions art谋q M蓹n 莽眉nki daimi vaxt,
yoxlamaq, oh, damnit, kims蓹 art谋q var Alice in yerd蓹.
>> M蓹n蓹 Bu data qalan sonda ed蓹k strukturu, qoymaq 眉莽眉n bir l蓹k蓹 axtar谋r
Harunun ad谋 kimi kims蓹.
V蓹 buna g枚r蓹 d蓹 ba艧lay谋r ki, x蓹tti vaxt.
Bundan 蓹lav蓹, indi tapmaq ist蓹yirsinizs蓹, Bu data t蓹rkibind蓹 Harun v蓹 siz
yoxlamaq v蓹 Harunun ad谋 burada deyil.
陌deal halda, yaln谋z Harunun dey蓹rdim deyil data strukturunda.
Amma 蓹g蓹r 眉莽眉n otaq edilm蓹si ba艧lamaq Harun bir D olmal谋 idi
v蓹 ya E, siz, 蓹n pis halda, yoxlamaq 眉莽眉n olan b眉t眉n m蓹lumat strukturu,
bir 艧ey daxil devolves bu halda masan谋n 枚l莽眉s眉 x蓹tti.
>> B眉t眉n sa臒 Bel蓹 ki, m蓹n bu d眉zeltmek laz谋md谋r.
Burada problem var idi ki, Bu array 26 elementl蓹ri.
M蓹n蓹 d蓹yi艧dirm蓹k ed蓹k.
Whoops.
Daha 莽ox olan, bel蓹 ki, m蓹n蓹 d蓹yi艧dirm蓹k imkan c蓹mi 枚l莽眉s眉 26, alt qeyd
index n m蓹nfi 1 d蓹yi艧dirm蓹k 眉莽眉n gedir.
26 insanlar谋n 眉莽眉n ayd谋n 莽ox ki莽ik deyil adlar谋, 莽眉nki minl蓹rl蓹 var
D眉nyan谋n adlar谋, 蓹dal蓹tli ed蓹k 100 v蓹 ya 1000 v蓹 ya 10,000 edir.
茝dal蓹tli bir 莽ox yer ay谋rma臒a ed蓹k.
>> Yax艧谋 m眉tl蓹q azaltmaq deyil ki, iki olmayacaq ehtimal谋
adlar谋 il蓹 insanlar il蓹 ba艧layan v蓹 bel蓹 ki, siz qoymaq 眉莽眉n c蓹hd gedirdi
h蓹l蓹 yeri s谋f谋r adlar谋.
Onlar h蓹l蓹 toqqu艧maq olacaq olan biz h蓹l蓹 qoymaq 眉莽眉n bir h蓹ll laz谋md谋r dem蓹kdir
Alice v蓹 Harunun v蓹 Alicia v蓹 dig蓹r A ba艧qa yerd蓹 il蓹 ba艧layan adlar.
Amma bu n蓹 q蓹d蓹r problem var?
Ehtimal谋 n蓹dir ki, bir m蓹lumatlar谋 toqqu艧ma var
bu kimi strukturu?
>> Yax艧谋, m蓹n蓹 bildirin - biz geri g蓹lm蓹k laz谋md谋r Burada sual.
V蓹 nec蓹 ola bil蓹r baxmaq ilk h蓹ll edir.
M蓹ni bura bu t蓹klifi qoparmaq ed蓹k.
Biz yaln谋z t蓹svir bir alqoritmi bel蓹dir x蓹tti adl谋 bir Heuristic
Siz daxil c蓹hd 蓹g蓹r vasit蓹si probing Bu data burada bir 艧ey
bir hash masa adlanan strukturu, v蓹 he莽 bir otaq var var
h蓹qiq蓹t蓹n data structure sonda yoxlan谋lmas谋, bu m眉mk眉nd眉r?
Bu m枚vcud bu m眉mk眉n m眉?
Bu m枚vcud?
V蓹 n蓹hay蓹t olduqda, siz daxil siz ilk n蓹z蓹rd蓹 ki, ad谋
ba艧qa yerd蓹 ki, yer.
Amma pis halda, yaln谋z spot m蓹lumatlar谋n 莽ox a艧a臒谋 ola bil蓹r
strukturu, serial谋n 莽ox sonunda.
>> Bel蓹 ki, x蓹tti, 蓹n pis halda, probing, x蓹tti alqoritm daxil devolves yerl蓹艧ir
Aaron, ke莽蓹n daxil edilm蓹lidir olur Bu data strukturu, o, g眉c
Bu ilk yeri il蓹 toqqu艧maq, lakin sonra 莽ox sonunda pis luck il蓹 ba艧a.
Bel蓹likl蓹, bu daimi deyil bizim 眉莽眉n vaxt m眉q蓹dd蓹s grail.
Daxil elementl蓹rinin Bu yana艧ma n蓹z蓹r蓹 m蓹lumat strukturu hash 莽a臒谋r谋b
masa daimi d蓹f蓹 g枚r眉nm眉r 蓹n az谋 眉mumi halda.
Bu x蓹tti bir 艧ey qalmaq bil蓹r.
>> Biz toqqu艧ma h蓹ll Yax艧谋, 蓹g蓹r q蓹d蓹r f蓹rqli?
Bel蓹 ki, burada daha t蓹cr眉b蓹li var h蓹l蓹 n蓹 m眉raci蓹t
bir hash masa 莽a臒谋r谋b.
V蓹 hash il蓹 bir k蓹nara, n蓹 kimi Hesab edir蓹m ki, index dem蓹k
M蓹n 蓹vv蓹ll蓹r edilir.
Etm蓹k 眉莽眉n hash bir 艧ey ola bil蓹r bir verb kimi d眉艧眉nd眉m.
>> 茝g蓹r hash Alice bir ad谋 var Bel蓹 ki, bir hash funksiyas谋, bel蓹 dan谋艧maq,
bir s谋ra qaytarmal谋d谋r.
O da m蓹xsusdur Bu halda 蓹g蓹r s谋f谋r o da aiddir, 蓹g蓹r yeri s谋f谋r, bir
yeri bir, v蓹 s.
Bel蓹 ki, m蓹nim hash funksiyas谋 bel蓹 uzaq olub super sad蓹, yaln谋z baxaraq
Birinin ad谋 ilk m蓹ktubu.
Amma hash funksiyas谋 kimi g枚r眉r input data bir par莽a, bir
simli, bir int, n蓹.
V蓹 ad蓹t蓹n bir s谋ra spits.
V蓹 ki say谋 oldu臒u m蓹lumatlar element data structure m蓹xsusdur
bir hash masa kimi burada bilinir.
>> Bel蓹 ki, yaln谋z daxil蓹n, bu, az f蓹rqli kontekstind蓹.
Bu 蓹slind蓹 bir n眉mun蓹 istinad c蓹lb ad g眉n眉 oldu臒u
kimi bir 莽ox ola bil蓹r Ay 31 g眉n.
Lakin bu 艧蓹xs n蓹 q蓹rar verdiniz bir toqqu艧ma hal谋nda n蓹?
Context indi bir toqqu艧ma olmayan adlar谋, lakin ad g眉nl蓹ri toqqu艧ma,
iki n蓹f蓹r eyni ad varsa M蓹s蓹l蓹n oktyabr 2-ci.
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: B蓹li, bel蓹 ki, burada biz ba臒l谋 siyah谋lar谋n谋n yararlanarak.
Bel蓹 ki, f蓹rqli bir az g枚r眉n眉r biz 蓹vv蓹ll蓹r c蓹lb edir.
Amma biz bir s谋ra 眉莽眉n g枚r眉n眉r sol t蓹r蓹find蓹.
Bu he莽, bir index var x眉susi s蓹b蓹b.
Amma h蓹l蓹 bir s谋ra var.
Bu g枚st蓹ricil蓹r bir s谋ra var.
V蓹 h蓹r bir bu elementl蓹rin h蓹r biri Bu dair蓹l蓹r v蓹 ya slashes - Bu 莽izgi
t蓹msil null - bu h蓹r g枚st蓹ricil蓹rin蓹 y蓹qin i艧ar蓹 edir
n蓹 data structure?
A ba臒l谋d谋r siyah谋s谋.
>> Bel蓹 ki, indi biz imkan谋 var bizim proqram a臒谋r kodu
Tablonun 枚l莽眉s眉.
Bu halda, biz he莽 vaxt oldu臒unu bilirik bir ay 莽ox 31 g眉n.
Bel蓹 a臒谋r 31 kimi bir d蓹y蓹ri coding Bu kontekstd蓹 m眉vafiq.
Adlar谋 kontekstind蓹, a臒谋r kodla艧d谋rma 26 蓹sass谋z deyil insanlar谋n
adlar谋 yaln谋z, m蓹s蓹l蓹n, il蓹 ba艧lamaq Z. vasit蓹sil蓹 c蓹lb 蓹lifbas谋
>> Biz ki, data onlar谋 b眉t眉n CRAM bil蓹r strukturu bel蓹 uzun biz zaman kimi
toqqu艧ma, biz burada adlar谋 qoymaq deyil, yerine bu h眉ceyr蓹l蓹r hesab
deyil strings 枚zl蓹ri, lakin kimi M蓹s蓹l蓹n, Alice g枚st蓹ricil蓹rin蓹.
V蓹 sonra Alice ba艧qa bir pointer ola bil蓹r il蓹 ba艧layan ba艧qa ad谋
A. V蓹 Bob h蓹qiq蓹t蓹n burada 眉z蓹rind蓹 gedir.
>> V蓹 ba艧lan臒谋c ba艧qa bir ad var, 蓹g蓹r B il蓹, o burada bit蓹r.
V蓹 bel蓹 bu elementl蓹rin h蓹r birind蓹n biz bu n蓹z蓹rd蓹 蓹g蓹r masa iki,
az daha a臒谋ll谋 -
g蓹lib -
Biz bu bir az daha n蓹z蓹rd蓹 蓹g蓹r a臒谋lla, indi bir adaptiv data 莽evrilir
he莽 bir a臒谋r limit var oldu臒u qurulu艧u, Siz 蓹lav蓹 ed蓹 bil蓹rsiniz ne莽蓹 elementl蓹ri
onu 茝g蓹r 莽眉nki bir toqqu艧ma ki, g枚z蓹l.
Yaln谋z ir蓹li getm蓹k v蓹 ona 蓹lav蓹 biz idi bir az 蓹vv蓹l g枚rd眉y眉m
bir ba臒l谋 siyah谋 kimi tan谋n谋r.
>> Yax艧谋, yaln谋z bir an nin fasil蓹 ed蓹k.
Bir toqqu艧ma ehtimal谋 n蓹dir ilk n枚vb蓹d蓹?
Sa臒, b蓹lk蓹 art谋q, b蓹lk蓹 d眉艧眉n眉r al谋ram M蓹n bu problem Engineering art谋q Ben
n蓹 bilirl蓹r?
B蓹li, m蓹n 枚zba艧谋na il蓹 g蓹lm蓹k olar kimi m蓹nim ba艧 眉st off n眉mun蓹l蓹ri
Allison v蓹 Harun, lakin 蓹slind蓹, vahid paylanmas谋 verilmi艧dir
b蓹zi t蓹sad眉fi insertions ki, giri艧, m蓹lumat strukturu, h蓹qiq蓹t蓹n n蓹
bir toqqu艧ma ehtimal谋n谋n?
Yax艧谋 莽谋x谋r, bu, h蓹qiq蓹t蓹n var super y眉ks蓹k.
Bu m蓹n蓹 眉mumil蓹艧dirm蓹k ed蓹k problem bu deyil.
>> Bel蓹 n bir otaqda CS50 t蓹l蓹b蓹l蓹r, var ehtimal ki, 蓹n az谋
otaqda iki t蓹l蓹b蓹 eyni ad var?
Bel蓹 ki, n蓹 var. bir ne莽蓹 Hund -
Burada bir ne莽蓹 200, 300 n蓹f蓹r Bu g眉n evd蓹 y眉z n蓹f蓹r.
Siz n蓹 枚z眉m眉z眉 soru艧maq ist蓹yirdi Bel蓹 ki, 蓹g蓹r iki n蓹f蓹r ehtimal谋
eyni ad g眉n眉 olan bu otaqda, biz bu anlamaq bil蓹r.
V蓹 m蓹n iki var h蓹qiq蓹t蓹n iddia eyni ad g眉n眉 insanlar.
>> M蓹s蓹l蓹n, h蓹r k蓹s edir Bu g眉n ad g眉n眉 var?
D眉n蓹n?
Sabah?
Gedir蓹m kimi b眉t眉n h眉ququ, bel蓹 ki, hiss daha bu 363 v蓹 ya bunu etm蓹k
d蓹f蓹 h蓹qiq蓹t蓹n anlamaq 眉莽眉n biz bir toqqu艧ma var.
V蓹 ya biz yaln谋z riyazi bunu ed蓹 bil蓹r daha maraqs谋z 莽ox
bunu.
V蓹 a艧a臒谋dak谋 t蓹klif edirik.
>> Ona g枚r蓹 d蓹 m蓹n, biz model ola bil蓹r ki, t蓹klif 茝yal蓹tin iki n蓹f蓹r ehtimal谋
1 ehtimal谋 eyni ad g眉n眉 olan he莽 bir m蓹nfi ehtimal谋
eyni ad.
Bel蓹 ki, bu almaq 眉莽眉n v蓹 bu yaln谋z edir 眉莽眉n Bu yaz谋 x眉lya yolu,
oda ilk 艧蓹xs, o, m眉mk眉n h蓹r hans谋 bir ola bil蓹r
ad g眉nl蓹ri, ild蓹 365 g眉n h蓹rfinin 艧蓹xsl蓹r 眉莽眉n 眉zr il蓹
Fevral 29 do臒um g眉n眉d眉r.
>> Bel蓹 ki, bu otaq ilk adam pulsuz Ad g眉nl蓹ri h蓹r hans谋 bir say谋 眉莽眉n
h蓹yata 365 imkanlar谋n谋n ki, biz, 365 il蓹 365 ay谋rm谋艧 ed蓹c蓹yik
olan biridir.
Oda n枚vb蓹ti 艧蓹xs, 蓹g蓹r m蓹qs蓹d bir toqqu艧ma qar艧谋s谋n谋 almaq 眉莽眉n, yaln谋z
nec蓹 onun ad g眉n眉 var 莽ox m眉xt蓹lif m眉mk眉n g眉n?
364.
Bel蓹 ki, bu ifad蓹 ikinci d枚vr mahiyy蓹tc蓹 bizim 眉莽眉n ki, riyaziyyat bunu
bir m眉mk眉n g眉n眉 莽谋xar谋laraq.
V蓹 sonra n枚vb蓹ti g眉n, n枚vb蓹ti g眉n, a艧a臒谋 眉mumi say谋na N枚vb蓹ti g眉n
oda insanlar谋n.
>> V蓹 biz sonra n蓹z蓹r蓹 alsaq, onda n蓹 olmayan h蓹r k蓹s ehtimal谋
unikal ad g眉nl蓹ri, lakin yen蓹 1 minus ki, biz 蓹ld蓹 ifad蓹
莽ox fancifully bil蓹r bu kimi g枚r眉n眉r.
Amma daha maraql谋 var vizual baxmaq.
Bu x-ox 眉zr蓹 oldu臒u bir chart edir oda insanlar谋n say谋,
Ad g眉nl蓹ri say谋.
Y-ox 眉zr蓹 ehtimal谋 bir vuru艧ma, iki n蓹f蓹r
eyni ad g眉n眉 olan.
>> Bu 蓹yri olan paket edir ki, siz 40 kimi almaq kimi tezlikl蓹
t蓹l蓹b蓹l蓹r, siz 90% ehtimal da haz谋r combinatorically iki
insanlar谋n v蓹 ya daha 莽ox olan eyni ad.
V蓹 sonra bu 58 adam kimi almaq bir 艧ans iki t蓹xmin蓹n 100%
oda insanlar 眉莽眉n gedir eyni ad var olsa bel蓹,
365 v蓹 ya 366 m眉mk眉n buketler v蓹 otaqda yaln谋z 58 n蓹f蓹r.
Yaln谋z statistik siz g眉man etdiyiniz , toqqu艧ma almaq q谋sa
Bu m眉zakir蓹 motive.
Biz burada x眉lya almaq, h蓹tta ki, 蓹g蓹r Bu z蓹ncirl蓹r olan ba艧lamaq, biz h蓹l蓹 ist蓹yirik
toqqu艧ma ed蓹c蓹yik.
>> Sual谋na begs Bel蓹 ki, n蓹 edir insertions ve silme bunu d蓹y蓹ri
bu kimi bir veri strukturu?
Yax艧谋 m蓹n蓹 t蓹klif ed蓹k -
v蓹 m蓹n蓹 眉z蓹rind蓹 ekrana geri gidelim burada - biz elementl蓹rinin N 蓹g蓹r
siyah谋s谋, biz daxil 莽al谋艧d谋臒谋n谋z 蓹g蓹r n elementl蓹ri, v蓹 biz
ne莽蓹 眉mumi buketler?
G蓹lin 31 c蓹mi buketler Cavab Ad g眉nl蓹ri halda.
Bir maksimum uzunlu臒u n蓹dir potensial bu z蓹ncirl蓹r?
>> Daha m眉mk眉n 31 varsa m眉蓹yy蓹n bir ayda ad g眉n眉.
V蓹 biz yaln谋z h蓹r k蓹s clumping edirik -
蓹slind蓹 bir axmaq n眉mun蓹 var.
茝v蓹zin蓹 26 etm蓹k ed蓹k.
H蓹qiq蓹t蓹n adlar谋 adam var Bel蓹 ki, 蓹g蓹r bununla verilm蓹si, Z vasit蓹sil蓹 ba艧lamaq
Bizi 26 imkanlar谋.
V蓹 biz kimi bir veri strukturu istifad蓹 etdiyiniz biz qovu艧durma臒谋m谋z biz yaln谋z g枚rd眉m bir,
g枚st蓹ricil蓹rin蓹 bir s谋ra, o c眉ml蓹d蓹n h蓹r bir burada bir ba臒l谋 siyah谋s谋na bal
ilk siyah谋s谋 h蓹r k蓹s ad谋 Alice il蓹.
陌kinci siyah谋 h蓹r il蓹 ba艧layaraq, A il蓹 ba艧layan ad
B, v蓹 s.
>> H蓹r ehtimal uzunlu臒u n蓹dir h蓹min siyah谋lar谋n biz g枚z蓹l t蓹miz f蓹rz 蓹g蓹r
A-dan Z vasit蓹sil蓹 adlar谋 b枚l眉艧d眉r眉lm蓹si b眉t眉n data structure aras谋nda?
Veri strukturu n insanlar var onlar q蓹艧蓹ng ist蓹yirsinizs蓹, 26 b枚l眉n眉r
b眉t眉n 眉z蓹rind蓹 yay谋lm谋艧d谋r data structure.
Bel蓹 ki, bu h蓹r birinin uzunlu臒u z蓹ncirl蓹r 26 b枚l眉n眉r n.
Lakin b枚y眉k O notation ki, n蓹dir?
H蓹qiq蓹t蓹n n蓹dir?
Bel蓹 ki, sa臒, h蓹qiq蓹t蓹n yaln谋z n var?
Biz ke莽mi艧d蓹 deyib sonra 脟眉nki, uf siz 26 b枚lm蓹k ki.
B蓹li, 蓹slind蓹 daha s眉r蓹tli edir.
Lakin n蓹z蓹riyy蓹si, o, 蓹sasl谋 deyil b眉t眉n s眉r蓹tli.
>> Bel蓹 ki, biz b眉t眉n ki, 莽ox ola g枚r眉nm眉yor yax谋n bu m眉q蓹dd蓹s grail 眉莽眉n.
茝slind蓹, bu, yaln谋z x蓹tti d蓹f蓹.
Heck, bu n枚qt蓹d蓹, n蓹 biz bunu yaln谋z bir b枚y眉k ba臒l谋 siyah谋s谋n谋 istifad蓹 edin?
Niy蓹 biz bir b枚y眉k istifad蓹 etm蓹yin adlar谋 saxlamaq 眉莽眉n array
otaqda h蓹r k蓹s?
Yax艧谋, bir 艧ey h蓹l蓹 d蓹 var bir hash masa haqq谋nda 莽ekici?
脟ekici bir 艧ey h蓹l蓹 d蓹 m蓹lumat strukturu haqq谋nda
bu kimi g枚r眉n眉r?
Bu.
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: yaln谋z h眉ququ v蓹 yen蓹 蓹g蓹r x蓹tti vaxt alqoritm v蓹
x蓹tti vaxt data strukturu, n蓹 deyil yaln谋z b枚y眉k h蓹r k蓹sin ad谋 saxlamaq
dizi, v蓹 ya b枚y眉k ba臒l谋 siyah谋da?
V蓹 bel蓹 莽ox 莽蓹tindir CS edilm蓹si dayand谋rmaq bu olmal谋d谋r 莽ox?
H蓹tta bu bar蓹d蓹 莽ekici n蓹dir M蓹n onu c谋z谋qlanm谋艧 baxmayaraq?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Insertions deyil?
Art谋q bahal谋.
Bel蓹 ki, insertions potensial h蓹l蓹 ola bil蓹r , daimi vaxt ola bile data
struktur, bu kimi bir s谋ra g枚r眉n眉r g枚st蓹ricil蓹r d蓹 i艧ar蓹 edir h蓹r biri
potensial ba臒l谋 siyah谋s谋.
Nec蓹 sabit nail adlar谋 vaxt谋 durub?
Sa臒, qar艧谋s谋nda qalmaq?
>> Biz bir dizayn qol qurban edin 蓹vv蓹ll蓹r, biz saxlamaq ist蓹yirdi yerl蓹艧ir
h蓹r k蓹sin ad谋, m蓹s蓹l蓹n, sorted, v蓹 ya s蓹hn蓹d蓹 蓹d蓹d b眉t眉n s谋ralan谋r
biz ki, g眉man 莽e艧idl蓹nm蓹mi艧 ba臒l谋 siyah谋s谋.
Bu, yaln谋z, biz蓹 bir-iki add谋m x蓹rcl蓹ri Ben v蓹 Brian halda oldu臒u kimi
蓹vv蓹ll蓹r bir element 蓹lav蓹 etm蓹k 眉莽眉n siyah谋n谋n ba艧谋nda.
Biz b眉t眉n 莽e艧idl蓹nm蓹si haqq谋nda qay臒谋 yoxdur Bel蓹 ki, 蓹g蓹r il蓹 ba艧layan adlar A v蓹 ya b眉t眉n
B il蓹 ba艧layan adlar, biz h蓹l蓹 d蓹 bil蓹r daimi vaxt durub nail olmaq.
陌ndi Alice ya Bob v蓹 ya h蓹r hans谋 bir ad ararken 眉mumiyy蓹tl蓹 h蓹l蓹 n蓹dir?
Bu 26 b枚l眉n眉r n b枚y眉k O, var h蓹r k蓹s b蓹rab蓹r oldu臒u ideal halda
paylanm谋艧, kimi bir 莽ox A var oldu臒u Z-nin, y蓹qin olan var
qeyri-real.
Amma h蓹l蓹 x蓹tti var.
>> Amma burada, biz n枚qt蓹sin蓹 geri g蓹lm蓹k olan asimptotik notation v蓹
n蓹z蓹ri do臒rudur.
Lakin real d眉nyada, 蓹g蓹r m蓹n iddia m蓹nim proqram 26 d蓹f蓹 bir 艧ey ed蓹 bil蓹rsiniz
olan proqram sizin, 莽ox daha s眉r蓹tli istifad蓹 tercih edir?
Sizin v蓹 ya mina, hans谋 26 d蓹f蓹 s眉r蓹tli?
Real, onun 艧蓹xs 26 d蓹f蓹 daha s眉r蓹tli, h蓹tta n蓹z蓹ri c蓹h蓹td蓹n 蓹g蓹r
bizim alqoritml蓹r eyni 莽al谋艧谋r vaxt 莽al谋艧an asimptotik.
>> M蓹n蓹 bir f蓹rqli t蓹klif ed蓹k c蓹mi h蓹lli.
V蓹 bu fikrinizi 蓹s蓹c蓹k deyils蓹, biz data strukturlar谋n bitti.
Bel蓹likl蓹, bu bir trie deyil -
bir axmaq ad谋 c眉r.
Bu s枚z al谋mlar谋 g蓹lir v蓹 莽眉nki trie, t-r-i-e, yaz谋ld谋臒谋na
茝lb蓹tt蓹 axtar谋艧 trie kimi s蓹sl蓹nir.
Amma bu tarixi s枚z眉 trie edir.
>> Bel蓹 bir trie, h蓹qiq蓹t蓹n a臒ac bir n枚v edir v蓹 bu da ki, s枚z bir oyun var.
V蓹 莽ox g枚rm蓹k bilm蓹z, baxmayaraq ki, Bu vizual il蓹 bir trie bir
a臒ac il蓹 bir ail蓹 a臒ac kimi, strukturla艧d谋r谋lm谋艧 眉st v蓹 莽ox bir 蓹cdad
n蓹v蓹si v蓹 b枚y眉k n蓹v蓹si kimi alt yarad谋r.
Amma trie h蓹r node bir s谋ra edir.
V蓹 bir s谋ra var - v蓹 Haydi bir an oversimplify - Bu bir
dizi, bu halda, 枚l莽眉s眉 26, harada h蓹r node yenid蓹n 枚l莽眉s眉 bir s谋ra edir
26 oldu臒u ild蓹 zeroth element array A t蓹msil v蓹 son
h蓹r bel蓹 element array Z. t蓹msil
>> Buna g枚r蓹, sonra t蓹klif Bu data bir trie kimi tan谋nan qurulu艧u, ola bil蓹r
s枚zl蓹ri saxlamaq 眉莽眉n d蓹 istifad蓹 olunur.
Biz saxlamaq nec蓹 bir an 蓹vv蓹l g枚rd眉m s枚zl蓹r, v蓹 ya bu halda adlar v蓹 biz
, biz n枚mr蓹l蓹ri saxlaya bil蓹rsiniz nec蓹 daha 蓹vv蓹l g枚rd眉m ancaq adlar谋 v蓹 ya strings diqq蓹t 蓹g蓹r
Burada maraql谋 n蓹 g枚r眉rs眉n眉z.
M蓹n ad Maxwell oldu臒unu iddia Bu data strukturu daxilind蓹.
Harada Maxwell g枚r眉rs眉n眉z?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: Sol.
Bel蓹 Bu data maraql谋 n蓹 var strukturu deyil, ma臒aza daha
string M-A-X-W-E-L-L backslash s谋f谋r, b眉t眉n contiguously, yerine n蓹
izl蓹yir.
Bu data strukturu kimi bir trie varsa, olan qov艧aqlar谋n谋n h蓹r birinin yenid蓹n bir s谋ra edir
v蓹 Maxwell saxlamaq ist蓹yir蓹m ki, siz ilk index v蓹 o q蓹d蓹r k枚k-nin s枚zl蓹,
, topmost node dan谋艧maq sa臒, bel蓹 yer M, at
t蓹xmin蓹n ortas谋na.
V蓹 oradan, bir edin bir u艧aq qov艧a臒谋na pointer, bel蓹 dan谋艧maq.
Bel蓹 ki, ail蓹 a臒ac谋n谋n m蓹nada, Siz a艧a臒谋 bunu edin.
V蓹 ba艧qa bir node siz蓹 r蓹hb蓹rlik olan orada sol haqq谋nda
yaln谋z bir s谋ra.
>> V蓹 sonra, Maksvell saxlamaq ist蓹yirsinizs蓹, 茝g蓹r t蓹msil g枚st蓹rici tapmaq
A, burada bu biridir.
Sonra n枚vb蓹ti node gedin.
V蓹 x蓹b蓹rdarl谋q - bu n蓹 艧蓹kil Agentliyi bir az aldatma -
Bu node ki莽ik super baxmaq.
Amma bu h眉ququ Y v蓹 Z. edir Bu, yaln谋z m眉蓹llif kesilir etmi艧dir oldu
艧蓹kil ki, h蓹qiq蓹t蓹n, 艧eyi g枚r眉r眉k.
茝ks halda bu 艧蓹kil natarazcas谋na geni艧 olard谋.
Sonra yeri X daxil Bel蓹 ki, indi indeksi, Sonra sonra W, sonra E, L, L. var
bu mara臒谋?
>> Yax艧谋, biz yeni bu c眉r kullan谋yorsan谋z bir simli saxlamaq 眉莽眉n nec蓹 g枚t眉rm蓹k
data structure, h蓹l蓹 laz谋md谋r mahiyy蓹tc蓹 m蓹lumatlara off yoxlamaq
Bir s枚zl蓹, burada bitir qurulu艧u.
Ba艧qa s枚zl蓹, bu qov艧aqlar谋n谋n h蓹r birt蓹h蓹r unutmay谋n ki, biz
h蓹qiq蓹t蓹n sonra bu g枚st蓹ricil蓹r b眉t眉n v蓹 bir az t蓹rk edir
Bu burada alt谋ndak谋 莽枚r蓹k q谋r谋nt谋 M-A-X-W-E-L-L g枚st蓹rir strukturu
h蓹qiq蓹t蓹n Bu data qurulu艧u.
>> Bel蓹likl蓹, biz a艧a臒谋dak谋 kimi bunu bil蓹r.
Biz yaln谋z 艧蓹kil qov艧aqlar谋n谋n h蓹r g枚rd眉m bir, 枚l莽眉s眉 27 bir s谋ra var.
P alt谋 m眉蓹yy蓹n 莽眉nki, indi 27 var Biz, h蓹qiq蓹t蓹n, bir Apostrof ver蓹c蓹yik
biz O'Reilly kimi adlar谋 ola bil蓹r apostrophes v蓹 s.
Amma eyni fikir.
Ki, h蓹min elementl蓹rin h蓹r biri bir struct 眉莽眉n array bal
node, bel蓹 ki, yaln谋z bir node.
Bel蓹 ki, bu 莽ox xat谋rladan Bizim ba臒l谋 siyah谋s谋.
>> V蓹 sonra bir Boolean var, I will s枚z z蓹ng olan yaln谋z olacaq
Bir s枚zl蓹, bu bitir do臒ru 蓹g蓹r a臒ac il蓹 node.
Bu s蓹m蓹r蓹li az t蓹msil 眉莽bucaq biz bir an 蓹vv蓹l g枚rd眉m.
Bir s枚z ki, node ba艧a 莽at谋r Bel蓹 ki, 蓹g蓹r a臒ac, s枚z sah蓹sind蓹, do臒ru olacaq
olan konseptual off yoxlan谋lmas谋, v蓹 ya biz b蓹li var, bu 眉莽bucaq r蓹sm edirik
burada s枚z.
>> Bel蓹 ki, bu trie edir.
陌ndi is蓹 sual n蓹 onun 莽al谋艧an?
O n b枚y眉k o?
Ba艧qa bir 艧ey mi?
Yax艧谋, siz Bu data adlar谋 N 蓹g蓹r strukturu, Maxwell yaln谋z biri olan
onlara da 莽al谋艧an zaman n蓹 daxil v蓹 ya Maxwell tapmaq?
脟al谋艧an zaman n蓹dir Maxwell olunsa?
N ba艧qa adlar varsa art谋q c蓹dv蓹ld蓹?
B蓹li?
>> T茝L茝B茝: [i艧itilemez].
>> HOPARL脰R 1: B蓹li, uzunlu臒u var ad谋, sa臒?
M-a-x-w-e-l-l Bel蓹 ki, bu kimi hiss Bel蓹 ki, alqoritm yeddi b枚y眉k Ey edir.
陌ndi, 蓹lb蓹tt蓹, ad谋 uzunlu臒u d蓹yi艧ir.
B蓹lk蓹 bir q谋sa ad谋 var.
B蓹lk蓹 uzun ad谋 var.
B蓹s burada 蓹sas var ki, bir sabit bir say谋 var.
V蓹 b蓹lk蓹, h蓹qiq蓹t蓹n daimi deyil Allah, real, 蓹g蓹r bir
l眉臒蓹t, b蓹zi limit y蓹qin ki, yoxdur bir h蓹rfl蓹rin say谋
m蓹xsusi 枚lk蓹d蓹 艧蓹xsin ad谋.
>> V蓹 biz g眉man ed蓹 bil蓹r d蓹y蓹r v蓹 daimidir.
M蓹n bunu n蓹 bilmir蓹m.
Y蓹qin ki, daha b枚y眉k var biz bunu hesab edir蓹m.
B蓹zi k眉nc h蓹mi艧蓹 var, 莽眉nki d蓹li uzun ad谋 il蓹 halda.
Bel蓹 ki, 陌T k deyirik, lakin o, h蓹l蓹 d蓹 var daimi ehtimalla, h蓹r 莽眉nki
蓹n az谋 bir d眉nyada, ad谋n谋 枚lk蓹nin ki, uzunlu臒u v蓹 ya
q谋sa, buna g枚r蓹 d蓹 daimi deyil.
Amma biz bildirib etdiyiniz zaman b枚y眉k bir 艧ey deyil Sabit d蓹y蓹r O, n蓹 ki,
h蓹qiq蓹t蓹n ekvivalent?
Bu h蓹qiq蓹t蓹n eyni 艧ey daimi zaman deyib.
>> 陌ndi aldad谋c谋 c眉r hakl媒s媒n?
Biz b蓹zi n蓹z蓹riyy蓹si yararlanarak c眉r ist蓹yirik burada yax艧谋, k 眉莽眉n deyil ki,
h蓹qiq蓹t蓹n, yaln谋z bir sifari艧 v蓹 bu daimi vaxt var.
Amma bu, h蓹qiq蓹t蓹n.
Burada 蓹sas fikir 脟眉nki biz bu art谋q adlar谋 N 蓹g蓹r
data structure, biz insert Maxwell, bu biz蓹 edir zaman m蓹bl蓹臒i
t蓹sir蓹 m蓹ruz qalan b眉t眉n at Maxwell daxil nec蓹 bir 莽ox dig蓹r insanlar t蓹r蓹find蓹n
veri strukturu var?
Olmaq g枚r眉nm眉r.
M蓹n bu bir milyard elementl蓹ri olsayd谋 sonra trie v蓹 Maxwell olunur daxil
o b眉t眉n t蓹sir?
No
V蓹 bu g眉n g枚st蓹ril蓹n h蓹r hans谋 f蓹rqli var biz, bu g眉n蓹 q蓹d蓹r g枚rd眉m strukturlar谋
Sizin alqoritm 莽al谋艧an zaman n蓹 q蓹d蓹r tamamil蓹 m眉st蓹qil
hey蓹ti v蓹 ya art谋q deyil ki, data strukturunda.
>> Bu imkan v蓹 bel蓹 art谋q deyil p set alt谋 imkan ver蓹c蓹k
yen蓹 枚z h蓹yata c蓹lb 150,000 oxu 陌mla kontrol眉,
s枚zl蓹r, n蓹 yax艧谋 ki, saxlamaq 眉莽眉n m眉tl蓹q ayd谋n deyil.
V蓹 m蓹n tapmaq talib etdik baxmayaraq m眉q蓹dd蓹s grail, m蓹n bunu
bir trie oldu臒unu iddia.
茝slind蓹, bir hash table 莽ox yax艧谋 bil蓹r daha s蓹m蓹r蓹li oldu臒unu s眉but edir.
Ancaq o yaln谋z var -
ki, yaln谋z dizayn q蓹rarlardan biri Bunu etm蓹k olacaq.
>> Lakin yekun bir-qoy 50 v蓹 ya bel蓹 saniy蓹 yalan n蓹 bir peek almaq
ir蓹li h蓹ft蓹 n枚vb蓹ti v蓹 biz ke莽id k蓹narda Bu skript sat谋r谋
艧eyi web d眉nya C proqramlar谋 蓹g蓹r 蓹saslan谋r v蓹 PHP kimi dil v蓹
JavaScript v蓹 internet 枚z眉, Siz etdiyiniz HTTP kimi protokollar谋,
il g枚yd蓹n h蓹r 蓹ks蓹riyy蓹ti v蓹 莽ap
g眉n, b蓹lk蓹, v蓹 ya g枚r眉ld眉.
V蓹 biz soymaq geri ba艧lars谋n谋z n蓹 qat internet edir.
V蓹 kodu nedir ki, yatan bug眉nk眉 al蓹tl蓹r.
Bu teaser bel蓹 50 saniy蓹.
M蓹n siz蓹 脟蓹kisi Warriors verir.
>> [Video playback]
>> O, bir mesaj g蓹ldi.
Protokol b眉t眉n 枚z il蓹.
O, q蓹ddar firewall d眉nya g蓹ldi 蓹h蓹miyy蓹t verm蓹z y枚nlendirici v蓹 t蓹hl眉k蓹l蓹r uzaq
枚l眉md蓹n bet蓹r.
O, s眉r蓹tli.
O, g眉cl眉 var.
O Tcpip var.
O 眉nvan谋 var.
Net d枚y眉艧莽眉l蓹r.
>> [END video playback]
>> HOPARL脰R 1: Bu nec蓹 internet G蓹l蓹n h蓹ft蓹 kimi i艧l蓹m蓹lidir.