[MUSIC PLAYING]
>> DAVID MALAN: Bu CS50 edir.
Bu ba艧lan臒谋c v蓹 h蓹m d蓹 sanki dem蓹k olar ki, sonuna kimi laz谋md谋r, 莽眉nki
H蓹ft蓹 alt谋.
>> M蓹n b枚l眉艧m蓹k ist蓹diyiniz d眉艧眉nd眉m bir 蓹yl蓹nc蓹 fakt az.
M蓹n bu q蓹d蓹r 莽谋xard谋 etdik Son semestr data se莽in.
Biz h蓹r sizi xahi艧 ki geri bil蓹r p set form online seyr etdik 蓹g蓹r
v蓹 ya 艧蓹xs i艧tirak etdik, 蓹g蓹r.
V蓹 burada data deyil.
Bel蓹 ki, bu g眉n 莽ox g枚zl蓹nil蓹n idi.
Amma biz bir az s蓹rf ist蓹di zaman sizinl蓹 yen蓹.
Niy蓹 h蓹r k蓹s bu z蓹nn ist蓹yirsiniz graph, a艧a臒谋, a艧a臒谋, bel蓹 jaggy edir
bel蓹 ard谋c谋l?
N蓹 zirv蓹l蓹ri h蓹r 艧eyi v蓹 莽枚k蓹klikl蓹r t蓹msil edir?
>> Auditoriya: [i艧itilemez]
DAVID MALAN: H蓹qiq蓹t蓹n.
V蓹 daha 莽ox g眉lm蓹li, Allah qorusun, biz bir c眉m蓹 g眉n眉 bir m眉hazir蓹
semestr 蓹vv蓹lind蓹, ki, biz n蓹 g枚r眉r眉k budur.
Bel蓹 ki, bu g眉n biz bir az i艧tirak data strukturlar谋 haqq谋nda daha 莽ox.
V蓹 bir b蓹rk daha verm蓹k be艧 probleml蓹rin ruhi model,
indi deyil.
Bad yaz谋mlar, orada, biz will bir m蓹tn fayl谋 蓹l b蓹zi 100,000
plus 陌ngilis dili s枚zl蓹r, v蓹 Siz olacaq
A臒谋lla onlar谋 y眉klemek 眉莽眉n nec蓹 anlamaq 眉莽眉n yadda艧 daxil, RAM, b蓹zi data istifad蓹 ed蓹r蓹k,
Se莽diyiniz strukturu.
>> 陌ndi bel蓹 bir data strukturu bil蓹r olmamal谋d谋r y蓹qin ki, lakin,
Bu kifay蓹t q蓹d蓹r sad蓹 ba臒l谋 siyah谋, biz son d蓹f蓹 t蓹qdim etdi.
V蓹 bir ba臒l谋 siyah谋 az谋 idi bir s谋ra 眉z蓹rind蓹 bir 眉st眉nl眉y眉.
Bir 眉st眉nl眉y眉 n蓹dir arguably bir ba臒l谋 siyah谋?
>> Auditoriya: Insertion.
>> DAVID MALAN: Insertion.
Siz n蓹 dem蓹kdir?
>> Auditoriya: Yerd蓹 boyunca siyah谋s谋 [I艧itilemez].
>> DAVID MALAN: Yax艧谋.
Bel蓹 ki, bir element yerd蓹 蓹lav蓹 ed蓹 bil蓹rsiniz Siz siyah谋s谋 ortas谋nda ist蓹yirik
bir 艧ey shuffle olmadan, Hans谋 ki, biz s谋ralayaraq, ba臒lanm谋艧
m眉zakir蓹l蓹r deyil m眉tl蓹q yax艧谋 bir 艧ey,
Bu vaxt t蓹l蓹b edir, 莽眉nki h蓹qiq蓹t蓹n h蓹r蓹k蓹t bu insan b眉t眉n sol v蓹 ya sa臒.
V蓹 bel蓹 bir ba臒l谋 siyah谋s谋 il蓹, siz yaln谋z malloc il蓹 ayr谋lmas谋, yeni node,
v蓹 sonra bir ne莽蓹 yenil蓹m蓹 g枚st蓹ricil蓹rin蓹 iki, 眉莽 蓹m蓹liyyatlar max--
v蓹 biz kims蓹 slot edirik siyah谋s谋na daxil h蓹r yerd蓹.
>> N蓹 s蓹rf蓹li idi bir ba臒l谋 siyah谋s谋 haqq谋nda?
B蓹li?
>> Auditoriya: [i艧itilemez]
DAVID MALAN: Perfect.
Perfect.
Bu, h蓹qiq蓹t蓹n dinamik.
V蓹 t枚r蓹tm蓹kd蓹 deyilik ki, 蓹vv蓹lc蓹d蓹n b蓹zi sabit 枚l莽眉s眉
yadda艧 y谋臒谋n, kimi olard谋 bir s谋ra il蓹, alt 眉莽眉n olan
Siz yaln谋z qov艧aqlar谋n谋n ay谋ra bil蓹r ki, t蓹l蓹b bununla yaln谋z 莽ox yer istifad蓹
Siz, h蓹qiq蓹t蓹n, ehtiyac kimi.
Bir s谋ra f蓹rqli olaraq, siz bil蓹r t蓹sad眉f蓹n 莽ox az ayr谋lmas谋.
V蓹 o, yaln谋z gedir boyun bir a臒r谋 olmaq
yeni b枚y眉k bir s谋ra t蓹krar b枚l眉艧d眉r蓹, sur蓹ti h蓹r 艧ey 眉z蓹rind蓹, k枚hn蓹 array pulsuz
v蓹 sonra i艧 haqq谋nda h蓹r蓹k蓹t.
V蓹 ya pis, siz yol ayr谋lmas谋 bil蓹r Siz, h蓹qiq蓹t蓹n, ehtiyac daha 莽ox yadda艧,
v蓹 bel蓹 bir 莽ox olacaq bel蓹 dan谋艧maq, array seyr蓹k 蓹halinin.
>> Bel蓹 ki, bir ba臒l谋 siyah谋 bu verir dinamizm v蓹 rahatl谋q 眉st眉nl眉kl蓹ri
insertions v蓹 silme il蓹.
Amma 艧眉bh蓹siz ki, 枚d蓹nil蓹n qiym蓹t olmal谋d谋r.
M枚vzular 蓹slind蓹, bir viktorina s谋f谋r t蓹dqiq
idi ticar蓹t-off bir ne莽蓹 biz bel蓹 uzaq g枚rd眉m.
Bel蓹 ki, bir 枚d蓹ni艧li qiym蓹ti v蓹 ya n蓹 bir ba臒l谋 siyah谋 a艧a臒谋 istiqam蓹tli?
B蓹li.
>> Auditoriya: Xeyr t蓹sad眉fi giri艧.
>> DAVID MALAN: No t蓹sad眉fi giri艧.
Amma kimin umurunda?
Random access 莽ekici s蓹s deyil.
>> Auditoriya: [i艧itilemez]
DAVID MALAN: Exactly.
Siz ist蓹yirsinizs蓹 m眉蓹yy蓹n bir alqoritm
v蓹 m蓹n蓹 h蓹qiq蓹t蓹n t蓹klif ed蓹k X眉susil蓹 ikili axtar谋艧, olan
biz bir bit istifad蓹 etdiyiniz biridir Siz t蓹sad眉fi 莽谋x谋艧谋 yoxdur, 蓹g蓹r,
Siz sad蓹 hesab ed蓹 bilm蓹z orta element kimi tapmaq
v蓹 ona do臒ru jumping.
Siz 蓹v蓹zin蓹 ilk ba艧lamaq 眉莽眉n element v蓹 x蓹tti sol axtar谋艧
sa臒 tapmaq ist蓹yirsinizs蓹 orta v蓹 ya h蓹r hans谋 dig蓹r element.
>> Auditoriya: Bu y蓹qin ki, daha 莽ox yadda艧 tutur.
>> DAVID MALAN: daha 莽ox yadda艧 edir.
Harada 蓹lav蓹 edir yadda艧 g蓹l蓹n ba艧a?
>> Auditoriya: [i艧itilemez]
DAVID MALAN: Exactly.
Burada bu halda, biz idi integers 眉莽眉n bir ba臒l谋 siyah谋
v蓹 h蓹l蓹 biz misli edirik yadda艧 h蓹cmi
biz d蓹 bu g枚st蓹ricil蓹rin蓹 saxlamaqla laz谋md谋r.
Kimi bir b枚y眉k 陌ndi az Sizin structs b枚y眉k almaq
v蓹 bir s谋ra saxlan谋lmas谋 edirik lakin b蓹lk蓹 bir t蓹l蓹b蓹 v蓹 ya dig蓹r obyekt.
Amma n枚qt蓹 蓹lb蓹tt蓹 qal谋r.
V蓹 bel蓹 bir s谋ra 蓹m蓹liyyatlar谋 ba臒l谋 siyah谋lar谋 莽a臒谋r谋ld谋
n x蓹tti b枚y眉k O idi.
Tax谋lmas谋 v蓹 ya axtar谋艧 kimi Things v蓹 ya halda bir element silinm蓹si
莽ox sonunda oldu Bu s谋ralan谋r v蓹 ya deyil olub siyah谋s谋.
>> B蓹z蓹n u臒urlu almaq v蓹 bil蓹r bu 蓹m蓹liyyatlar bel蓹 a艧a臒谋 h蓹ddi
de臒ilseniz d蓹 daimi vaxt ola bil蓹r h蓹mi艧蓹 ilk element baxaraq,
m蓹s蓹l蓹n.
Amma n蓹tic蓹d蓹, biz v蓹d m眉q蓹dd蓹s grail nail olmaq 眉莽眉n
data strukturlar谋, v蓹 ya b蓹zi uy臒unla艧d谋r谋lmas谋 onlar谋n,
daimi vaxt yolu il蓹.
Biz elementl蓹ri tapmaq v蓹 ya elementl蓹ri 蓹lav蓹 ed蓹 bil蓹rsiniz v蓹 ya bir siyah谋dan elementl蓹ri aradan qald谋r谋lmas谋?
Biz kifay蓹t q蓹d蓹r tezlikl蓹 g枚r蓹c蓹ksiniz.
V蓹 bir 莽谋x谋r Biz ist蓹yirik mexanizml蓹rinin
Bu g眉n istifad蓹 ba艧lamaq niyy蓹tind蓹dir, p illik istifad蓹, be艧 set
h蓹qiq蓹t蓹n olduqca tan谋艧 edir.
M蓹s蓹l蓹n, bu d蓹st蓹 蓹g蓹r imtahan kitab, h蓹r hans谋
t蓹l蓹b蓹 ilk var bu v蓹 soyad谋 ad谋,
M蓹n onlara ala bir imtahan sonunda,
v蓹 onlar b眉t眉n olduqca ist蓹yirik t蓹sad眉fi qaydada 莽ox,
v蓹 biz 莽e艧idl蓹nm蓹si haqq谋nda getm蓹k ist蓹yir蓹m Bu imtahanlar谋 bel蓹 ki, bir d蓹f蓹 pill蓹li
yaln谋z bir 莽ox asan v蓹 s眉r蓹tli onlar谋 geri 蓹l
蓹lifba s谋ras谋 il蓹 艧agirdl蓹r蓹.
Sizin instinktl蓹rd蓹n n蓹 olard谋 bu kimi imtahanlar谋 bir qalaq 眉莽眉n?
>> Yax艧谋, siz m蓹nim kimi de臒ilseniz, siz Bu m oldu臒unu g枚rm蓹k bil蓹r,
m蓹n n枚v bu qoymaq gedir蓹m Bu m蓹nim masa v蓹 ya m蓹rt蓹b蓹 tapa 蓹g蓹r
M蓹n h蓹r 艧eyi yay谋lmas谋 al谋ram yazaraq v蓹 ya array, h蓹qiq蓹t蓹n
M蓹n orada Ms b眉t眉n qoymaq bil蓹r.
Oh.
Burada A. M蓹n g眉c var burada kimi qoydu.
Oh.
Burada gedir蓹m ba艧qa A. var burada qoymaq.
Burada Z. Burada ba艧qa M. V蓹 bel蓹 M蓹n bu kimi hemoroid edilm蓹si ba艧lamaq bil蓹r.
V蓹 sonra b蓹lk蓹 m蓹n sonra getm蓹k ist蓹diyiniz v蓹 sort 莽ox nitpicky-ly sort
f蓹rdi hemoroid.
Amma n枚qt蓹 g枚r眉n眉r bil蓹r M蓹n 蓹lli edir蓹m ki, giri艧 at
v蓹 m蓹n b蓹zi hesablanm谋艧d谋r ed蓹c蓹k giri艧 蓹sas谋nda q蓹rar.
Bu A il蓹 ba艧lay谋r, orada qoyun.
A-dan Z il蓹 ba艧lay谋r varsa, 眉z蓹rind蓹 qoymaq aras谋nda var, v蓹 h蓹r 艧ey.
>> Bel蓹 ki, bu ki, bir texnikad谋r 眉mumiyy蓹tl蓹 hashing-- H-A-S-H-- kimi tan谋nan
olan 眉mumiyy蓹tl蓹 kimi g枚r眉lm蓹si dem蓹kdir giri艧 v蓹 hesablamaq 眉莽眉n daxil etm蓹d蓹n istifad蓹 ed蓹r蓹k
d蓹y蓹ri, 眉mumiyy蓹tl蓹 say谋, v蓹 ki, say谋 saxlama daxil indeksi
konteyner, bir s谋ra kimi.
Bel蓹 ki, ba艧qa s枚zl蓹, m蓹n bir ola bil蓹r hash funksiyas谋, m蓹n ba艧 n蓹 kimi,
M蓹n kims蓹 g枚rm蓹k ki A il蓹 ba艧lay谋r ed蓹n ad谋,
M蓹n x蓹rit蓹y蓹 gedir蓹m m蓹nim ba艧 s谋f谋r.
M蓹n Z kims蓹 g枚rm蓹k 蓹g蓹r, m蓹n deyil蓹m ba艧谋m 25 x蓹rit蓹si gedir
v蓹 sonra daxil qoymaq sonuncu 蓹n qalaq.
>> 陌ndi, 蓹g蓹r m蓹nim beyin deyil d眉艧眉nm蓹k lakin bir C proqram, n蓹 n枚mr蓹l蓹ri bil蓹r
Siz eyni n蓹tic蓹 蓹ld蓹 etm蓹k 眉莽眉n etibar?
Ba艧qa s枚zl蓹, 蓹g蓹r ASCII xarakter idi
nec蓹 m眉蓹yy蓹n edirsiniz n蓹 bucket qoymaq?
Siz y蓹qin ki, ist蓹mir蓹m bucket 65, onu qoymaq
orada kimi olacaq he莽 bir yax艧谋 s蓹b蓹bd蓹n.
Harada A qoymaq ist蓹yir蓹m onun ASCII d蓹y蓹ri bax谋m谋ndan?
Harada onun ASCII 眉莽眉n n蓹 etm蓹k ist蓹yir蓹m d蓹y蓹ri asan bucket il蓹 g蓹lm蓹k
qoymaq?
>> Auditoriya: Minus A.
>> DAVID MALAN: B蓹li.
Bel蓹 ki, minus A v蓹 ya m蓹nfi x眉susi 65 bu 蓹g蓹r
kapital A. Or 98 蓹g蓹r bir ki莽ik bir var.
V蓹 bel蓹 ki, 莽ox, biz蓹 imkan verir sad蓹c蓹 v蓹 莽ox arithmetically,
kimi bir vedr蓹 bir 艧ey qoymaq.
Bel蓹 ki, biz, h蓹qiq蓹t蓹n, n蓹 莽谋x谋r Bu h蓹m莽inin bel蓹 s谋navlar il蓹.
>> Bel蓹 ki, siz dair蓹vi geri bil蓹r sizin qapa臒谋nda t蓹dris fellow ad谋.
V蓹 TF-nin adlar谋 t蓹艧kil edildi 蓹lifba s谋ras谋 il蓹 Bu s眉tun,
yax艧谋, iman v蓹 ya, zaman ham谋m谋z 80 plus
sinif蓹, dig蓹r gec蓹 birlikd蓹 var Bizim grading prosesi son add谋m
b枚y眉k daxil s谋navlar hash edir [I艧itilemez] at m蓹rt蓹b蓹 kosmik
v蓹 h蓹r k蓹sin s谋navlar qoymaq onlar谋n TF tam qaydada
qapa臒谋nda adlar谋, 莽眉nki sonra bizim 眉莽眉n 莽ox asand谋r
istifad蓹 ed蓹r蓹k x蓹tti il蓹 axtar谋艧 axtar谋艧 v蓹 ya d蓹rrak蓹 bir n枚v
bir TF tapmaq 眉莽眉n onun v蓹 ya Onun t蓹l蓹b蓹l蓹rin viktorina.
>> Hashing Bel蓹 ki, bu fikir siz g枚r蓹c蓹ksiniz ki,
olduqca g眉cl眉, h蓹qiq蓹t蓹n, olduqca adi v蓹 莽ox intuitiv,
莽ox b蓹lk蓹 b枚lm蓹k kimi f蓹th h蓹ft蓹 s谋f谋r idi.
Hackathon M蓹n s眉r蓹tli ir蓹li bir ne莽蓹 il 蓹vv蓹l.
Bu Zamyla v蓹 bir ne莽蓹 idi dig蓹r hey蓹t t蓹brik t蓹l蓹b蓹l蓹r
Onlar da g蓹lib kimi.
V蓹 biz qatlama b眉t眉n d蓹st蓹 idi ad谋 tags il蓹 masalar.
V蓹 biz ad谋 tags t蓹艧kil etmi艧di il蓹 orada kimi
v蓹 orada Zs.
V蓹 bel蓹 TFS biri 莽ox a臒谋ll谋 t蓹limatlar谋 bu yazd谋
Bu g眉n 眉莽眉n.
V蓹 d枚vr bu h蓹ft蓹 12 b眉t眉n m眉k蓹mm蓹l m蓹nada v蓹 h蓹r k蓹s蓹
n蓹 bilirdi.
Amma zaman siz var Eyni 艧蓹kild蓹 s谋raya,
Siz h蓹yata edirik bir hash eyni anlay谋艧谋.
Bel蓹 ki, bir az r蓹smil蓹艧dirilm蓹si bildirin.
Burada bir s谋ra edir.
Bu bir az c蓹lb edir geni艧 yaln谋z vizual, t蓹svir etm蓹k,
biz strings qoymaq bil蓹r ki, bu kimi bir 艧ey.
Bu array edir ayd谋n 枚l莽眉s眉 26 c蓹mi.
V蓹 艧ey adlan谋r masa 枚zba艧谋na.
Amma bu yaln谋z bir r蓹ssam谋n icra edir bir hash table ola bil蓹r n蓹.
>> Bel蓹 ki, bir hash table, indi gedir y眉ks蓹k s蓹viyy蓹li data strukturu olacaq.
G眉n眉n sonunda biz siz蓹 ki, g枚rm蓹k haqq谋nda oldu臒unuz
bir hash masa, h蓹yata bil蓹r 莽ox check-line kimi
莽ox bu kimi bir Hackathon at masa imtahan kitab 莽e艧idl蓹nm蓹si 眉莽眉n istifad蓹.
Amma bir hash masa Bu y眉ks蓹k s蓹viyy蓹li sort
bir s谋ra istifad蓹 ed蓹 bil蓹r ki, konsepsiya , ba艧l谋q onu h蓹yata ke莽irm蓹k 眉莽眉n alt谋nda
v蓹 ya uzunlu臒u siyah谋s谋n谋 istifad蓹, v蓹 ya h蓹tta bil蓹r b蓹lk蓹 b蓹zi dig蓹r m蓹lumatlar strukturlar谋.
陌ndi ki, theme-- alaraq var Bu fundamental madd蓹l蓹r b蓹zi
bir s谋ra v蓹 bu bina kimi uzunlu臒u siyah谋s谋 indi blok
v蓹 biz in艧a ed蓹 bil蓹rsiniz n蓹 g枚r蓹n bu 眉st, madd蓹l蓹r kimi
bir resept, daha 莽ox v蓹 daha 莽ox maraql谋 v蓹 faydal谋 yekun n蓹tic蓹l蓹ri.
>> Bu hash masa il蓹 bel蓹 biz bunu h蓹yata bil蓹r
yadda艧 pictorially bu kimi, lakin nec蓹 h蓹qiq蓹t蓹n kodlu bil蓹r?
B蓹li, b蓹lk蓹 sad蓹c蓹 olaraq bu.
B眉t眉n caps QAB陌L陌YY茝T陌, yaln谋z 蓹g蓹r M蓹s蓹l蓹n 26 眉莽眉n b蓹zi constant--,
Bu alphabet-- 26 m蓹ktublar 眉莽眉n M蓹n d蓹yi艧蓹n masa z蓹ng ed蓹 bil蓹r,
v蓹 m蓹n gedir蓹m ki, iddia ed蓹 bil蓹r orada, v蓹 ya simli char ulduz qoydu.
Bel蓹 ki, kimi sad蓹 deyil, bu kimi bir hash masa h蓹yata ke莽irm蓹k ist蓹yirik.
V蓹 h蓹l蓹, bu, h蓹qiq蓹t蓹n yaln谋z bir s谋ra edir.
Ancaq yen蓹 d蓹, bir hash masa n蓹 biz will indi
yaln谋z bir m眉c蓹rr蓹d data type z蓹ng 眉st bir konseptual layering sort
daha d眉ny蓹vi bir 艧ey 陌ndi bir s谋ra ist蓹yir蓹m.
>> 陌ndi biz getm蓹k yoxdur probleml蓹rin h蓹lli haqq谋nda?
B蓹li, 蓹vv蓹ll蓹r m蓹n l眉ks idi burada kifay蓹t q蓹d蓹r masa yer olan
M蓹n qoymaq bil蓹r ki, s谋navlar yerd蓹 M蓹n ist蓹yirdim.
Bel蓹 ki, kimi burada getm蓹k bil蓹r.
Zs burada getm蓹k bil蓹r.
Ms burada getm蓹k bil蓹r.
V蓹 sonra m蓹n b蓹zi 蓹lav蓹 yer var idi.
Amma bu bir f谋r谋ldaq莽谋 sol bir az 陌ndi bu masa, 莽眉nki m蓹n, h蓹qiq蓹t蓹n,
bir s谋ra kimi fikir, yaln谋z B蓹zi sabit 枚l莽眉s眉 olacaq.
>> Bel蓹 ki, texniki, m蓹n 莽蓹km蓹k 蓹g蓹r ba艧qa 艧agirdin viktorina q蓹d蓹r
v蓹 bu 艧蓹xs, oh bax ad谋 da A il蓹 ba艧lay谋r
I n枚v orada qoymaq ist蓹yir蓹m.
Amma tezlikl蓹 蓹g蓹r, orada qoymaq kimi Bu c蓹dv蓹ld蓹 h蓹qiq蓹t蓹n bir s谋ra t蓹msil,
M蓹n 蓹sas v蓹 ya clobbering gedir蓹m kim bu t蓹l蓹b蓹 viktorina edir.
Right?
Bu bir s谋ra deyil, yaln谋z bir 艧ey ed蓹 bil蓹rsiniz Bu h眉ceyr蓹l蓹ri v蓹 ya elementl蓹rin h蓹r getm蓹k.
V蓹 m蓹n n枚v var se莽in v蓹 se莽m蓹k 眉莽眉n.
>> 陌ndi 蓹vv蓹ll蓹r I n枚v cheated v蓹 bu v蓹 ya etdim
yaln谋z c眉r dizilir bir-birin蓹 yuxar谋da onlara.
Amma ki, kodu u莽maq niyy蓹tind蓹 deyil.
M蓹n harada qoymaq bil蓹r Onun ad谋 ikinci t蓹l蓹b蓹
M蓹n b眉t眉n bu 蓹g蓹r A m枚vcud masa yer?
M蓹n 眉莽 yuva v蓹 istifad蓹 etdiyiniz Yaln谋z bir ne莽蓹 ba艧qalar谋 var kimi g枚r眉n眉r.
Siz n蓹 ed蓹 bil蓹r?
Auditoriya: [i艧itilemez]
DAVID MALAN: B蓹li.
B蓹lk蓹 yaln谋z sad蓹 saxlamaq imkan verir.
Right?
M蓹n bunu qoymaq ist蓹diyiniz uy臒un deyil.
M蓹n onu qoymaq gedir蓹m texniki B getm蓹k harada.
陌ndi, 蓹lb蓹tt蓹, m蓹n ba艧layan al谋ram bir k眉nc蓹 枚z眉m眉 boya.
M蓹n bir t蓹l蓹b蓹 almaq Onun ad谋 蓹slind蓹 B,
陌ndi B bir az k枚莽眉r眉l眉b olacaq ir蓹li kimi, yep, ba艧 ver蓹 bil蓹r
bu bir B 蓹g蓹r, indi burada getm蓹k 眉莽眉n var.
>> V蓹 bu 莽ox tez problemli ola bil蓹r
lakin bu texnika h蓹qiq蓹t蓹n var x蓹tti probing kimi istinad edilir,
qovu艧durma臒谋m谋z yaln谋z hesab sizin array x蓹tti boyunca olmal谋d谋r.
V蓹 yaln谋z c眉r sonda ya H蓹r bir m枚vcud element yoxlamaq
m枚vcud spot axtar谋r.
V蓹 tezlikl蓹 tapmaq kimi bir, siz orada onu burax谋n.
>> 陌ndi qiym蓹t indi 枚d蓹nilir Bu h蓹lli 眉莽眉n n蓹 edir?
Biz sabit 枚l莽眉s眉 array var, M蓹n adlar谋 daxil zaman
onu, 蓹n az谋 ilkin n蓹 durub 莽al谋艧an zaman
t蓹l蓹b蓹l蓹rin qoyulmas谋 眉莽眉n sa臒 buketler s谋navlar?
N蓹 Big O?
>> Auditoriya: n.
DAVID MALAN: M蓹n n b枚y眉k O e艧itdim.
Do臒ru deyil.
Amma biz ayr谋 dola艧maq laz谋md谋r niy蓹 yaln谋z bir anda.
Ba艧qa n蓹 ola bil蓹r?
>> Auditoriya: [i艧itilemez]
DAVID MALAN: V蓹 m蓹n蓹 vizual bunu bildirin.
Bel蓹 ki, bu m蓹ktub S. g眉man
>> Auditoriya: Bu, bir var.
DAVID MALAN: Bu biridir.
Right?
Bu array olan biz t蓹sad眉fi giri艧 var dem蓹kdir.
V蓹 biz bu hesab s谋f谋r v蓹 bu kimi 25 kimi,
v蓹 biz h蓹yata, oh, burada m蓹nim giri艧 S var,
M蓹n, 蓹lb蓹tt蓹, 莽evir蓹 bil蓹rsiniz S, bir ASCII xarakter,
m眉vafiq s谋ra s谋f谋r v蓹 25 aras谋nda
v蓹 sonra d蓹rhal Bu m蓹xsusdur yerl蓹艧ir qoymaq.
>> Amma 蓹lb蓹tt蓹, tezlikl蓹 m蓹n almaq kimi ad谋 olan ikinci 艧蓹xs A v蓹 ya B v蓹 ya C
n蓹hay蓹t, M蓹n istifad蓹 etdiyiniz 蓹g蓹r x蓹tti, m蓹nim h蓹lli kimi yoxlama臒a
莽al谋艧an zaman 茝n pis halda durub
h蓹qiq蓹t蓹n n蓹 daxil qalmaq gedir?
V蓹 m蓹n burada e艧itmisiniz d眉zg眉n erk蓹n.
Auditoriya: [i艧itilemez]
DAVID MALAN: Bel蓹 ki, h蓹qiq蓹t蓹n bir n Siz kifay蓹t q蓹d蓹r b枚y眉k data d蓹sti var.
Bel蓹 ki, bir t蓹r蓹fd蓹n, 蓹g蓹r Sizin array kifay蓹t q蓹d蓹r b枚y眉k deyil
v蓹 sizin data, kifay蓹t q蓹d蓹r seyr蓹k Bu g枚z蓹l daimi vaxt almaq.
Amma tezlikl蓹 ba艧lamaq kimi daha 莽ox elementl蓹ri almaq,
v蓹 yaln谋z statistik almaq h蓹rfi il蓹 daha 莽ox insanlar
A onlar谋n ad谋 v蓹 ya m蓹ktub B, potensial bil蓹r
bir 艧ey daha x蓹tti daxil qalmaq.
Bel蓹 ki, kifay蓹t q蓹d蓹r m眉k蓹mm蓹l deyil.
Bel蓹 ki, biz daha yax艧谋 bil蓹r?
>> Yax艧谋, n蓹 oldu bizim h蓹ll zaman biz 蓹vv蓹l
daha 莽ox dinamizm var ist蓹yir蓹m bir s谋ra kimi bir 艧ey icaz蓹?
Auditoriya: [i艧itilemez]
DAVID MALAN: biz n蓹 t蓹qdim etm蓹yib?
B蓹li.
Bel蓹 ki, bir ba臒l谋 siyah谋.
Yax艧谋, bir ba臒l谋 n蓹 g枚rm蓹k ed蓹k siyah谋s谋 蓹v蓹zin蓹 bizim 眉莽眉n ed蓹 bil蓹r.
Yax艧谋, m蓹n蓹 biz t蓹klif ed蓹k a艧a臒谋dak谋 kimi 艧蓹kil 莽蓹km蓹k.
陌ndi bu f蓹rqli M蓹s蓹l蓹n 艧蓹kil
m眉xt蓹lif m蓹tn, h蓹qiq蓹t蓹n, h蓹qiq蓹t蓹n 枚l莽眉s眉 31 bir s谋ra istifad蓹 edir.
Bu m眉蓹llif sad蓹c蓹 strings hash q蓹rar
艧蓹xsin adlar谋 蓹sas谋nda deyil, lakin onlar谋n do臒um g眉nlerinin 蓹saslan谋r.
As谋l谋 olmayaraq ay谋n, onlar fiqurlu Bir ay谋n ilk anadan edirsinizs蓹
v蓹 ya bir ay 31, m眉蓹llif ki, d蓹y蓹ri 蓹sas谋nda hash ed蓹c蓹k,
bir az h蓹yata adlar谋 yaymaq kimi yaln谋z 26 l蓹k蓹l蓹r imkan bil蓹r daha 莽ox.
V蓹 b蓹lk蓹 bir az daha vahid var 蓹lifba h蓹rfl蓹ri il蓹 ged蓹n daha,
莽眉nki, 蓹lb蓹tt蓹 y蓹qin ki, var adlar谋 il蓹 d眉nyada daha 莽ox insan谋n
蓹lb蓹tt蓹 莽ox A il蓹 start 茝lifba dig蓹r m蓹ktublar.
Bel蓹 ki, b蓹lk蓹, bu bir az daha vahid, f蓹rz
vahid paylanmas谋 Bir ay boyunca k枚rp蓹l蓹r.
>> Lakin, 蓹lb蓹tt蓹, bu h蓹l蓹 t蓹kmil deyil.
Right?
Biz toqqu艧ma qar艧谋la艧d谋qda.
Bu 莽ox insanlar data strukturu h蓹l蓹
蓹n az谋 eyni do臒um olan Siz ay as谋l谋 olmayaraq ist蓹yirik.
Lakin m眉蓹llif n蓹 g枚rm眉艧d眉r?
Biz bir s谋ra var kimi B蓹li, g枚r眉n眉r 艧aquli t蓹rtib sol t蓹r蓹find蓹,
lakin yaln谋z bir r蓹ssam谋n icra edir.
F蓹rq etm蓹z hans谋 istiqam蓹td蓹 bir s谋ra 莽蓹km蓹k, o, h蓹l蓹 bir s谋ra var.
Bu y蓹qin bir s谋ra n蓹dir?
>> Auditoriya: 茝laq蓹li siyah谋s谋.
>> DAVID MALAN: B蓹li.
Bir var kimi g枚r眉n眉r ba臒l谋 siyah谋 array.
Bel蓹 ki, yen蓹 n枚v bu n枚qt蓹y蓹 陌ndi bu data strukturlar谋 istifad蓹
daha 莽ox madd蓹l蓹r kimi maraql谋 h蓹ll蓹r,
Siz tamamil蓹 bir ed蓹 bil蓹r fundamental, bir s谋ra kimi,
v蓹 daha 莽ox bir 艧ey almaq bir ba臒l谋 siyah谋 kimi maraql谋
v蓹 h蓹tta daha onlar谋 birl蓹艧dirm蓹k daha maraql谋 data strukturu.
V蓹 h蓹qiq蓹t蓹n, bu 莽ox olard谋 bir hash masa adlan谋r,
qovu艧durma臒谋m谋z array edir h蓹qiq蓹t蓹n hash table,
lakin hash table var z蓹ncirl蓹r, bel蓹 ki, dan谋艧maq
ki, inki艧af ed蓹 bil蓹r v蓹 ya 蓹sas谋nda shrink elementl蓹rin say谋 蓹lav蓹 etm蓹k ist蓹yir蓹m.
>> 陌ndi buna g枚r蓹, n蓹 indi vaxt 莽al谋艧an?
M蓹n kims蓹 daxil etm蓹k ist蓹yirsinizs蓹, 31 oktyabr kimin ad,
o 脺 getm蓹k edir?
B眉t眉n h眉quqlar.
Bu 31 deyir 莽ox alt.
V蓹 m眉k蓹mm蓹l.
Ki, daimi vaxt idi.
Amma biz ba艧qa kims蓹 n蓹 tapmaq 蓹g蓹r kimin ad g眉n眉, g枚r蓹k ki,
Oktyabr, noyabr, dekabr 31?
Harada o getm蓹k 眉莽眉n gedir?
Eyni 艧ey.
Baxmayaraq iki add谋m.
Ki, baxmayaraq daimi deyil?
B眉t眉n h眉quqlar.
Hal-haz谋rda deyil.
Amma 眉mumi halda, biz 蓹lav蓹 daha 莽ox insan,
probabilistically, gedirik daha 莽ox toqqu艧ma almaq 眉莽眉n.
>> 陌ndi bu bir az yax艧谋 texniki 莽眉nki
陌ndi m蓹nim z蓹ncirl蓹r ola bil蓹r 蓹n pis halda nec蓹 uzun?
M蓹n bu daha 莽ox daxil N insanlar谋 daxil edin inki艧af etmi艧 data strukturu, n insanlar,
蓹n pis halda n olacaq.
Niy蓹?
>> Auditoriya: 脟眉nki 蓹g蓹r h蓹r k蓹s eyni ad var,
onlar bir x蓹tt olacaq.
DAVID MALAN: Perfect.
Bu, bir az g枚st蓹rdi ola bil蓹r lakin h蓹qiq蓹t蓹n 蓹n pis halda,
h蓹r k蓹s eyni ad var, Siz giri艧 verilmi艧,
Bir var olacaq k眉tl蓹vi uzun z蓹ncir.
Bel蓹 ki, siz bir z蓹ng ed蓹 bil蓹r hash table, lakin h蓹qiq蓹t蓹n bu
yaln谋z k眉tl蓹vi ba臒l谋 siyah谋 s蓹rf kosmik bir 莽ox.
Lakin 眉mumiyy蓹tl蓹, biz g眉man 蓹g蓹r 蓹n az谋 ad g眉n眉 uniform-- var
v蓹 y蓹qin ki, deyil.
M蓹n q蓹d蓹r edilm蓹si al谋ram.
Amma biz g眉man 蓹g蓹r, 眉莽眉n m眉zakir蓹 namin蓹
Onlar sonra n蓹z蓹ri, 蓹g蓹r ki, Bu 艧aquli t蓹msil edir
serial谋n, yax艧谋 sonra in艧allah siz etdiyiniz var, bilirsiniz ki, z蓹ncirl蓹r almaq 眉莽眉n gedir,
t蓹xmin蓹n eyni uzunlu臒u oldu臒u h蓹r bu ay bir g眉n edir.
>> Ay 31 g眉n var, 蓹g蓹r 陌ndi, ki, h蓹qiq蓹t蓹n, m蓹nim 莽al谋艧an zaman dem蓹kdir
31-d蓹n 莽ox n b枚y眉k O olan x蓹tti daha yax艧谋 hiss edir.
Amma biri idi bizim 枚hd蓹likl蓹r bir ne莽蓹 h蓹ft蓹
蓹vv蓹l ifad蓹 g蓹lib zaman alqoritm 莽al谋艧an zaman?
Yaln谋z y眉ks蓹k order m眉dd蓹tli baxmaq.
Right?
31 m眉tl蓹q faydal谋d谋r.
Amma bu h蓹l蓹 n b枚y眉k O edir.
Amma m枚vzulardan biri problemi be艧 set
眉莽眉n olacaq tamamil蓹 etiraf,
asimptotik, n蓹z蓹ri Bu data strukturu
yaln谋z daha yax艧谋d谋r bir k眉tl蓹vi ba臒l谋 siyah谋s谋.
V蓹 h蓹qiq蓹t蓹n, 蓹n pis halda, bu hash table ki, daxil qalmaq bil蓹r.
>> Lakin real d眉nyada, biziml蓹 insanlar 枚z Mac v蓹 ya PC v蓹 ya h蓹r hans谋 ki,
v蓹 real d眉nya 莽al谋艧an real d眉nya data software,
olan alqoritm 眉st眉nl眉k gedir?
Son add谋mlar v蓹 ya al谋r ki, bir n 31 add谋mlar b枚l眉n眉r edir ki, bir
m蓹lumatlar谋n bir par莽a tapmaq v蓹 ya b蓹zi informasiya axtarmaq 眉莽眉n?
M蓹n tamamil蓹 31 markalar dem蓹k real d眉nyada bir f蓹rq.
Bu 31 d蓹f蓹 daha s眉r蓹tli edir.
V蓹 biz insanlar 蓹lb蓹tt蓹 var ki, t蓹艧蓹kk眉r olacaq.
>> Bel蓹 ki, ayr谋l谋臒谋n h蓹yata faktiki aras谋nda
n蓹z蓹ri 艧eyl蓹r haqq谋nda dan谋艧谋r m眉tl蓹q v蓹 asimptotik olan
biz g枚rd眉k kimi d蓹y蓹r var, lakin real d眉nyada,
yaln谋z edilm蓹si haqq谋nda qay臒谋 蓹g蓹r 眉mumi giri艧 insan xo艧b蓹xt,
Siz 莽ox yax艧谋 q蓹bul etm蓹k ist蓹yir蓹m bil蓹r B蓹li, bu x蓹tti, ki,
lakin 31 d蓹f蓹 daha s眉r蓹tli daha x蓹tti ola bil蓹r.
V蓹 daha yax艧谋 h蓹l蓹, biz yaln谋z yoxdur bir do臒um kimi ixtiyari bir 艧ey,
biz bir az s蓹rf ed蓹 bil蓹r daha 莽ox vaxt v蓹 d蓹rrak蓹
v蓹 biz ed蓹 bil蓹r n蓹 haqq谋nda d眉艧眉nm蓹k, veril蓹n 艧蓹xsin ad谋 v蓹 b蓹lk蓹
Onlar谋n do臒um o birl蓹艧dirm蓹k madd蓹l蓹r bir 艧ey anlamaq 眉莽眉n
h蓹qiq蓹t蓹n 莽ox vahid v蓹 daha az jaggy,
bu 艧蓹kil daha dan谋艧maq Hal-haz谋rda ola bil蓹r g枚st蓹rir.
Nec蓹 ki, biz kodu bu h蓹yata bil蓹r?
Yax艧谋, m蓹n蓹 biz t蓹klif ed蓹k yaln谋z biz b蓹zi sintaksis borc
陌ndiy蓹d蓹k bir ne莽蓹 d蓹f蓹 istifad蓹.
V蓹 m蓹n m眉蓹yy蓹n gedir蓹m bir node, yenid蓹n
yaln谋z b蓹zi 眉mumi anlay谋艧d谋r b蓹zi data strukturunda 眉莽眉n konteyner.
M蓹n t蓹klif gedir蓹m bir simli var gedir.
Amma biz alaraq ba艧lamaq olacaq 陌ndi off t蓹k蓹rl蓹r t蓹lim olanlar.
>> No daha CS50 kitabxana h蓹qiq蓹t蓹n, ist蓹diyiniz halda
Sizin final 眉莽眉n istifad蓹 etm蓹k g枚z蓹l olan layih蓹,
lakin indi biz geri 莽蓹km蓹k olacaq p蓹rd蓹 v蓹 yaln谋z bir char ulduz deyirl蓹r.
S枚z眉 Bel蓹 ki, orada olacaq s枚z眉ged蓹n 艧蓹xsin ad谋.
陌ndi bir link var Burada n枚vb蓹ti node
Bu etdirir ki, qov艧aqlar谋n谋n h蓹r
z蓹ncirind蓹, potensial, bir ba臒l谋 siyah谋.
>> 陌ndi nec蓹 b蓹yan etm蓹k Bu hash table 枚z眉?
M蓹n bu b眉t眉n struktur b蓹yan edirsiniz?
Yax艧谋, h蓹qiq蓹t蓹n, 莽ox m蓹n bir pointer istifad蓹 kimi siyah谋s谋 yaln谋z ilk element
蓹vv蓹l eyni m蓹n yaln谋z dem蓹k olar M蓹n yaln谋z g枚st蓹ricil蓹r bir d蓹st蓹 laz谋md谋r
Bu b眉t眉n hash table h蓹yata.
M蓹n bir s谋ra 眉莽眉n gedir蓹m hash masa 莽a臒谋r谋b masa.
Bu 枚l莽眉s眉 tutumu olacaq.
Ki, uy臒un nec蓹 莽ox elementl蓹ri var.
V蓹 bu h蓹min elementl蓹rin h蓹r array bir node ulduz olacaq.
Niy蓹?
B蓹li, bu 艧蓹kil ba艧谋na, M蓹n n蓹 edir蓹m Bu hash masa kimi h蓹yata
effektiv yaln谋z ba艧lan臒谋c谋 biz 艧aquli t蓹rtib etdik ki, bu array,
olan meydanlar谋n h蓹r bir g枚st蓹rici t蓹msil edir.
Olanlar slashes var ki, onlar谋n vasit蓹sil蓹 yaln谋z null var.
V蓹 olanlar var do臒ru gedir oxlar
faktiki qov艧aqlar谋n谋n 眉莽眉n faktiki g枚st蓹ricil蓹r var, bir ba臒l谋 siyah谋 start bundan dolay谋.
>> Bel蓹 ki, burada, sonra biz nec蓹 q眉dr蓹t bir hash table h蓹yata ki,
ayr谋-ayr谋 chaining h蓹yata ke莽irir.
陌ndi biz daha yax艧谋 ed蓹 bil蓹r?
B眉t眉n h眉quqlar M蓹n ke莽蓹n d蓹f蓹 v蓹d ki, biz daimi vaxt nail.
M蓹n c眉r siz蓹 verdi Burada daimi vaxt,
lakin sonra h蓹qiq蓹t蓹n, bildirib daimi vaxt h蓹l蓹, 莽眉nki
眉mumi as谋l谋 elementl蓹rin say谋
Siz daxil giren edirik Bu data strukturu.
Amma biz bunu g眉man edirl蓹r.
M蓹n蓹 burada ekran geri getm蓹k ed蓹k.
, Burada m蓹n蓹 d蓹 bu q蓹d蓹r layih蓹 ayd谋n olsun ekran, v蓹 m蓹n bu g枚rm眉艧眉k.
M蓹n ad谋n谋 daxil etm蓹k ist蓹diyini d眉艧眉n蓹k Daven m蓹nim data strukturu.
>> M蓹n bir string daxil etm蓹k ist蓹yir蓹m M蓹lumat strukturu Daven.
M蓹n istifad蓹 etm蓹yin, 蓹g蓹r hash table, amma istifad蓹
daha 莽ox bir 艧ey a臒ac kimi bir ail蓹 a臒ac, oldu臒u kimi
Siz b蓹zi k枚k var 眉st v蓹 sonra qov艧aqlar谋n谋n v蓹 yarpaqlar谋
ki, a艧a臒谋 v蓹 zahiri gedin.
, Sonra m蓹n g眉man Daven nin daxil etm蓹k ist蓹yir蓹m
Hal-haz谋rda bo艧 siyah谋s谋 n蓹.
M蓹n a艧a臒谋dak谋 gedir蓹m: M蓹n bu ail蓹 bir node yaratmaq niyy蓹tind蓹dir
a臒ac kimi data strukturu g枚r眉n眉r ki, bir az bu kimi, h蓹r hans谋
d眉zbucaql谋, dey蓹k edib bu art谋q 26 elementl蓹ri 眉莽眉n.
V蓹 h眉ceyr蓹l蓹rin h蓹r Bu array gedir
蓹lifba m蓹ktub t蓹msil etm蓹k 眉莽眉n.
>> X眉susil蓹, m蓹n m眉alic蓹 gedir蓹m Bu, A, sonra B, sonra C, onda D
bu burada.
Bel蓹 ki, bu s蓹m蓹r蓹li gedir m蓹ktub D. t蓹msil
Amma Daven nin b眉t眉n daxil M蓹n bir az daha n蓹 etm蓹k laz谋md谋r ad谋.
M蓹n ilk bel蓹 dan谋艧maq, hash gedir蓹m.
M蓹n ilk m蓹ktub baxmaq gedir蓹m da Daven a莽谋q-ayd谋n bir D olan,
v蓹 m蓹n ayr谋lmas谋 gedir蓹m g枚r眉n眉r ki, bir node
kimi b枚y眉k b枚y眉k d眉zbucaql谋 H蓹l蓹 b眉t眉n 蓹lifbas谋 uy臒un kifay蓹t q蓹d蓹r.
>> 陌ndi D edilir.
陌ndi A. D-A-V-E-N m蓹qs蓹didir.
Bel蓹 ki, indi m蓹n gedir蓹m n蓹 bu.
Kimi tezlikl蓹 M蓹n D bildiri艧 ba艧lad谋 he莽 bir g枚st蓹rici var.
Bu anda zibil d蓹y蓹rl蓹r v蓹 ya null ba艧lamaq bil蓹r.
Amma m蓹n蓹 il蓹 davam ed蓹k bir a臒ac bina bu fikir.
M蓹n蓹 bu ba艧qa bir ayr谋lmas谋 bildirin bu 26 elementl蓹r vard谋r ki qov艧aqlar谋n谋n.
>> V蓹 n蓹 bilirik?
Bu yadda艧 yaln谋z bir node ki, 蓹g蓹r M蓹n struct istifad蓹 ed蓹r蓹k, malloc il蓹 yarad谋lm谋艧d谋r
biz tezlikl蓹 g枚r蓹c蓹ksiniz kimi, M蓹n H蓹l蓹 gedir蓹m
M蓹n ox 莽蓹km蓹k 眉莽眉n gedir蓹m a艧a臒谋 D t蓹msil ed蓹n 艧ey
Bu yeni node.
V蓹 ilk n枚vb蓹ti indi Daven ad谋 m蓹ktub,
V-- D-A-V-- M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 bu kimi ba艧qa node,
vasit蓹si, burada V elementl蓹ri olan biz misal whoops 眉莽眉n 莽蓹km蓹k laz谋md谋r.
Biz orada 莽蓹km蓹k olmaz.
Burada getm蓹k olacaq.
>> Sonra biz olacaq Bu V. hesab
V蓹 sonra a艧a臒谋 burada biz index olacaq a艧a臒谋 V biz E. hesab laz谋md谋r n蓹 daxil
V蓹 sonra burada biz olacaq Burada bu qov艧aqlar谋n谋n biri getm蓹k.
陌ndi biz cavab bir sual var.
M蓹n g枚st蓹rir ki, el蓹 etm蓹k laz谋md谋r biz simli Daven sonunda ist蓹yirik.
M蓹n yaln谋z null t蓹rk ed蓹 bil蓹r.
>> Amma biz Daven nin n蓹 varsa d蓹 tam ad谋, olan
biz Davenport bildirib etdiyiniz kimi, var?
Bel蓹 ki, Daven n蓹 varsa 蓹slind蓹 bir substring,
Bir daha uzun simli bir prefiks?
Biz yaln谋z daimi bilm蓹z he莽 bir 艧ey gedir dem蓹k
脟眉nki ola bil蓹r, orada getm蓹k Davenport kimi bir s枚z daxil he莽 vaxt
Bu data strukturu
>> Bel蓹 ki, biz n蓹 蓹v蓹zin蓹 Bu elementl蓹rin h蓹r m眉alic蓹
b蓹lk蓹 iki olan onlar谋n i莽蓹risind蓹 elementl蓹ri.
Bir, h蓹qiq蓹t蓹n, bir g枚st蓹ricisidir M蓹n bunu etdik.
Bu qutular谋 h蓹r bel蓹 yaln谋z bir mobil deyil.
Amma n蓹 蓹g蓹r top one-- alt birinin
脟眉nki, null olacaq Yaln谋z h蓹l蓹 he莽 bir Davenport var.
N蓹 眉st bir b蓹zi x眉susi d蓹y蓹ri?
V蓹 bir az olacaq Bu 枚l莽眉s眉 莽蓹km蓹k 莽蓹tindir.
Amma bu yaln谋z bir onay i艧areti G眉man.
Yoxlay谋n.
D-A-V-E-N simli Bu data strukturu.
>> Eyni zamanda, 蓹g蓹r m蓹n daha 莽ox yer var idi burada, m蓹n P-O-R-T ed蓹 bil蓹r
v蓹 m蓹n node 莽ek qoymaq bil蓹r ki, 莽ox sonunda m蓹ktub T var.
Bel蓹 ki, bu k眉tl蓹vi deyil kompleks g枚r眉n眉艧l眉 data strukturu.
V蓹 m蓹nim yaz谋 蓹lb蓹tt蓹 k枚m蓹k etmir.
Amma bir 艧ey daxil etm蓹k ist蓹yirdi ba艧qa, biz n蓹 hesab.
Biz Davudu qoymaq ist蓹yirdi, Biz, eyni m蓹ntiq, D-A-V izl蓹m蓹k ist蓹diyiniz
lakin indi m蓹n n枚vb蓹ti qeyd olard谋 element deyil E, lakin I D.
Bel蓹 ki, var olacaq Bu a臒ac daha qov艧aqlar谋n谋n.
Daha 莽ox z蓹ng malloc olacaq.
Amma bir etm蓹k ist蓹mir蓹m Bu 艧蓹kil tam mess.
Bel蓹 ki, 蓹v蓹zin蓹 bir baxaq ki, 蓹vv蓹lc蓹d蓹n ifad蓹 edilmi艧dir
dot deyil bu kimi, dot, n枚qt蓹l蓹r, ancaq q谋sald谋lm谋艧 Diziler.
Amma qov艧aqlar谋n谋n h蓹r burada bu a臒ac q蓹d蓹r
Eyni 艧ey t蓹msil bir s谋ra 枚l莽眉s眉 26 Ray.
>> Yoxsa biz olmaq ist蓹yirsinizs蓹 h蓹qiq蓹t蓹n m眉vafiq indi n蓹
kimins蓹 ad谋 kimi 蓹g蓹r bir apostrof, ed蓹k
h蓹r node h蓹qiq蓹t蓹n var ki, g眉man bu 27 g枚st蓹ricil蓹ri, yaln谋z 26 kimi.
Bel蓹 ki, indi bir veri olacaq struktur trie T-R-I-E 莽a臒谋r谋b.
Guya olan bir trie, bir a臒ac 眉莽眉n tarix蓹n bir a臒谋ll谋 ad谋
ki, optimize axtar谋艧, 蓹lb蓹tt蓹,
Bu trie bel蓹 bir I-E yaz谋l谋r.
Amma bu trie tarixidir.
>> Bel蓹 bir trie, bu a臒ac kimi data bir ail蓹 a臒ac kimi strukturu
ki, n蓹tic蓹d蓹 kimi davran谋r.
V蓹 burada bir yaln谋z bir n眉mun蓹sidir dig蓹r insanlar谋n adlar谋 d蓹st蓹.
Amma indi sual 蓹l var n蓹
biz arguably daha tan谋daraq 蓹ld蓹 m眉r蓹kk蓹b data strukturu v蓹 bir,
s蓹mimi, yadda艧 bir 莽ox istifad蓹 edir.
>> , 脟眉nki baxmayaraq Hal-haz谋rda, m蓹n yaln谋z deyil蓹m
D's g枚st蓹rici istifad蓹 v蓹 A V v蓹 Es v蓹 Ns, v蓹
M蓹n yadda艧 莽ox bir heck israf edir蓹m.
Amma bir resurs s蓹rf harada, M蓹n geri bir 蓹ld蓹 edirsiniz edirl蓹r.
M蓹n daha 莽ox yer s蓹rf edir蓹m 蓹g蓹r Bel蓹 ki, y蓹qin ki, 眉mid var?
M蓹n n蓹 az s蓹rf edir蓹m ki?
Auditoriya: az vaxt.
DAVID MALAN: Time.
陌ndi n蓹 ola bil蓹r?
Yax艧谋, durub n蓹 vaxt, indi b枚y眉k O bax谋m谋ndan,
Daven kimi ad谋 v蓹 ya Davenport v蓹 ya David?
Yax艧谋, Daven be艧 add谋mlar idi.
Davenport doqquz add谋mlar olacaq, bel蓹 ki, bir ne莽蓹 add谋mlar olard谋.
David h蓹m莽inin be艧 add谋mlar olard谋.
Bel蓹 ki, konkret var n枚mr蓹l蓹ri, lakin, 艧眉bh蓹siz ki var
Bu bir 眉st bound kimins蓹 ad谋 uzunlu臒u.
V蓹 h蓹qiq蓹t蓹n, problemi Be艧 d蓹qiql蓹艧dirilm蓹si d蓹stl蓹ri,
Biz t蓹klif olacaq bir 艧ey var ki,
40-b蓹zi-t蓹k simvol var.
>> Real, he莽 bir var sonsuz uzun ad谋,
dem蓹k olan bir uzunlu臒u Ad v蓹 ya simli uzunlu臒u Biz g眉c
D枚vl蓹t m眉蓹yy蓹n var strukturu arguably n蓹dir?
Bu sabit deyil.
Right?
Bu kimi b枚y眉k bir sabit ola bil蓹r 40-bir 艧ey, lakin sabit deyil.
V蓹 n蓹 q蓹d蓹r he莽 bir as谋l谋l谋q var dig蓹r adlar谋 Bu data strukturu var.
Ba艧qa s枚zl蓹, m蓹n 蓹g蓹r 陌ndi daxil etm蓹k ist蓹di
Colton v蓹 ya Gabriel ya Rob ya Zamyla v蓹 ya Alison ya Belinda v蓹 ya h蓹r hans谋 dig蓹r adlar谋
Bu data daxil hey蓹ti strukturu, 莽al谋艧an vaxt
dig蓹r adlar谋 daxil b眉t眉n t蓹sir da olacaq
nec蓹 bir 莽ox dig蓹r elementl蓹ri il蓹 var art谋q data strukturunda?
Bu deyil.
Right?
Biz s蓹m蓹r蓹li istifad蓹 edirik, 莽眉nki Bu multi-qat hash table.
V蓹 莽al谋艧an zaman Bu 蓹m蓹liyyatlar谋n h蓹r hans谋
say谋 deyil as谋l谋d谋r Bu data strukturu var ki elementl蓹ri
v蓹 ya n蓹tic蓹d蓹 gedir Bu data strukturu olmaq,
lakin n蓹 x眉susi uzunlu臒u?
>> Olan string , daxil edir olan
Bu asimptotik daimi bir time-- b枚y眉k 脟.
V蓹 s蓹mimi, yaln谋z Real d眉nya, bu
Daven ad谋 al谋r daxil dem蓹kdir be艧 add谋mlar, v蓹 ya Davenport doqquz kimi
add谋mlar, v蓹 ya David be艧 add谋mlar.
Bu olduqca darn ki莽ik 莽al谋艧an d蓹f蓹 var.
V蓹 h蓹qiq蓹t蓹n, bir 莽ox var Yax艧谋 艧ey, x眉susil蓹
Bu c蓹mi as谋l谋 deyil orada elementl蓹rin say谋.
Bel蓹likl蓹, biz bu h蓹yata bil蓹r nec蓹 kodu strukturunun c眉r?
Bu bir az daha 莽ox m眉r蓹kk蓹b, lakin h蓹l蓹 d蓹 var
yaln谋z bir proqram 蓹sas bloklar.
M蓹n yenid蓹n gedir蓹m Biz蓹 node a艧a臒谋dak谋 kimi:
bool word-- adlan谋r v蓹 bu bir 艧ey adland谋rmaq olar.
Amma bool t蓹msil n蓹 bir onay i艧areti kimi 莽蓹kdi.
B蓹li.
Bu simli sonu Bu data strukturu.
>> V蓹, 蓹lb蓹tt蓹, node ulduz u艧aq var istinad edilir.
V蓹 h蓹qiq蓹t蓹n, yaln谋z kimi bir ail蓹 a臒ac谋, siz
qov艧aqlar谋n谋n hesab edir蓹m off asma olunur
b蓹zi m眉蓹ssis蓹nin alt element u艧aqlar 眉莽眉n.
V蓹 bel蓹 ki, u艧aqlar gedir 27 bir s谋ra 27 biri ola
yaln谋z apostrof 眉莽眉n olan.
Biz d眉zm蓹k olacaq X眉susi halda ki.
Bel蓹 ki, m眉蓹yy蓹n ola bil蓹r apostrophes il蓹 adlar谋.
B蓹lk蓹 h蓹tta tire olmal谋d谋r orada getm蓹k, lakin siz laz谋md谋r
p set 5 yaln谋z qay臒谋 g枚rm蓹k m蓹ktublar v蓹 apostrophes haqq谋nda.
>> V蓹 sonra nec蓹 t蓹msil ed蓹 Bu data strukturu 枚z眉?
Nec蓹 k枚k t蓹msil Bu trie, bel蓹 dan谋艧maq?
B蓹li, yaln谋z bir ba臒l谋 siyah谋s谋 il蓹 kimi ilk element bir g枚st蓹rici laz谋md谋r.
Bir trie il蓹 yaln谋z bir ehtiyac bu trie k枚k g枚st蓹rici.
V蓹 oradan hash bil蓹r yol a艧a臒谋 d蓹rin v蓹 daha d蓹rin
t蓹rkibind蓹 h蓹r node.
Bel蓹 ki, sad蓹c蓹 bu can il蓹 biz struct t蓹msil edir.
>> 陌ndi Oh sual Meanwhile--.
>> Auditoriya: bool s枚z n蓹dir?
>> DAVID MALAN: Bool s枚z yaln谋z bu C t蓹c蓹ss眉m
M蓹n t蓹svir n蓹 Burada, bu qutusuna
M蓹n h蓹r par莽alanmas谋 ba艧lad谋 iki hiss蓹y蓹 serial谋n elementl蓹ri.
One n枚vb蓹ti node bir g枚st蓹rici deyil.
Dig蓹r olmal谋d谋r bir onay qutusu kimi bir 艧ey
bir var, b蓹li dem蓹k burada bitir Daven s枚z,
Biz ist蓹mirik Hal-, Dave da.
>> Dave bir olacaq baxmayaraq qanuni s枚z, o trie deyil
h蓹l蓹.
V蓹 D bir s枚z deyil.
V蓹 D-A bir s枚z v蓹 ya bir ad deyil.
Bu onay i艧areti So yaln谋z sizin d蓹f蓹 g枚st蓹rir
Bu node t蓹艧kil edib simvol 蓹vv蓹lki yolu
Siz daxil etdiyiniz h蓹qiq蓹t蓹n bir string.
Bel蓹 ki, b眉t眉n bool var Bizim 眉莽眉n edir.
>> 脟al谋艧谋r h蓹r hans谋 dig蓹r suallar?
B蓹li.
>> Auditoriya: 眉st-眉st蓹 d眉艧眉r n蓹dir?
N蓹 Dave v蓹 Daven varsa?
DAVID MALAN: Perfect.
N蓹 Dave v蓹 Daven varsa?
Biz daxil Bel蓹 ki, bir l蓹q蓹b dem蓹k David-- Dave-- D-A-V-E?
Bu, h蓹qiq蓹t蓹n, super sad蓹dir.
Bel蓹likl蓹, biz yaln谋z d枚rd add谋mlar olacaq.
D-A-V-E. M蓹n n蓹 var M蓹n d枚rd眉nc眉 node hit bir d蓹f蓹?
Just yoxlamaq olacaq.
Biz art谋q getm蓹k iyi.
Done.
D枚rd add谋mlar.
Asimptotik daimi vaxt.
V蓹 indi biz d蓹 Dave qeyd etdik v蓹 Daven t蓹rkibind蓹 strings var.
Bel蓹 bir problem.
V蓹 nec蓹 varl谋臒谋 hiss Daven onu etm蓹yib
daha 莽ox vaxt az v蓹 ya vaxt Dave v蓹 蓹ksin蓹.
>> Bel蓹likl蓹, biz indi ba艧qa n蓹 ed蓹 bil蓹r?
Biz 蓹vv蓹l bu m蓹caz istifad蓹 etdiyiniz qablar bir 艧ey t蓹msil.
Amma bu 莽谋x谋r ki, bir qablar y谋臒谋n谋 蓹slind蓹
ba艧qa m眉c蓹rr蓹d data n眉mayi艧karan蓹 y眉ks蓹k s蓹viyy蓹li data strukturu yaz谋n
sonunda g眉n yaln谋z ki, bir s谋ra v蓹 ya bir ba臒l谋 siyah谋s谋 kimi
daha 莽ox d眉ny蓹vi v蓹 ya bir 艧ey.
Amma bir daha maraql谋d谋r konseptual anlay谋艧.
Bu kimi bir y谋臒谋n, Mather burada novlar谋,
眉mumiyy蓹tl蓹 deyilir yaln谋z bir y谋臒谋n that--.
>> V蓹 data strukturu bu n枚v眉 iki operations-- var
bir adl谋 t蓹kan 眉莽眉n y谋臒谋n谋 bir 艧ey 蓹lav蓹,
ba艧qa bir tray qoyulmas谋 kimi y谋臒谋n谋 眉st geri.
Siz蓹 dem蓹kdir v蓹 sonra pop topmost tray off edir.
Amma bir y谋臒谋n ki, haqq谋nda 蓹sas n蓹 Bu maraql谋 x眉susiyy蓹ti var.
Yemekhane hey蓹ti kimi n枚vb蓹ti yem蓹k 眉莽眉n qablar yenid蓹n,
n蓹 olacaq t蓹l蓹b蓹l蓹r蓹 haqq谋nda do臒ru
Bu data strukturu il蓹 qar艧谋l谋ql谋?
Auditoriya: Onlar bir off pop olacaq.
DAVID MALAN: Onlar olacaq bir off, in艧allah 眉st pop.
茝ks halda yaln谋z c眉r axmaq var alt b眉t眉n yol getm蓹k.
Right?
Bu data strukturu h蓹qiq蓹t蓹n imkan vermir 蓹n az谋 alt tray qamarlamaq 眉莽眉n
asanl谋qla.
Bel蓹 ki, bu maraql谋 var Bir y谋臒谋n 蓹mlak
son madd蓹 ilk biri olacaq.
V蓹 komp眉ter aliml蓹ri z蓹ng Bu ilk, h蓹yata davam LIFO--.
V蓹 h蓹qiq蓹t蓹n var maraql谋 applications.
Bu, m眉tl蓹q b蓹zi kimi ayd谋n deyil ba艧qalar谋, lakin, h蓹qiq蓹t蓹n, faydal谋 ola bil蓹r
v蓹 bu, h蓹qiq蓹t蓹n, h蓹yata ke莽iril蓹 bil蓹r m眉xt蓹lif yollarla bir ne莽蓹.
>> Bel蓹 ki, bir, h蓹qiq蓹t蓹n, qoy M蓹n蓹 daxil dal谋艧 deyil.
茝v蓹zin蓹 bunu ed蓹k.
Nin dem蓹k olar ki, var ki, bir baxaq eyni fikir, lakin bir az 蓹dal蓹tli var.
Right?
Bu fan o臒lanlar biri edirsinizs蓹 v蓹 ya h蓹qiq蓹t蓹n Apple m蓹hsullar谋 sevir ki, q谋zlar
v蓹 3:00 AM oyand谋 B蓹zi ma臒aza s谋ralamaq 眉莽眉n
son iPhone almaq 眉莽眉n, bu kimi s谋raya ola bil蓹r.
>> 陌ndi n枚vb蓹 莽ox q蓹sd蓹n adlan谋r.
Var, 莽眉nki x蓹tti b蓹zi 蓹dal蓹t.
Right?
Siz var 蓹g蓹r bu c眉r sucked ki Apple Store ilk var
lakin s蓹m蓹r蓹li bottommost var tray sonra Apple i艧莽il蓹rinin 莽眉nki
son 艧蓹xs pop ed蓹n h蓹qiq蓹t蓹n x蓹tti var.
Borular v蓹 s谋ralar谋nda, baxmayaraq bel蓹 funksional onlar same-- c眉r edirik
yaln谋z bu toplanmas谋 resurslar谋n ki
orada var shrink-- inki艧af gedir v蓹 bu bu 蓹dal蓹t aspekt,
Real d眉nyada 蓹n az谋, burada 蓹m蓹liyyatlar谋 h蓹yata
蓹sasl谋 f蓹rqlidir.
Bir s谋ra A stack-- rather-- deyilir
iki 蓹m蓹liyyatlar谋: n queue v蓹 d queue.
Yoxsa onlara z蓹ng ed蓹 bil蓹rsiniz h蓹r hans谋 bir say谋.
Amma yaln谋z tutmaq ist蓹yir蓹m bir 蓹lav蓹 edir ki, anlay谋艧谋
v蓹 bir n蓹tic蓹d蓹 subtracting edir.
>> 陌ndi ba艧l谋q alt谋nda, h蓹m d蓹 y谋臒谋n谋 v蓹 bir s谋ra nec蓹 h蓹yata ke莽iril蓹 bil蓹r?
Biz kodu daxil deyil 莽眉nki y眉ks蓹k s蓹viyy蓹li
fikir sort daha g枚z qaba臒谋ndad谋r.
M蓹n dem蓹k, insanlar n蓹 etm蓹liy蓹m?
M蓹n Apple ilk 艧蓹xs deyil蓹m, Saxlamaq v蓹 bu 枚n qap谋,
M蓹n burada durmaq gedir蓹m, bilirik.
V蓹 n枚vb蓹ti 艧蓹xsin burada durmaq gedir.
Bel蓹 ki, n蓹 data strukturu 枚z眉 bir s谋ra verir?
>> Auditoriya: A queue.
DAVID MALAN: B蓹li, bir s谋ra.
Sure.
N蓹?
>> Auditoriya: A ba臒l谋 siyah谋.
>> DAVID MALAN: A ba臒l谋d谋r Siz h蓹yata bil蓹r edin.
V蓹 蓹laq蓹li siyah谋s谋 sonra, 莽眉nki g枚z蓹l f蓹rqli olaraq uzun 枚zba艧谋na inki艧af ed蓹 bil蓹r
B蓹zi sabit say谋 olan ma臒aza insanlar谋n.
Amma b蓹lk蓹 bir sabit say谋 yerl蓹rd蓹 qanuni.
Yaln谋z 20 kimi varsa, 莽眉nki b蓹lk蓹 ilk g眉n眉nd蓹 iPhone
yaln谋z 枚l莽眉s眉 bir s谋ra laz谋md谋r 20 ki n枚vb蓹 t蓹msil ed蓹n
Biz s枚hb蓹t ba艧lamaq d蓹f蓹 yaln谋z indi dem蓹k olunur Bu y眉ks蓹k s蓹viyy蓹li probleml蓹rin,
Siz h蓹yata ke莽ir蓹 bil蓹r yollar谋 bir s谋ra.
V蓹 y蓹qin ki, yaln谋z ged蓹n var m蓹kan v蓹 zamanda bir ticar蓹t off ola
v蓹 ya yaln谋z 枚z kodu m眉r蓹kk蓹bliyi.
>> Bir y谋臒谋n haqq谋nda n蓹?
Yax艧谋, bir y谋臒谋n, biz d蓹 g枚rd眉k yaln谋z bu qablar ola bil蓹r.
V蓹 bu bir s谋ra h蓹yata bil蓹r.
Lakin b蓹zi noktada, bir s谋ra istifad蓹 蓹g蓹r n蓹 qablar n蓹 olacaq
siz yazmaq 莽al谋艧d谋臒谋n谋z?
B眉t眉n h眉quqlar.
Siz yaln谋z olacaq q蓹d蓹r y眉ks蓹k getm蓹k m眉mk眉n.
M蓹n onlar Mather hesab h蓹qiq蓹t蓹n a莽谋l谋艧谋nda recessed.
Bel蓹 ki, h蓹qiq蓹t蓹n, dem蓹k olar ki, var Mather istifad蓹 kimi
sabit 枚l莽眉s眉 bir s谋ra, yaln谋z, 莽眉nki
ki, a莽谋l谋艧 莽ox qablar uy臒un xalq diz a艧a臒谋 divar.
V蓹 bel蓹 ki, ola bil蓹r, bir s谋ra oldu臒u ifad蓹,
lakin biz, 蓹lb蓹tt蓹 ki, h蓹yata bil蓹r 眉mumiyy蓹tl蓹 bir ba臒l谋 siyah谋s谋 il蓹.
>> Yax艧谋, n蓹 ba艧qa data strukturu haqq谋nda?
M蓹n蓹 burada vizual birini qoparmaq ed蓹k.
Nec蓹 burada bu bar蓹d蓹 kimi bir 艧ey?
Niy蓹 眉莽眉n faydal谋 ola bil蓹r bir trie, kimi bir 艧ey z蓹nn ed蓹n
biz bu 莽ox geni艧 qov艧aqlar谋n谋n idi g枚rd眉m olan h蓹r bir s谋ra var?
Amma biz bir 艧ey daha n蓹 蓹g蓹r sad蓹c蓹, k枚hn蓹 m蓹kt蓹b ail蓹 a臒ac kimi,
kimin burada qov艧aqlar谋n谋n h蓹r yaln谋z bir s谋ra saxlan谋lmas谋.
Bunun 蓹v蓹zin蓹 bir ad谋 v蓹 ya n蓹slind蓹n yaln谋z bu kimi bir s谋ra saxlan谋lmas谋.
>> Yax艧谋, jargon biz istifad蓹 data strukturlar谋, h蓹m d蓹 莽al谋艧谋r deyil
v蓹 a臒aclar, bir trie, yen蓹 oldu臒u yaln谋z onlar谋n qov艧aqlar谋n谋n Diziler biri,
h蓹l蓹 n蓹 bil蓹r sinif m蓹kt蓹bin istifad蓹
Bir ail蓹 zaman a臒ac yarpaqlar谋 v蓹 k枚k
a臒ac v蓹 u艧aqlar谋n valideyn v蓹 onlar谋n bac谋.
V蓹 biz bir a臒ac h蓹yata bil蓹r, M蓹s蓹l蓹n, kimi sad蓹c蓹 bu kimi.
A a臒ac, bu bir node, biri kimi bir s谋ra var ki, bu dair蓹l蓹r,
Bu var niyy蓹tind蓹 deyil bir pointer, lakin iki.
V蓹 tezlikl蓹 蓹lav蓹 kimi ikinci g枚st蓹rici, siz
h蓹qiq蓹t蓹n, indi sort ed蓹 bil蓹rsiniz iki 枚l莽眉l眉 m蓹lumatlar谋n
yadda艧 strukturlar谋.
Iki 枚l莽眉l眉 kimi Much array, siz
iki 枚l莽眉l眉 c眉r var ba臒l谋 siyah谋lar谋 lakin olanlar谋
ki, bir model edin burada he莽 bir d枚vr眉nd蓹n var.
Bu biri il蓹 h蓹qiq蓹t蓹n can谋ndan burada v蓹 sonra grandparent yolu
b蓹zi valideynl蓹r v蓹 u艧aqlar v蓹 n蓹v蓹si v蓹 b枚y眉k n蓹v蓹si.
v蓹 s.
>> Lakin, 莽ox bu bar蓹d蓹 h蓹qiq蓹t蓹n s蓹liq蓹li n蓹 yaln谋z kodu bir az il蓹 siz tease 眉莽眉n,
olan geri recursion biraz geri, vasit蓹si
枚z眉n眉 莽a臒谋r谋r ki, bir funksiyas谋 yazmaq.
Bu g枚z蓹l imkand谋r bir 艧ey h蓹yata
Recursion kimi, 莽眉nki bu hesab.
>> Bu a臒ac.
M蓹n nec蓹 bir az anal oldum M蓹n k眉莽蓹y蓹 integers qoydu.
Bel蓹 ki, bu x眉susi var bir ikili axtar谋艧 a臒ac konseptual m蓹nada ad谋.
陌ndi biz ikili e艧itdim siz axtar谋艧, lakin bil蓹r
Bu 艧ey ad谋 geri i艧?
I nec蓹 model n蓹dir bu a臒ac daxil integers daxil?
Bu ixtiyari deyil.
B蓹zi model var.
B蓹li.
>> Auditoriya: sol Ki莽ik olanlar谋.
>> DAVID MALAN: B蓹li.
Ki莽ik olanlar谋 sol var.
B枚y眉k olanlar谋 sa臒 var.
Bel蓹 bir ger莽蓹k bir b蓹yanat ki, valideyn, onun sol u艧aq daha b枚y眉kd眉r
Onun sa臒 u艧aq daha lakin az.
V蓹 t蓹k ki, h蓹tta bir deyil recursive 艧ifahi definition
ki, m眉raci蓹t ed蓹 bil蓹r, 莽眉nki h蓹r node eyni m蓹ntiq
v蓹 yaln谋z dibi h蓹yata, baza halda 蓹g蓹r
olacaq, zaman bir hit yarpaq, bel蓹 ki, dan谋艧maq
bir m蓹zuniyy蓹t daha he莽 bir 枚vlad谋 var oldu臒u.
>> 陌ndi nec蓹 say谋 44 tapa bil蓹rsiniz?
Siz hm k枚k ba艧lamaq v蓹 dey蓹rdim.
55 M蓹n getm蓹k ist蓹yir蓹m 44 deyil sa臒 v蓹 ya sol getm蓹k ist蓹yirsiniz?
B蓹li, a莽谋q-ayd谋n sol getm蓹k ist蓹yir蓹m.
V蓹 bel蓹 ki, yaln谋z telefon kimi Binar axtar谋艧 kitab n眉mun蓹
眉mumiyy蓹tl蓹.
Amma biz bunu h蓹yata edirik 陌ndi bir az daha dinamik
bir s谋ra imkan bil蓹r daha.
V蓹 蓹slind蓹, siz baxmaq ist蓹yirsinizs蓹 kodu, ilk bax谋艧da 蓹min olun.
Bu x蓹tl蓹ri b眉t眉n d蓹st蓹 kimi g枚r眉n眉r.
Amma bu g枚z蓹l sad蓹.
Bir funksiyas谋 h蓹yata ist蓹yirsinizs蓹, kimin m蓹qs蓹di h蓹yat deyil蓹n axtar谋艧
d蓹y蓹ri axtarmaq 眉莽眉n n蓹 kimi n, bir tam,
v蓹 bir pointer q蓹bul edirik k枚kl蓹ri node bir g枚st蓹rici,
daha ki, a臒ac olan Siz ba艧qa h蓹r 艧ey ed蓹 bil蓹rsiniz
nec蓹 straightforwardly qeyd Siz m蓹ntiq h蓹yata ke莽ir蓹 bil蓹r.
A臒ac null 蓹g蓹r, Ayd谋nd谋r ki, bu yoxdur.
Yaln谋z yalan qay谋tmaq ed蓹k.
Right?
Siz he莽 bir 艧ey edirsinizs蓹, var he莽 bir 艧ey yoxdur.
>> Else n az, 蓹g蓹r 陌ndi n arrow n a臒ac arrow,
biz super t蓹qdim geri q谋sa g眉n,
v蓹 yaln谋z de-istinad dem蓹kdir pointer v蓹 n adl谋 sah蓹sind蓹 baxmaq.
Bel蓹 ki, orada getm蓹k dem蓹kdir n adl谋 sah蓹sind蓹 baxmaq.
Bel蓹 ki, n, 蓹g蓹r sunulur d蓹y蓹ri, az a臒aclar tam d蓹y蓹rinin daha,
harada getm蓹k ist蓹yirsiniz?
Sol.
>> Bel蓹 ki, recursion bil蓹rsiniz.
M蓹n do臒ru deyil returning-- deyil蓹m.
Yalan deyil.
M蓹n n蓹 cavab qaytar谋lmas谋 al谋ram 枚z眉m蓹 z蓹ng edir, ke莽蓹n
laz谋ms谋z olan daha bir n, lakin indi az m眉xt蓹lif var?
Nec蓹 m蓹n ki莽ik problem q蓹bul edir蓹m?
M蓹n ikinci ke莽蓹n al谋ram d蓹lil, a臒ac deyil k枚k,
lakin bu halda sol u艧aq.
M蓹n sol u艧aq ke莽蓹n al谋ram.
>> Eyni zamanda n daha b枚y眉k, 蓹g蓹r Hal-haz谋rda da ar谋yorum node,
M蓹n sa臒 t蓹r蓹fd蓹n axtar谋艧.
Else, a臒ac, null deyil v蓹 Bu element sol deyil,
v蓹, sa臒 deyil halda g枚z蓹l n蓹dir?
Biz, h蓹qiq蓹t蓹n d蓹 node g枚rd眉k sual, v蓹 biz do臒ru qay谋tmaq.
>> Bel蓹likl蓹, biz yaln谋z s蓹thi c谋z谋qlanm谋艧 sonra 陌ndi bu data strukturlar谋 b蓹zi.
Problem set be艧 siz蓹 laz谋md谋r h蓹l蓹 bundan sonra da bu ara艧d谋rmaq,
v蓹 sizin dizayn verilir bu bar蓹d蓹 getm蓹k nec蓹 se莽im.
M蓹n ba臒lamaq ist蓹diyiniz n蓹 yaln谋z 30 ikinci iltifat edir
k蓹narda g蓹l蓹n h蓹ft蓹 v蓹 g枚zl蓹yir n蓹.
>> Biz t蓹艧蓹kk眉rl蓹 begin-- kimi bil蓹r yava艧-yava艧 bizim ke莽id think--
C v蓹 a艧a臒谋 d眉nya s蓹viyy蓹d蓹 h蓹yata 蓹trafl谋,
bir d眉nyada olan biz bil蓹r ba艧qas谋 n蓹hay蓹t ki, veril蓹n
Bu data t蓹tbiq bizim 眉莽眉n strukturlar谋,
v蓹 biz anlamaq 眉莽眉n ba艧lamaq laz谋md谋r real d眉nya h蓹yata dem蓹kdir
web-based proqramlar谋 v蓹 saytlar谋 眉mumiyy蓹tl蓹
v蓹 d蓹 莽ox t蓹hl眉k蓹sizlik biz yaln谋z var ki, t蓹siri
s蓹thind蓹 dan谋艧谋q ba艧lay谋b.
Burada bizi g枚zl蓹yir n蓹 g眉n g蓹lib.
>> [Video playback]
>> O, bir mesaj g蓹ldi b眉t眉n 枚z protokol.
O, q蓹ddar bir d眉nyaya g蓹ldi firewall, uncaring y枚nlendirici,
v蓹 t蓹hl眉k蓹l蓹r 枚l眉m 莽ox pis.
O, s眉r蓹tli.
O, g眉cl眉 var.
O, TCP / IP, v蓹 o 眉nvan谋n谋z谋 var.
"Net Warriors."
[END video playback]
DAVID MALAN: g蓹l蓹n h蓹ft蓹 g蓹lir.
Biz sonra g枚r蓹c蓹ksiniz.
[Video playback]
-V蓹 Indi "Deep Thoughts" Daven Farnham t蓹r蓹find蓹n.
David h蓹mi艧蓹 ba艧lay谋r il蓹 m眉hazir蓹l蓹r "B眉t眉n h眉ququ."
Niy蓹 "Burada h蓹ll bu h蓹ft蓹 problem set "眉莽眉n
v蓹 ya "Biz A siz蓹 b眉t眉n 枚t眉r眉r?"
[G眉l眉r]
[END video playback]