1 00:00:00,000 --> 00:00:05,760 2 00:00:05,760 --> 00:00:08,900 >> DOUG LLOYD: Bel蓹 ki, CS50 biz haqq谋nda 枚yr蓹ndim 莽e艧idl蓹nm蓹si v蓹 axtar谋艧 bir s谋ra 3 00:00:08,900 --> 00:00:09,442 alqoritml蓹ri. 4 00:00:09,442 --> 00:00:11,400 V蓹 b蓹z蓹n ola bil蓹r saxlamaq 眉莽眉n bir az 莽蓹tin 5 00:00:11,400 --> 00:00:14,161 n蓹 alqoritm track n蓹 yoxdur. 6 00:00:14,161 --> 00:00:15,910 Biz, h蓹qiq蓹t蓹n, yaln谋z var 莽ox s蓹thi m蓹sullar谋 7 00:00:15,910 --> 00:00:18,740 bir 莽ox dig蓹r axtar谋艧 var v蓹 alqoritml蓹ri 莽e艧idl蓹nm蓹si. 8 00:00:18,740 --> 00:00:21,780 Bel蓹 ki, bu video ed蓹k yaln谋z bir ne莽蓹 d蓹qiq蓹 9 00:00:21,780 --> 00:00:24,980 c蓹hd v蓹 h蓹r alqoritm 莽蓹km蓹k 蓹sas elementl蓹ri a艧a臒谋 10 00:00:24,980 --> 00:00:27,810 bel蓹 ki, 蓹n yadda bil蓹r onlar haqq谋nda 蓹h蓹miyy蓹tli m蓹lumatlar 11 00:00:27,810 --> 00:00:31,970 v蓹 ifad蓹 etm蓹k m眉mk眉n f蓹rql蓹r, z蓹ruri hallarda. 12 00:00:31,970 --> 00:00:34,220 >> ilk se莽im sortudur. 13 00:00:34,220 --> 00:00:38,210 se莽im sort 蓹sas ideyas谋 ki莽ik 莽e艧idl蓹nm蓹mi艧 element tapmaq olunur 14 00:00:38,210 --> 00:00:42,890 v蓹 bir s谋ra il蓹 d蓹yi艧dirm蓹k ki, serial谋n ilk 莽e艧idl蓹nm蓹mi艧 element. 15 00:00:42,890 --> 00:00:46,620 茝n pis halda oldu臒unu bildirib ki, run d蓹f蓹 kvadrat n oldu. 16 00:00:46,620 --> 00:00:50,060 V蓹 niy蓹 geri ist蓹yirsinizs蓹, almaq bir se莽im sort video baxmaq. 17 00:00:50,060 --> 00:00:54,560 茝n yax艧谋 halda run vaxt d蓹 n kvadrat edir. 18 00:00:54,560 --> 00:00:58,910 >> Bubble sort ki, arxas谋nda ideyas谋 bir biti艧ik c眉t d蓹yi艧dirm蓹k 眉莽眉n. 19 00:00:58,910 --> 00:01:01,730 Bel蓹 ki, siz蓹 k枚m蓹k edir 蓹sas var Burada f蓹rq xat谋rlay谋ram. 20 00:01:01,730 --> 00:01:04,920 Se莽ki sort, bu g眉n蓹 q蓹d蓹r, smallest-- bubble tapmaq 21 00:01:04,920 --> 00:01:06,790 sort biti艧ik c眉t d蓹yi艧dirm蓹k. 22 00:01:06,790 --> 00:01:08,710 Biz qon艧u c眉t d蓹yi艧dirm蓹k elementl蓹ri onlar 蓹g蓹r 23 00:01:08,710 --> 00:01:12,530 olan s蓹m蓹r蓹li qaydada h蓹yata , sa臒 b枚y眉k elementl蓹ri Bubbles 24 00:01:12,530 --> 00:01:17,060 v蓹 eyni zamanda bu da ba艧lay谋r sol ki莽ik elementl蓹ri h蓹r蓹k蓹t etm蓹k. 25 00:01:17,060 --> 00:01:20,180 蓹n pis halda hal run vaxt bubble n枚v n kvadrat edir. 26 00:01:20,180 --> 00:01:23,476 茝n yax艧谋 halda run vaxt bubble sort n edir. 27 00:01:23,476 --> 00:01:25,350 脟眉nki ki, v蓹ziyy蓹t biz h蓹qiq蓹t蓹n deyil 28 00:01:25,350 --> 00:01:27,141 biz laz谋md谋r bil蓹r h蓹r hans谋 svoplar谋 edir. 29 00:01:27,141 --> 00:01:31,026 Biz yaln谋z bir etm蓹k laz谋md谋r b眉t眉n n elementl蓹ri aras谋nda ke莽ir. 30 00:01:31,026 --> 00:01:34,600 >> Durub sort, Burada 蓹sas fikir d蓹yi艧ir. 31 00:01:34,600 --> 00:01:36,630 Bu durub s谋rala 眉莽眉n s枚z var. 32 00:01:36,630 --> 00:01:39,630 Biz vasit蓹sil蓹 bir d蓹f蓹 add谋m olacaq olan array soldan sa臒a. 33 00:01:39,630 --> 00:01:41,670 Biz kimi, biz ist蓹yirik elementl蓹ri ke莽m蓹k gedir 34 00:01:41,670 --> 00:01:46,260 Biz art谋q 眉莽眉n otaq etm蓹k g枚rd眉m haradasa uy臒un laz谋md谋r ki莽ik olanlar谋 35 00:01:46,260 --> 00:01:48,080 geri s谋ralan谋r hiss蓹si. 36 00:01:48,080 --> 00:01:51,600 Bel蓹likl蓹, biz s谋ralan谋r array qurmaq bir soldan sa臒a bir zamanda element, 37 00:01:51,600 --> 00:01:54,740 v蓹 biz otaq etm蓹k 艧eyi ke莽m蓹k. 38 00:01:54,740 --> 00:01:58,650 蓹n pis halda run vaxt durub sort n kvadrat edir. 39 00:01:58,650 --> 00:02:02,380 茝n yax艧谋 halda run zaman n edir. 40 00:02:02,380 --> 00:02:05,380 >> S枚z sort Birle艧tirme burada split v蓹 daxil edilir. 41 00:02:05,380 --> 00:02:08,949 Biz olsun, tam array split bu alt谋 elementl蓹ri, s蓹kkiz elementl蓹ri var, 42 00:02:08,949 --> 00:02:13,790 10.000 elementl蓹ri biz split a艧a臒谋 yar谋s谋nda, yar谋m, yar谋m, 43 00:02:13,790 --> 00:02:17,720 biz array alt谋nda q蓹d蓹r n bir element seriallarda. 44 00:02:17,720 --> 00:02:19,470 N bir element seriallarda toplusu. 45 00:02:19,470 --> 00:02:22,640 Bel蓹likl蓹, biz bir il蓹 ba艧lad谋 1000-element array, 46 00:02:22,640 --> 00:02:26,550 v蓹 biz n枚qt蓹sin蓹 almaq biz 1000-element Diziler var. 47 00:02:26,550 --> 00:02:30,990 Sonra biz h蓹min sub seriallar谋n daxil ba艧lay谋r geri birlikd蓹 d眉zg眉n qaydada. 48 00:02:30,990 --> 00:02:34,860 Bel蓹likl蓹, biz iki bir-element seriallar谋n almaq v蓹 iki element s谋ra yaratmaq. 49 00:02:34,860 --> 00:02:38,180 Biz iki-element Diziler almaq v蓹 d枚rd element s谋ra yaratmaq 50 00:02:38,180 --> 00:02:43,900 v蓹 s v蓹 s biz sizin q蓹d蓹r daha bir n element array yenid蓹n. 51 00:02:43,900 --> 00:02:48,410 >> 蓹n pis halda run vaxt sort daxil n d蓹f蓹 n daxil olun. 52 00:02:48,410 --> 00:02:52,390 Biz n elementl蓹ri var, amma bu recombining proses 53 00:02:52,390 --> 00:02:56,960 daxil edir n add谋mlar almaq 眉莽眉n tam array geri. 54 00:02:56,960 --> 00:03:01,160 vaxt run 蓹n yax艧谋 halda da n log edir n bu proses h蓹qiq蓹t蓹n deyil, 莽眉nki 55 00:03:01,160 --> 00:03:04,090 array olub qay臒谋 s谋ralan谋r v蓹 ya il蓹 ba艧lamaq. 56 00:03:04,090 --> 00:03:07,590 proses var, eyni q谋sa qapanma 艧eyl蓹r 眉莽眉n he莽 bir yol. 57 00:03:07,590 --> 00:03:11,610 Bel蓹 ki, n 蓹n pis halda n log, n 蓹n yax艧谋 halda n daxil olun. 58 00:03:11,610 --> 00:03:13,960 >> Biz iki haqq谋nda dan谋艧d谋 alqoritml蓹r axtar谋艧. 59 00:03:13,960 --> 00:03:16,230 Bel蓹 ki, x蓹tti axtar谋艧 iterating edir. 60 00:03:16,230 --> 00:03:19,500 Biz array aras谋nda davam bir d蓹f蓹, soldan sa臒a, 61 00:03:19,500 --> 00:03:21,950 say谋 tapmaq 眉莽眉n 莽al谋艧谋r谋q ki, biz arad谋臒谋n谋z. 62 00:03:21,950 --> 00:03:24,550 蓹n pis halda run zaman n b枚y眉k O edir. 63 00:03:24,550 --> 00:03:27,610 Bu iterating bizi bil蓹r h蓹r bir element 眉zr蓹 64 00:03:27,610 --> 00:03:30,660 biz arad谋臒谋n谋z element tapmaq 眉莽眉n, ya son m枚vqe, 65 00:03:30,660 --> 00:03:31,630 v蓹 ya b眉t眉n. 66 00:03:31,630 --> 00:03:34,720 Amma biz q蓹d蓹r t蓹sdiq ed蓹 biz h蓹r 艧eyi baxd谋 etdik. 67 00:03:34,720 --> 00:03:36,730 蓹n yax艧谋 halda deyil蓹m, biz d蓹rhal tapa bil蓹rsiniz. 68 00:03:36,730 --> 00:03:41,060 蓹n yax艧谋 halda run vaxt x蓹tti axtar谋艧 1 omega edir. 69 00:03:41,060 --> 00:03:43,689 >> N蓹hay蓹t, ikili axtar谋艧 var idi olan m眉xt蓹lif array t蓹l蓹b edir. 70 00:03:43,689 --> 00:03:45,605 Ki, bir 莽ox var saxla m眉h眉m bax谋lmas谋 71 00:03:45,605 --> 00:03:47,155 Binar axtar谋艧 il蓹 i艧 zaman谋. 72 00:03:47,155 --> 00:03:50,180 Bu pseudocode istifad蓹 bir 枚n 艧蓹rt var Siz vasit蓹sil蓹 arad谋臒谋n谋z array 73 00:03:50,180 --> 00:03:52,160 s谋ralan谋r olmal谋d谋r. 74 00:03:52,160 --> 00:03:54,500 茝ks halda, s枚z par莽ala v蓹 f蓹th edir. 75 00:03:54,500 --> 00:03:58,310 Yar谋s谋 daxil array Split v蓹 elementl蓹rin yar谋m aradan qald谋r谋lmas谋 76 00:03:58,310 --> 00:04:00,780 h蓹r d蓹f蓹 vasit蓹sil蓹 davam kimi. 77 00:04:00,780 --> 00:04:04,330 脟眉nki bu u莽urum v蓹 f蓹th v蓹 yar谋m yana艧ma par莽alanmas谋 艧eyi, 78 00:04:04,330 --> 00:04:07,450 蓹n pis halda run vaxt ikili axtar谋艧 79 00:04:07,450 --> 00:04:11,730 蓹h蓹miyy蓹tli d蓹r蓹c蓹d蓹 olan, n log x蓹tti axtar谋艧 nin n daha yax艧谋. 80 00:04:11,730 --> 00:04:13,570 茝n yax艧谋 halda run zaman h蓹l蓹 biridir. 81 00:04:13,570 --> 00:04:17,010 >> Biz d蓹rhal tapa bil蓹rsiniz 陌lk d蓹f蓹 biz bir b枚lm蓹, lakin 82 00:04:17,010 --> 00:04:19,339 yen蓹 unutmay谋n ki ikili axtar谋艧, baxmayaraq ki, 83 00:04:19,339 --> 00:04:24,030 x蓹tti axtar谋艧 nisb蓹t蓹n 蓹h蓹miyy蓹tli d蓹r蓹c蓹d蓹 daha yax艧谋 log olman谋n g蓹r蓹yi n n qar艧谋, 84 00:04:24,030 --> 00:04:27,110 i艧 vasit蓹sil蓹 getm蓹k 眉莽眉n ola bil蓹r , ilk array 莽e艧idl蓹nm蓹si hans谋 85 00:04:27,110 --> 00:04:32,010 as谋l谋 olaraq az effektiv ed蓹 bil蓹r s谋ralamas谋 iterating 枚l莽眉s眉. 86 00:04:32,010 --> 00:04:35,250 >> M蓹n Doug Lloyd deyil蓹m, bu CS50 edir. 87 00:04:35,250 --> 00:04:36,757