>> DOUG LLOYD: Bel蓹 ki, CS50 biz haqq谋nda 枚yr蓹ndim 莽e艧idl蓹nm蓹si v蓹 axtar谋艧 bir s谋ra
alqoritml蓹ri.
V蓹 b蓹z蓹n ola bil蓹r saxlamaq 眉莽眉n bir az 莽蓹tin
n蓹 alqoritm track n蓹 yoxdur.
Biz, h蓹qiq蓹t蓹n, yaln谋z var 莽ox s蓹thi m蓹sullar谋
bir 莽ox dig蓹r axtar谋艧 var v蓹 alqoritml蓹ri 莽e艧idl蓹nm蓹si.
Bel蓹 ki, bu video ed蓹k yaln谋z bir ne莽蓹 d蓹qiq蓹
c蓹hd v蓹 h蓹r alqoritm 莽蓹km蓹k 蓹sas elementl蓹ri a艧a臒谋
bel蓹 ki, 蓹n yadda bil蓹r onlar haqq谋nda 蓹h蓹miyy蓹tli m蓹lumatlar
v蓹 ifad蓹 etm蓹k m眉mk眉n f蓹rql蓹r, z蓹ruri hallarda.
>> ilk se莽im sortudur.
se莽im sort 蓹sas ideyas谋 ki莽ik 莽e艧idl蓹nm蓹mi艧 element tapmaq olunur
v蓹 bir s谋ra il蓹 d蓹yi艧dirm蓹k ki, serial谋n ilk 莽e艧idl蓹nm蓹mi艧 element.
茝n pis halda oldu臒unu bildirib ki, run d蓹f蓹 kvadrat n oldu.
V蓹 niy蓹 geri ist蓹yirsinizs蓹, almaq bir se莽im sort video baxmaq.
茝n yax艧谋 halda run vaxt d蓹 n kvadrat edir.
>> Bubble sort ki, arxas谋nda ideyas谋 bir biti艧ik c眉t d蓹yi艧dirm蓹k 眉莽眉n.
Bel蓹 ki, siz蓹 k枚m蓹k edir 蓹sas var Burada f蓹rq xat谋rlay谋ram.
Se莽ki sort, bu g眉n蓹 q蓹d蓹r, smallest-- bubble tapmaq
sort biti艧ik c眉t d蓹yi艧dirm蓹k.
Biz qon艧u c眉t d蓹yi艧dirm蓹k elementl蓹ri onlar 蓹g蓹r
olan s蓹m蓹r蓹li qaydada h蓹yata , sa臒 b枚y眉k elementl蓹ri Bubbles
v蓹 eyni zamanda bu da ba艧lay谋r sol ki莽ik elementl蓹ri h蓹r蓹k蓹t etm蓹k.
蓹n pis halda hal run vaxt bubble n枚v n kvadrat edir.
茝n yax艧谋 halda run vaxt bubble sort n edir.
脟眉nki ki, v蓹ziyy蓹t biz h蓹qiq蓹t蓹n deyil
biz laz谋md谋r bil蓹r h蓹r hans谋 svoplar谋 edir.
Biz yaln谋z bir etm蓹k laz谋md谋r b眉t眉n n elementl蓹ri aras谋nda ke莽ir.
>> Durub sort, Burada 蓹sas fikir d蓹yi艧ir.
Bu durub s谋rala 眉莽眉n s枚z var.
Biz vasit蓹sil蓹 bir d蓹f蓹 add谋m olacaq olan array soldan sa臒a.
Biz kimi, biz ist蓹yirik elementl蓹ri ke莽m蓹k gedir
Biz art谋q 眉莽眉n otaq etm蓹k g枚rd眉m haradasa uy臒un laz谋md谋r ki莽ik olanlar谋
geri s谋ralan谋r hiss蓹si.
Bel蓹likl蓹, biz s谋ralan谋r array qurmaq bir soldan sa臒a bir zamanda element,
v蓹 biz otaq etm蓹k 艧eyi ke莽m蓹k.
蓹n pis halda run vaxt durub sort n kvadrat edir.
茝n yax艧谋 halda run zaman n edir.
>> S枚z sort Birle艧tirme burada split v蓹 daxil edilir.
Biz olsun, tam array split bu alt谋 elementl蓹ri, s蓹kkiz elementl蓹ri var,
10.000 elementl蓹ri biz split a艧a臒谋 yar谋s谋nda, yar谋m, yar谋m,
biz array alt谋nda q蓹d蓹r n bir element seriallarda.
N bir element seriallarda toplusu.
Bel蓹likl蓹, biz bir il蓹 ba艧lad谋 1000-element array,
v蓹 biz n枚qt蓹sin蓹 almaq biz 1000-element Diziler var.
Sonra biz h蓹min sub seriallar谋n daxil ba艧lay谋r geri birlikd蓹 d眉zg眉n qaydada.
Bel蓹likl蓹, biz iki bir-element seriallar谋n almaq v蓹 iki element s谋ra yaratmaq.
Biz iki-element Diziler almaq v蓹 d枚rd element s谋ra yaratmaq
v蓹 s v蓹 s biz sizin q蓹d蓹r daha bir n element array yenid蓹n.
>> 蓹n pis halda run vaxt sort daxil n d蓹f蓹 n daxil olun.
Biz n elementl蓹ri var, amma bu recombining proses
daxil edir n add谋mlar almaq 眉莽眉n tam array geri.
vaxt run 蓹n yax艧谋 halda da n log edir n bu proses h蓹qiq蓹t蓹n deyil, 莽眉nki
array olub qay臒谋 s谋ralan谋r v蓹 ya il蓹 ba艧lamaq.
proses var, eyni q谋sa qapanma 艧eyl蓹r 眉莽眉n he莽 bir yol.
Bel蓹 ki, n 蓹n pis halda n log, n 蓹n yax艧谋 halda n daxil olun.
>> Biz iki haqq谋nda dan谋艧d谋 alqoritml蓹r axtar谋艧.
Bel蓹 ki, x蓹tti axtar谋艧 iterating edir.
Biz array aras谋nda davam bir d蓹f蓹, soldan sa臒a,
say谋 tapmaq 眉莽眉n 莽al谋艧谋r谋q ki, biz arad谋臒谋n谋z.
蓹n pis halda run zaman n b枚y眉k O edir.
Bu iterating bizi bil蓹r h蓹r bir element 眉zr蓹
biz arad谋臒谋n谋z element tapmaq 眉莽眉n, ya son m枚vqe,
v蓹 ya b眉t眉n.
Amma biz q蓹d蓹r t蓹sdiq ed蓹 biz h蓹r 艧eyi baxd谋 etdik.
蓹n yax艧谋 halda deyil蓹m, biz d蓹rhal tapa bil蓹rsiniz.
蓹n yax艧谋 halda run vaxt x蓹tti axtar谋艧 1 omega edir.
>> N蓹hay蓹t, ikili axtar谋艧 var idi olan m眉xt蓹lif array t蓹l蓹b edir.
Ki, bir 莽ox var saxla m眉h眉m bax谋lmas谋
Binar axtar谋艧 il蓹 i艧 zaman谋.
Bu pseudocode istifad蓹 bir 枚n 艧蓹rt var Siz vasit蓹sil蓹 arad谋臒谋n谋z array
s谋ralan谋r olmal谋d谋r.
茝ks halda, s枚z par莽ala v蓹 f蓹th edir.
Yar谋s谋 daxil array Split v蓹 elementl蓹rin yar谋m aradan qald谋r谋lmas谋
h蓹r d蓹f蓹 vasit蓹sil蓹 davam kimi.
脟眉nki bu u莽urum v蓹 f蓹th v蓹 yar谋m yana艧ma par莽alanmas谋 艧eyi,
蓹n pis halda run vaxt ikili axtar谋艧
蓹h蓹miyy蓹tli d蓹r蓹c蓹d蓹 olan, n log x蓹tti axtar谋艧 nin n daha yax艧谋.
茝n yax艧谋 halda run zaman h蓹l蓹 biridir.
>> Biz d蓹rhal tapa bil蓹rsiniz 陌lk d蓹f蓹 biz bir b枚lm蓹, lakin
yen蓹 unutmay谋n ki ikili axtar谋艧, baxmayaraq ki,
x蓹tti axtar谋艧 nisb蓹t蓹n 蓹h蓹miyy蓹tli d蓹r蓹c蓹d蓹 daha yax艧谋 log olman谋n g蓹r蓹yi n n qar艧谋,
i艧 vasit蓹sil蓹 getm蓹k 眉莽眉n ola bil蓹r , ilk array 莽e艧idl蓹nm蓹si hans谋
as谋l谋 olaraq az effektiv ed蓹 bil蓹r s谋ralamas谋 iterating 枚l莽眉s眉.
>> M蓹n Doug Lloyd deyil蓹m, bu CS50 edir.