1 00:00:00,000 --> 00:00:05,860 >> [MUSIC PLAYING] 2 00:00:05,860 --> 00:00:09,530 >> DOUG LLOYD: Siz y蓹qin ki, hesab edir蓹m ki, code yaln谋z bir tap艧谋r谋q yerin蓹 yetirm蓹k 眉莽眉n istifad蓹 olunur. 3 00:00:09,530 --> 00:00:10,450 Siz onu yazmaq. 4 00:00:10,450 --> 00:00:11,664 Bu bir 艧ey yoxdur. 5 00:00:11,664 --> 00:00:12,580 Y蓹ni, bu, olduqca 莽ox var. 6 00:00:12,580 --> 00:00:13,160 >> Siz t蓹rtib edir. 7 00:00:13,160 --> 00:00:13,993 Siz proqram run. 8 00:00:13,993 --> 00:00:15,370 Siz getm蓹k iyi. 9 00:00:15,370 --> 00:00:17,520 >> Lakin iman v蓹 ya, 蓹g蓹r Siz uzun m眉dd蓹t kod 10 00:00:17,520 --> 00:00:20,550 Siz, h蓹qiq蓹t蓹n, g枚rm蓹k 眉莽眉n g蓹lm蓹k bil蓹r g枚z蓹l bir 艧ey kimi kodu. 11 00:00:20,550 --> 00:00:23,275 Bu problem h蓹ll edir 莽ox maraql谋 bir 艧蓹kild蓹, 12 00:00:23,275 --> 00:00:26,510 v蓹 ya, h蓹qiq蓹t蓹n, yaln谋z bir 艧ey var g枚r眉n眉r yolu haqq谋nda s蓹liq蓹li. 13 00:00:26,510 --> 00:00:28,750 Siz laughing ola bil蓹r M蓹n蓹, ancaq bu do臒ru deyil. 14 00:00:28,750 --> 00:00:31,530 V蓹 recursion bir yoldur sort bu fikir almaq 眉莽眉n 15 00:00:31,530 --> 00:00:34,090 g枚z蓹l, z蓹rif g枚r眉n眉艧l眉 kodu. 16 00:00:34,090 --> 00:00:37,740 Bu yolla probleml蓹ri h蓹ll ki, , g枚r眉nt眉l蓹m蓹k 眉莽眉n asan, maraql谋 17 00:00:37,740 --> 00:00:39,810 v蓹 t蓹蓹cc眉bl眉 q谋sa. 18 00:00:39,810 --> 00:00:43,190 >> yol recursion i艧l蓹ri bir recursive funksiyas谋 var 19 00:00:43,190 --> 00:00:49,291 莽a臒谋r谋r funksiyas谋 kimi m眉蓹yy蓹n edilir 枚z眉 icra hiss蓹si kimi. 20 00:00:49,291 --> 00:00:51,790 Ki, bir az q蓹rib蓹 g枚r眉n蓹 bil蓹r v蓹 biz bir az g枚r眉rs眉n眉z 21 00:00:51,790 --> 00:00:53,750 bu bir anda nec蓹 haqq谋nda. 22 00:00:53,750 --> 00:00:55,560 Ancaq yen蓹 d蓹, bu recursive prosedurlar谋 var 23 00:00:55,560 --> 00:00:57,730 bel蓹 z蓹rif olacaq onlar olacaq, 莽眉nki 24 00:00:57,730 --> 00:01:00,410 olmadan bu problemi h蓹ll etm蓹k 眉莽眉n B眉t眉n bu dig蓹r funksiyalar谋 olan 25 00:01:00,410 --> 00:01:02,710 v蓹 ya bu uzun loops. 26 00:01:02,710 --> 00:01:06,310 Siz bu recursive ki, g枚r眉rs眉n眉z prosedurlar谋 bel蓹 q谋sa baxmaq 眉莽眉n gedir. 27 00:01:06,310 --> 00:01:10,610 Onlar h蓹qiq蓹t蓹n etm蓹k 眉莽眉n gedir Sizin code daha 莽ox g枚z蓹l baxmaq. 28 00:01:10,610 --> 00:01:12,560 >> M蓹n siz蓹 bir n眉mun蓹 verim Bu nec蓹 29 00:01:12,560 --> 00:01:14,880 bir recursive proseduru m眉蓹yy蓹n edil蓹 bil蓹r. 30 00:01:14,880 --> 00:01:18,202 Bu il蓹 tan谋艧 de臒ilseniz bel蓹 ill蓹r 蓹vv蓹l math sinif 31 00:01:18,202 --> 00:01:20,910 bir 艧ey var deyirl蓹r ad蓹t蓹n fakt枚ryel funksiyas谋, 32 00:01:20,910 --> 00:01:25,340 bir 眉nlem kimi qeydi olan b眉t眉n m眉sb蓹t tam 蓹d蓹dl蓹r 眉z蓹rind蓹 m眉蓹yy蓹n edilir. 33 00:01:25,340 --> 00:01:28,850 V蓹 yol ki, n fakt枚ryel hesablan谋r 34 00:01:28,850 --> 00:01:31,050 Siz b眉t眉n 莽oxaltmaq edilir daha n枚mr蓹l蓹ri az 35 00:01:31,050 --> 00:01:33,750 v蓹 ya b蓹rab蓹r n together-- 眉莽眉n b眉t眉n integers az 36 00:01:33,750 --> 00:01:34,880 v蓹 ya birlikd蓹 n b蓹rab蓹r. 37 00:01:34,880 --> 00:01:39,850 >> Bel蓹 ki, 5 fakt枚ryel 5 d蓹f蓹 4 d蓹f蓹 3 d蓹f蓹 2 d蓹f蓹 1. 38 00:01:39,850 --> 00:01:43,020 And 4 fakt枚ryel 4 d蓹f蓹 3 d蓹f蓹 2 d蓹f蓹 1 v蓹 s. 39 00:01:43,020 --> 00:01:44,800 Siz fikir almaq. 40 00:01:44,800 --> 00:01:47,060 >> Proqram莽谋lar kimi, biz deyil n, 眉nlem istifad蓹 edin. 41 00:01:47,060 --> 00:01:51,840 Bel蓹likl蓹, biz fakt枚ryel m眉蓹yy蓹n ed蓹c蓹yik n fakt kimi f蓹aliyy蓹t g枚st蓹rir. 42 00:01:51,840 --> 00:01:56,897 V蓹 biz yaratmaq 眉莽眉n fakt枚ryel istifad蓹 ed蓹c蓹yik bir problemin recursive h蓹lli. 43 00:01:56,897 --> 00:01:59,230 M蓹n tapa bil蓹r edir蓹m Bu daha 莽ox vizual ki, 44 00:01:59,230 --> 00:02:02,380 iterativ art谋q m眉raci蓹t Bu versiyas谋 olan 45 00:02:02,380 --> 00:02:05,010 biz d蓹 bir anda n蓹z蓹r laz谋md谋r. 46 00:02:05,010 --> 00:02:08,310 >> Bel蓹 ki, burada bir ne莽蓹 facts-- pun intended-- 47 00:02:08,310 --> 00:02:10,169 haqq谋nda factorial-- fakt枚ryel funksiyas谋. 48 00:02:10,169 --> 00:02:13,090 Dediyim kimi 1 fakt枚ryel, 1. 49 00:02:13,090 --> 00:02:15,690 2 fakt枚ryel 2 d蓹f蓹 1. 50 00:02:15,690 --> 00:02:18,470 3 fakt枚ryel 3 d蓹f蓹 2 bel蓹 d蓹f蓹 1, v蓹. 51 00:02:18,470 --> 00:02:20,810 Biz art谋q 4 v蓹 5 b蓹hs etdi. 52 00:02:20,810 --> 00:02:23,940 >> Amma bu baxaraq, bu do臒ru deyil? 53 00:02:23,940 --> 00:02:28,220 2 fakt枚ryel deyil, yaln谋z 2 d蓹f蓹 1 fakt枚ryel? 54 00:02:28,220 --> 00:02:31,130 M蓹n dem蓹k, 1 fakt枚ryel 1. 55 00:02:31,130 --> 00:02:34,940 Bel蓹 ki, niy蓹 biz yaln谋z dem蓹k olmaz ki, 2 fakt枚ryel 2 d蓹f蓹 1-ci ild蓹n, 56 00:02:34,940 --> 00:02:38,520 Bu, h蓹qiq蓹t蓹n, yaln谋z 2 d蓹f蓹 var 1 fakt枚ryel? 57 00:02:38,520 --> 00:02:40,900 >> V蓹 sonra, ki, fikir uzanan 3 fakt枚ryel deyil 58 00:02:40,900 --> 00:02:44,080 yaln谋z 3 d蓹f蓹 2 fakt枚ryel? 59 00:02:44,080 --> 00:02:50,350 V蓹 4 fakt枚ryel 4 d蓹f蓹 bel蓹 3 v蓹 fakt枚ryel? 60 00:02:50,350 --> 00:02:52,530 茝slind蓹, fakt枚ryel h蓹r hans谋 bir say谋 yaln谋z bil蓹rsiniz 61 00:02:52,530 --> 00:02:54,660 c眉r 蓹g蓹r ifad蓹 蓹b蓹di bu h蓹yata ke莽irir. 62 00:02:54,660 --> 00:02:56,870 Biz n枚v 眉mumil蓹艧dirm蓹k bil蓹r fakt枚ryel problem 63 00:02:56,870 --> 00:02:59,910 bu kimi n d蓹f蓹 n minus 1 fakt枚ryel. 64 00:02:59,910 --> 00:03:04,840 Bu n d蓹f蓹 m蓹hsul var b眉t眉n n枚mr蓹l蓹ri m蓹n蓹 az. 65 00:03:04,840 --> 00:03:08,890 >> Bu fikir, bu Problemin 眉mumil蓹艧dirilm蓹si, 66 00:03:08,890 --> 00:03:13,410 Biz蓹 recursively 眉莽眉n imkan verir fakt枚ryel funksiyas谋 m眉蓹yy蓹n edir. 67 00:03:13,410 --> 00:03:15,440 Bir funksiyas谋 m眉蓹yy蓹n zaman recursively var 68 00:03:15,440 --> 00:03:17,470 Bunun bir hiss蓹si olmaq 眉莽眉n laz谋m olan iki 艧ey. 69 00:03:17,470 --> 00:03:20,990 Siz bir 艧ey deyil蓹n laz谋md谋r baza halda, hans谋, siz onu tetiklemek zaman, 70 00:03:20,990 --> 00:03:22,480 recursive prosesi dayanacaq. 71 00:03:22,480 --> 00:03:25,300 >> 茝ks halda, bir funksiyas谋 莽a臒谋r谋r 枚z眉 siz imagine-- bil蓹r 72 00:03:25,300 --> 00:03:26,870 蓹b蓹di davam ed蓹 bil蓹r. 73 00:03:26,870 --> 00:03:29,047 Function funksiyas谋n谋 莽a臒谋r谋r funksiyas谋 z蓹ngl蓹r 莽a臒谋r谋r 74 00:03:29,047 --> 00:03:30,380 funksiyas谋 funksiyas谋 莽a臒谋r谋r. 75 00:03:30,380 --> 00:03:32,380 Bir yol yoxsa , proqram dayand谋rmaq 眉莽眉n 76 00:03:32,380 --> 00:03:34,760 s蓹m蓹r蓹li vurulmu艧 olunacaq sonsuz loop edir. 77 00:03:34,760 --> 00:03:37,176 Bu, n蓹tic蓹d蓹 q蓹za ed蓹c蓹k Bu yadda艧 t枚k眉lm蓹k laz谋md谋r, 莽眉nki. 78 00:03:37,176 --> 00:03:38,990 Amma bu n枚qt蓹d蓹 ba艧qa var. 79 00:03:38,990 --> 00:03:42,210 >> Biz dayand谋rmaq 眉莽眉n b蓹zi dig蓹r yol laz谋md谋r proqram 艧aqq谋lt谋l谋 ba艧qa 艧eyl蓹r 80 00:03:42,210 --> 00:03:46,010 Yem蓹yini bir proqramd谋r, 莽眉nki y蓹qin ki, g枚z蓹l v蓹 ya z蓹rif deyil. 81 00:03:46,010 --> 00:03:47,690 V蓹 bel蓹 ki, biz bu 蓹sas i艧i 莽a臒谋r谋r谋q. 82 00:03:47,690 --> 00:03:50,610 Bu sad蓹 h蓹ll edir N枚qt蓹 bir problem 83 00:03:50,610 --> 00:03:52,770 meydana g蓹l蓹n recursive prosesi. 84 00:03:52,770 --> 00:03:55,220 Bel蓹 ki, bir hiss蓹si var bir recursive funksiyas谋. 85 00:03:55,220 --> 00:03:56,820 >> ikinci hiss蓹si recursive hald谋r. 86 00:03:56,820 --> 00:03:59,195 Bu harada recursion edir h蓹qiq蓹t蓹n ke莽iril蓹c蓹k. 87 00:03:59,195 --> 00:04:02,200 Bu harada funksiyas谋 枚z眉 z蓹ng ed蓹c蓹k. 88 00:04:02,200 --> 00:04:05,940 >> M蓹hz 枚z眉n眉 z蓹ng deyil Eyni 艧蓹kild蓹 bu adlan谋rd谋. 89 00:04:05,940 --> 00:04:08,880 Bu c眉zi variasiya olacaq ki, bu problem edir 90 00:04:08,880 --> 00:04:11,497 bir ufac谋k az ki莽ik h蓹ll etm蓹y蓹 莽al谋艧谋r谋q. 91 00:04:11,497 --> 00:04:14,330 Amma 眉mumiyy蓹tl蓹 dollar ke莽ir h蓹lli hiss蓹sini h蓹ll 92 00:04:14,330 --> 00:04:17,450 x蓹tti a艧a臒谋 f蓹rqli z蓹ng. 93 00:04:17,450 --> 00:04:20,290 >> Bu g枚r眉n眉艧眉 hans谋 Burada 蓹sas halda kimi? 94 00:04:20,290 --> 00:04:25,384 Hans谋 kimi bu g枚r眉n眉r bir bir problem 眉莽眉n sad蓹 h蓹ll? 95 00:04:25,384 --> 00:04:27,550 Biz factorials bir d蓹st蓹 var, v蓹 davam ed蓹 bil蓹r 96 00:04:27,550 --> 00:04:30,470 bel蓹 Us 6, 7, 8, 9, 10, v蓹 gedir. 97 00:04:30,470 --> 00:04:34,130 >> Amma kimi bu g枚r眉n眉r bir yax艧谋 hal baza halda olmaq. 98 00:04:34,130 --> 00:04:35,310 Bu, 莽ox sad蓹 h蓹ll edir. 99 00:04:35,310 --> 00:04:37,810 Biz x眉susi bir 艧ey yoxdur. 100 00:04:37,810 --> 00:04:40,560 >> 1 fakt枚ryel yaln谋z 1-dir. 101 00:04:40,560 --> 00:04:42,790 Biz he莽 n蓹 yoxdur vurma b眉t眉n. 102 00:04:42,790 --> 00:04:45,248 Gedirik 蓹g蓹r kimi g枚r眉n眉r c蓹hd v蓹 bu problemi h蓹ll etm蓹k, 103 00:04:45,248 --> 00:04:47,600 v蓹 biz dayand谋rmaq laz谋md谋r haradasa Recursion, 104 00:04:47,600 --> 00:04:50,610 biz y蓹qin ki, dayand谋rmaq ist蓹yir蓹m biz 1 almaq zaman. 105 00:04:50,610 --> 00:04:54,580 Biz bundan 蓹vv蓹l dayand谋rmaq ist蓹mir蓹m. 106 00:04:54,580 --> 00:04:56,660 >> Biz m眉蓹yy蓹n edirik Bel蓹 ki Bizim fakt枚ryel funksiyas谋, 107 00:04:56,660 --> 00:04:58,690 Burada bir skelet 眉莽眉n var biz bunu nec蓹. 108 00:04:58,690 --> 00:05:03,110 Biz o iki 艧ey plug laz谋md谋r baza halda v蓹 recursive halda. 109 00:05:03,110 --> 00:05:04,990 Baza halda n蓹dir? 110 00:05:04,990 --> 00:05:10,150 N 1 b蓹rab蓹r deyil, qay谋tmaq 1 var ki h蓹qiq蓹t蓹n sad蓹 problem h蓹ll etsin. 111 00:05:10,150 --> 00:05:11,890 >> 1 fakt枚ryel 1. 112 00:05:11,890 --> 00:05:13,860 Bu 1 d蓹f蓹 bir 艧ey var. 113 00:05:13,860 --> 00:05:15,020 Bu, sad蓹c蓹 1 var. 114 00:05:15,020 --> 00:05:17,170 Bu, 莽ox asan faktd谋r. 115 00:05:17,170 --> 00:05:19,620 V蓹 bel蓹 ki, bizim 蓹sas i艧i ola bil蓹r. 116 00:05:19,620 --> 00:05:24,730 Biz bu 1 ke莽di almaq funksiyas谋, biz yaln谋z 1 qay谋tmaq laz谋md谋r. 117 00:05:24,730 --> 00:05:27,320 >> Recursive n蓹dir hal y蓹qin ki, kimi baxmaq? 118 00:05:27,320 --> 00:05:32,445 H蓹r say谋 眉莽眉n 1 Bundan ba艧qa, model n蓹dir? 119 00:05:32,445 --> 00:05:35,780 Yax艧谋, biz q蓹bul edirsinizs蓹 n fakt枚ryel, 120 00:05:35,780 --> 00:05:38,160 bu n d蓹f蓹 n fakt枚ryel minus 1. 121 00:05:38,160 --> 00:05:42,130 >> Biz 3 fakt枚ryel alaraq edirsinizs蓹, Bu, 3 minus 1 3 d蓹f蓹 fakt枚ryel 122 00:05:42,130 --> 00:05:43,070 v蓹 ya 2. 123 00:05:43,070 --> 00:05:47,330 V蓹 biz deyilik 蓹g蓹r ba艧qa, 1 baxaraq 124 00:05:47,330 --> 00:05:51,710 qaytar谋lmas谋 n d蓹f蓹 n minus 1 fakt枚ryel. 125 00:05:51,710 --> 00:05:53,210 Bu olduqca sad蓹. 126 00:05:53,210 --> 00:05:57,360 >> V蓹 az olan namin蓹 t蓹miz v蓹 kodu daha z蓹rif, 127 00:05:57,360 --> 00:06:01,440 bilirik ki, biz bir-line loops varsa v蓹 ya bir-line 艧蓹rti filiallar谋, 128 00:06:01,440 --> 00:06:04,490 Biz b眉t眉n xilas ed蓹 bil蓹rsiniz onlar谋n 蓹traf谋nda q谋vr谋m a艧谋rma. 129 00:06:04,490 --> 00:06:06,850 Bel蓹likl蓹, biz bu bu birl蓹艧dirm蓹k olar. 130 00:06:06,850 --> 00:06:09,640 Bu eyni var bu kimi funksionall谋q. 131 00:06:09,640 --> 00:06:13,850 >> M蓹n yaln谋z buruq 眉z alaraq al谋ram yaln谋z bir x蓹tt var, 莽眉nki, a艧谋rma 132 00:06:13,850 --> 00:06:18,500 h蓹min 艧蓹rti filial daxilind蓹. 133 00:06:18,500 --> 00:06:21,160 Bel蓹 ki, bu eyni davran谋rlar. 134 00:06:21,160 --> 00:06:23,800 N 1 b蓹rab蓹r deyil, 1 qay谋tmaq. 135 00:06:23,800 --> 00:06:28,351 茝ks halda n d蓹f蓹 qay谋tmaq n minus 1 fakt枚ryel. 136 00:06:28,351 --> 00:06:29,850 Bel蓹 ki, biz ki莽ik problem edirik. 137 00:06:29,850 --> 00:06:33,850 N 5 kimi ba艧lay谋r, biz olacaq 4 5 d蓹f蓹 fakt枚ryel qay谋tmaq. 138 00:06:33,850 --> 00:06:37,100 V蓹 biz dan谋艧maq zaman bir d蓹qiq蓹 g枚r眉rs眉n眉z ba艧qa video z蓹ng y谋臒谋n谋 haqq谋nda 139 00:06:37,100 --> 00:06:39,390 biz haqq谋nda dan谋艧maq biz 枚yr蓹nm蓹k laz谋md谋r y谋臒谋n谋 z蓹ng 140 00:06:39,390 --> 00:06:41,630 m蓹hz bu prosesi i艧l蓹ri niy蓹. 141 00:06:41,630 --> 00:06:46,970 >> Amma 5 is蓹 fakt枚ryel deyir 5 d蓹f蓹 fakt枚ryel 4 qay谋tmaq v蓹 4 142 00:06:46,970 --> 00:06:49,710 yax艧谋, OK, dem蓹k gedir, geri 4 d蓹f蓹 3 fakt枚ryel. 143 00:06:49,710 --> 00:06:51,737 G枚rd眉y眉n眉z kimi, biz ist蓹yirik sort 1-yax谋nla艧谋r. 144 00:06:51,737 --> 00:06:53,820 Biz yax谋n 蓹ld蓹 edirik v蓹 ki, baza halda yax谋n. 145 00:06:53,820 --> 00:06:58,180 >> V蓹 biz baza halda hit bir d蓹f蓹, 蓹vv蓹lki funksiyalar谋 b眉t眉n 146 00:06:58,180 --> 00:07:00,540 onlar arad谋臒谋n谋z cavab var. 147 00:07:00,540 --> 00:07:03,900 2 fakt枚ryel qaytar谋lmas谋 deyirdi 2 d蓹f蓹 1 fakt枚ryel. 148 00:07:03,900 --> 00:07:06,760 Yax艧谋, 1 yekunlar谋 1 fakt枚ryel. 149 00:07:06,760 --> 00:07:10,090 Faktorial Bel蓹 ki z蓹ng 2, 2 d蓹f蓹 1 qay谋da bil蓹r 150 00:07:10,090 --> 00:07:13,980 v蓹 fakt枚ryel ki, geri verm蓹k Ki, n蓹tic蓹 g枚zl蓹yir 3. 151 00:07:13,980 --> 00:07:17,110 >> V蓹 sonra hesablamaq olar onun n蓹tic蓹sind蓹 3 d蓹f蓹 2, 6 152 00:07:17,110 --> 00:07:18,907 v蓹 4 fakt枚ryel geri verir. 153 00:07:18,907 --> 00:07:20,740 V蓹 yen蓹, biz var z蓹ng y谋臒谋n谋 video 154 00:07:20,740 --> 00:07:23,810 bu bir az t蓹svir olunur 陌ndi deyir蓹m daha 莽ox. 155 00:07:23,810 --> 00:07:25,300 Lakin bu deyil. 156 00:07:25,300 --> 00:07:29,300 Bu t蓹k h蓹ll edir bir s谋ra fakt枚ryel hesablanmas谋. 157 00:07:29,300 --> 00:07:31,527 >> Bu kod yaln谋z d枚rd x蓹tl蓹ri var. 158 00:07:31,527 --> 00:07:32,610 Bu do臒ru, olduqca s蓹rin var? 159 00:07:32,610 --> 00:07:35,480 Bu sexy n枚v眉 var. 160 00:07:35,480 --> 00:07:38,580 >> Bel蓹 ki, 眉mumiyy蓹tl蓹, lakin h蓹mi艧蓹 bir recursive funksiyas谋 161 00:07:38,580 --> 00:07:41,190 bir bir loop 蓹v蓹z ed蓹 bilm蓹z qeyri-recursive funksiyas谋. 162 00:07:41,190 --> 00:07:46,100 Bel蓹 ki, burada, yan-yana, iterativ var fakt枚ryel funksiyas谋 versiyas谋. 163 00:07:46,100 --> 00:07:49,650 Bu hesablamaq, h蓹m d蓹 eyni 艧ey. 164 00:07:49,650 --> 00:07:52,170 >> Onlar h蓹m n fakt枚ryel hesablamaq. 165 00:07:52,170 --> 00:07:54,990 sol version bunu recursion istifad蓹 edir. 166 00:07:54,990 --> 00:07:58,320 sa臒 version bunu iteration istifad蓹 edir. 167 00:07:58,320 --> 00:08:02,050 >> V蓹 bildiri艧, biz elan var tam m蓹hsul d蓹yi艧蓹n. 168 00:08:02,050 --> 00:08:02,940 V蓹 sonra biz loop. 169 00:08:02,940 --> 00:08:06,790 Bel蓹 ki, uzun n kimi, daha 莽ox 0 n ki, m蓹hsul vurulmas谋 saxlamaq 170 00:08:06,790 --> 00:08:09,890 q蓹d蓹r n decrementing biz m蓹hsul hesablamaq. 171 00:08:09,890 --> 00:08:14,600 Bel蓹 ki, bu iki funksiyalar谋, yen蓹, eyni 艧ey. 172 00:08:14,600 --> 00:08:19,980 Amma onlar bunu etm蓹yin tam eyni 艧蓹kild蓹. 173 00:08:19,980 --> 00:08:22,430 >> 陌ndi, bu m眉mk眉nd眉r daha 莽ox bazas谋 174 00:08:22,430 --> 00:08:25,770 cinay蓹t i艧in蓹 v蓹 ya daha 莽ox recursive halda, as谋l谋 olaraq 175 00:08:25,770 --> 00:08:27,670 n蓹 sizin funksiyas谋 etm蓹y蓹 莽al谋艧谋r. 176 00:08:27,670 --> 00:08:31,650 Siz m眉tl蓹q yaln谋z m蓹hdud deyil bir baza halda v蓹 ya bir recursive 177 00:08:31,650 --> 00:08:32,370 halda. 178 00:08:32,370 --> 00:08:35,320 Bir 艧ey bel蓹 bir n眉mun蓹 脟ox bazas谋 hallarda 179 00:08:35,320 --> 00:08:37,830 ola bil蓹r 艧eyl蓹rdir Fibonacci say谋 ard谋c谋ll谋臒谋. 180 00:08:37,830 --> 00:08:41,549 >> Siz geri bil蓹r ibtidai m蓹kt蓹b g眉n 181 00:08:41,549 --> 00:08:45,740 Fibonacci ard谋c谋ll谋臒谋 m眉蓹yy蓹n edilir ki, Bu kimi ilk element 0. 182 00:08:45,740 --> 00:08:46,890 陌kinci element 1. 183 00:08:46,890 --> 00:08:49,230 O h蓹m d蓹 yaln谋z m眉蓹yy蓹n olunur. 184 00:08:49,230 --> 00:08:55,920 >> Sonra h蓹r element m眉蓹yy蓹n edilir n minus 1 v蓹 n minus 2 c蓹mi kimi. 185 00:08:55,920 --> 00:09:00,330 脺莽眉nc眉 element So 0 plus 1 1 olacaq. 186 00:09:00,330 --> 00:09:03,280 V蓹 sonra d枚rd眉nc眉 element 陌kinci element, 1 olacaq, 187 00:09:03,280 --> 00:09:06,550 plus 眉莽眉nc眉 element, 1. 188 00:09:06,550 --> 00:09:08,507 V蓹 2 olard谋. 189 00:09:08,507 --> 00:09:09,340 V蓹 s v蓹 s. 190 00:09:09,340 --> 00:09:11,680 >> Bel蓹 ki, bu halda, biz iki baza hallarda var. 191 00:09:11,680 --> 00:09:14,850 N 1 b蓹rab蓹r deyil, 0 qay谋tmaq. 192 00:09:14,850 --> 00:09:18,560 N 2 b蓹rab蓹r olduqda, 1 qay谋tmaq. 193 00:09:18,560 --> 00:09:25,930 茝ks halda, n Fibonacci qay谋tmaq minus 1 plus n minus 2 Fibonacci. 194 00:09:25,930 --> 00:09:27,180 >> Bel蓹 ki, bir 莽ox baza hallarda var. 195 00:09:27,180 --> 00:09:29,271 N蓹 莽ox recursive bar蓹d蓹? 196 00:09:29,271 --> 00:09:31,520 Yax艧谋, bir 艧ey var Collatz z蓹nn 莽a臒谋r谋b. 197 00:09:31,520 --> 00:09:34,630 M蓹n dem蓹k fikrind蓹 deyil蓹m Siz ki, n蓹 198 00:09:34,630 --> 00:09:38,170 Bu, h蓹qiq蓹t蓹n, bizim son 莽眉nki bu video 眉莽眉n problem. 199 00:09:38,170 --> 00:09:43,220 V蓹 bu, bizim h蓹yata var birlikd蓹 i艧l蓹m蓹k 眉莽眉n. 200 00:09:43,220 --> 00:09:46,760 >> Bel蓹 ki, burada n蓹 Collatz z蓹nn is-- 201 00:09:46,760 --> 00:09:48,820 h蓹r m眉sb蓹t tam t蓹tbiq edilir. 202 00:09:48,820 --> 00:09:51,500 V蓹 bu ki, speculates h蓹mi艧蓹 m眉mk眉n geri almaq 眉莽眉n 203 00:09:51,500 --> 00:09:55,060 1 bu ad谋mlar谋 蓹g蓹r. 204 00:09:55,060 --> 00:09:57,560 N 1 deyil, dayand谋rmaq. 205 00:09:57,560 --> 00:10:00,070 N 1 蓹g蓹r biz 1 geri var. 206 00:10:00,070 --> 00:10:05,670 >> 茝ks halda, bu ke莽ir proses yenid蓹n n 2 b枚l眉n眉r. 207 00:10:05,670 --> 00:10:08,200 Siz 1 geri ala bil蓹rsiniz, 蓹g蓹r bax谋n. 208 00:10:08,200 --> 00:10:13,260 N t蓹k 茝ks t蓹qdird蓹, ke莽m蓹k daha 3n plus 1-d蓹 bu proses, 209 00:10:13,260 --> 00:10:15,552 v蓹 ya 3 d蓹f蓹 n plus 1. 210 00:10:15,552 --> 00:10:17,010 Bel蓹 ki, burada biz bir baza halda var. 211 00:10:17,010 --> 00:10:18,430 N 1 b蓹rab蓹r deyil, dayand谋rmaq. 212 00:10:18,430 --> 00:10:20,230 Biz bir daha recursion m蓹艧臒ul deyilik. 213 00:10:20,230 --> 00:10:23,730 >> Amma biz iki recursive hallarda var. 214 00:10:23,730 --> 00:10:28,750 N h蓹tta varsa, biz bir recursive etm蓹k halda, n 2 b枚l眉n眉r z蓹ng. 215 00:10:28,750 --> 00:10:33,950 N t蓹k deyil, f蓹rqli bir etm蓹k 3 d蓹f蓹 n plus 1-d蓹 recursive halda. 216 00:10:33,950 --> 00:10:39,120 >> V蓹 bu video 眉莽眉n m蓹qs蓹di , ikinci almaq video fasil蓹, 217 00:10:39,120 --> 00:10:42,440 v蓹 c蓹hd v蓹 bu yazmaq recursive funksiyas谋 Collatz 218 00:10:42,440 --> 00:10:47,640 harada, d蓹y蓹ri n ke莽ir v蓹 Bu nec蓹 bir 莽ox add谋mlar hesablay谋r 219 00:10:47,640 --> 00:10:52,430 Siz n ba艧lamaq 蓹g蓹r 1 almaq 眉莽眉n v蓹 yuxar谋da bu ad谋mlar谋 edin. 220 00:10:52,430 --> 00:10:56,660 N 1 olarsa, bu, 0 add谋mlar at谋r. 221 00:10:56,660 --> 00:11:00,190 茝ks halda, bu olacaq Lakin bir add谋m plus almaq 222 00:11:00,190 --> 00:11:06,200 bu da n qal谋r 莽ox add谋mlar 2 b枚l眉n眉r n h蓹tta, v蓹 ya 3N plus 1, 蓹g蓹r 223 00:11:06,200 --> 00:11:08,100 n t蓹k deyil. 224 00:11:08,100 --> 00:11:11,190 >> 陌ndi m蓹n burada ekranda qoymaq etdik Sizin 眉莽眉n test 艧eyi bir ne莽蓹, 225 00:11:11,190 --> 00:11:15,690 Sizin 眉莽眉n testl蓹r hallarda bir ne莽蓹 g枚rm蓹k bu m眉xt蓹lif Collatz n枚mr蓹l蓹ri n蓹, 226 00:11:15,690 --> 00:11:17,440 v蓹 h蓹m莽inin ill眉strasiya add谋mlar ki, 227 00:11:17,440 --> 00:11:20,390 bel蓹 ki, siz ke莽mi艧dir laz谋md谋r sort f蓹aliyy蓹t bu prosesi g枚rm蓹k. 228 00:11:20,390 --> 00:11:24,222 N b蓹rab蓹rdir Bel蓹 ki 1, n Collatz 0. 229 00:11:24,222 --> 00:11:26,180 Siz n蓹 yoxdur bir 艧ey 1 geri almaq 眉莽眉n. 230 00:11:26,180 --> 00:11:27,600 茝g蓹r siz art谋q orada ist蓹yirik. 231 00:11:27,600 --> 00:11:30,550 >> N 2 olarsa, bu, davam edir bir add谋m 1 almaq 眉莽眉n. 232 00:11:30,550 --> 00:11:31,810 Siz 2 il蓹 ba艧lay谋n. 233 00:11:31,810 --> 00:11:33,100 Yax艧谋, 2 1 b蓹rab蓹r deyil. 234 00:11:33,100 --> 00:11:36,580 Bel蓹 ki, bir add谋m olacaq plus lakin 莽ox add谋mlar onu 235 00:11:36,580 --> 00:11:38,015 qal谋r n 2 b枚l眉n眉r. 236 00:11:38,015 --> 00:11:41,280 237 00:11:41,280 --> 00:11:42,910 >> 2 b枚l眉n眉r 2 1. 238 00:11:42,910 --> 00:11:47,200 Bel蓹 ki, lakin bir add谋m plus edir 莽ox add谋mlar 1-edir. 239 00:11:47,200 --> 00:11:49,720 1 s谋f谋r add谋mlar at谋r. 240 00:11:49,720 --> 00:11:52,370 >> G枚rd眉y眉n眉z kimi 3, var bir ne莽蓹 add谋mlar i艧tirak edir. 241 00:11:52,370 --> 00:11:53,590 Siz 3 gedin. 242 00:11:53,590 --> 00:11:56,710 V蓹 sonra getm蓹k 10, 5, 16, 8, 4, 2, 1. 243 00:11:56,710 --> 00:11:58,804 Bu 1 geri almaq 眉莽眉n yeddi add谋mlar at谋r. 244 00:11:58,804 --> 00:12:01,220 G枚rd眉y眉n眉z kimi, var bir Burada ne莽蓹 dig蓹r test hallarda 245 00:12:01,220 --> 00:12:02,470 proqram test 眉莽眉n. 246 00:12:02,470 --> 00:12:03,970 Bel蓹 ki, yen蓹, video fasil蓹. 247 00:12:03,970 --> 00:12:09,210 M蓹n indi geri jump getm蓹k laz谋md谋r faktiki prosesi burada n蓹, 248 00:12:09,210 --> 00:12:11,390 bu z蓹nn n蓹. 249 00:12:11,390 --> 00:12:14,140 >> Siz anlamaq bil蓹r bax谋n n Collatz m眉蓹yy蓹n etm蓹k 眉莽眉n nec蓹 250 00:12:14,140 --> 00:12:19,967 Bu nec蓹 bir 莽ox hesablay谋r ki, Bu 1 almaq 眉莽眉n add谋mlar. 251 00:12:19,967 --> 00:12:23,050 Bel蓹likl蓹, 眉mid edir蓹m, Siz video durdurulmu艧 var v蓹 yaln谋z m蓹ni g枚zl蓹yir deyil 252 00:12:23,050 --> 00:12:25,820 Burada siz蓹 cavab verm蓹k. 253 00:12:25,820 --> 00:12:29,120 Amma 蓹g蓹r, yax艧谋, Burada cavab h蓹r halda var. 254 00:12:29,120 --> 00:12:33,070 >> Bel蓹 ki, burada m眉mk眉n m眉蓹yy蓹n var Collatz funksiyas谋. 255 00:12:33,070 --> 00:12:35,610 N, 蓹g蓹r baza case-- 1 b蓹rab蓹r, biz 0 qay谋tmaq. 256 00:12:35,610 --> 00:12:38,250 H蓹r hans谋 bir da艧谋m谋r add谋mlar 1 geri almaq 眉莽眉n. 257 00:12:38,250 --> 00:12:42,710 >> 茝ks halda, biz iki recursive cases-- var h蓹tta n枚mr蓹l蓹ri 眉莽眉n bir v蓹 t蓹k 眉莽眉n. 258 00:12:42,710 --> 00:12:47,164 M蓹n h蓹tta n枚mr蓹l蓹ri 眉莽眉n test yolu n mod 2 0 b蓹rab蓹rdir yoxlamaq 眉莽眉n edir. 259 00:12:47,164 --> 00:12:49,080 Bu, yen蓹 蓹sas蓹n sual, 260 00:12:49,080 --> 00:12:54,050 n蓹 mod is-- geri 蓹g蓹r, 蓹g蓹r m蓹n 2 b枚lm蓹k n he莽 bir qal谋q var? 261 00:12:54,050 --> 00:12:55,470 Y蓹ni h蓹tta say谋 olard谋. 262 00:12:55,470 --> 00:13:01,370 >> V蓹 bel蓹 n mod 2 0 b蓹rab蓹rdir 蓹g蓹r test Bu daha say谋. 263 00:13:01,370 --> 00:13:04,250 茝g蓹r bel蓹dirs蓹, m蓹n 1 qay谋tmaq ist蓹yir蓹m, bu m眉tl蓹q, 莽眉nki 264 00:13:04,250 --> 00:13:09,270 bir add谋m plus Collatz alaraq n蓹 say谋 m蓹n蓹 yar谋s谋. 265 00:13:09,270 --> 00:13:13,910 茝ks halda, m蓹n 1 qay谋tmaq ist蓹yir蓹m plus Collatz 3 d蓹f蓹 n plus 1. 266 00:13:13,910 --> 00:13:16,060 Dig蓹r oldu recursive add谋m ki, biz 267 00:13:16,060 --> 00:13:19,470 hesablamaq bil蓹r Add谋mlar say谋 Collatz-- 268 00:13:19,470 --> 00:13:22,610 geri almaq 眉莽眉n 1 bir s谋ra verilir. 269 00:13:22,610 --> 00:13:24,610 Bel蓹 ki, 眉mid edir蓹m ki, bu n眉mun蓹 bir az verdi 270 00:13:24,610 --> 00:13:26,620 recursive prosedurlar bir dad. 271 00:13:26,620 --> 00:13:30,220 脺mid edir蓹m ki, kodu hesab edir蓹m az daha 蓹g蓹r g枚z蓹l h蓹yata 272 00:13:30,220 --> 00:13:32,760 z蓹rif, recursive 艧蓹kild蓹. 273 00:13:32,760 --> 00:13:35,955 H蓹tta 蓹g蓹r Lakin, recursion bir Buna baxmayaraq, h蓹qiq蓹t蓹n g眉cl眉 bir vasit蓹dir. 274 00:13:35,955 --> 00:13:38,330 V蓹 bel蓹 ki, m眉tl蓹q bir 艧ey 蓹traf谋nda ba艧 almaq 眉莽眉n, 275 00:13:38,330 --> 00:13:41,360 yaratmaq ed蓹 bil蓹rsiniz, 莽眉nki recursion istifad蓹 olduqca s蓹rin proqramlar谋 276 00:13:41,360 --> 00:13:45,930 ki, 蓹ks halda yazmaq 眉莽眉n m眉r蓹kk蓹b ola bil蓹r Siz loops v蓹 iteration kullan谋yorsan谋z. 277 00:13:45,930 --> 00:13:46,980 M蓹n Doug Lloyd edir蓹m. 278 00:13:46,980 --> 00:13:48,780 Bu CS50 edir. 279 00:13:48,780 --> 00:13:50,228