1 00:00:00,000 --> 00:00:05,587 2 00:00:05,587 --> 00:00:07,670 DOUG LLOYD: ikusi dituzun bada errekurtsio bideoa, 3 00:00:07,670 --> 00:00:10,170 prozesu osoa izan liteke Pixka bat magikoa zirudien. 4 00:00:10,170 --> 00:00:10,930 Nola dabil? 5 00:00:10,930 --> 00:00:15,010 Nola dakizu hori funtzioak dute Itxaron eta balio beste itxaron behar 6 00:00:15,010 --> 00:00:19,150 den beste funtzio bat itzultzeko Ordena emaitza nahi dugu lortzeko deitu? 7 00:00:19,150 --> 00:00:22,550 >> Beno, horregatik lan egiten delako deiaren pila bezala ezagutzen den zerbait da. 8 00:00:22,550 --> 00:00:26,360 Funtzio bat deitzen duzunean, sistema espazioa bideratu oroimenez 9 00:00:26,360 --> 00:00:28,120 funtzio hori bere lana egiteko. 10 00:00:28,120 --> 00:00:31,720 Eta memoria zatiak horiek deitzen dugun hori albo batera ari dira eginkizun bakoitzerako 11 00:00:31,720 --> 00:00:35,670 deitu pila marko bat edo funtzio fotograma bat. 12 00:00:35,670 --> 00:00:38,290 Eta espero dezakezun bezala, pila fotograma horiek 13 00:00:38,290 --> 00:00:41,000 pila memoria zati bizi. 14 00:00:41,000 --> 00:00:43,960 15 00:00:43,960 --> 00:00:47,540 >> Funtzio bat baino gehiago pila marko daiteke memorian existitzen une jakin batean. 16 00:00:47,540 --> 00:00:51,240 Funtzio mugitzen nagusia deitzen badu, eta mugimendua norabide deiak, 17 00:00:51,240 --> 00:00:54,460 Hiru funtzio guztiak markoak irekia dute. 18 00:00:54,460 --> 00:00:57,350 Baina ez guztiak ez markoak aktiboa izan dute. 19 00:00:57,350 --> 00:00:59,410 Markoak hauek pila bat antolatu. 20 00:00:59,410 --> 00:01:01,820 Eta bertatik markoa Azen izeneko 21 00:01:01,820 --> 00:01:04,390 Funtzio beti pila gainean. 22 00:01:04,390 --> 00:01:07,150 Eta hori fotograma aktiboa beti. 23 00:01:07,150 --> 00:01:10,420 Ni bakarrik benetan inoiz inork funtzio hori aktibo aldi berean. 24 00:01:10,420 --> 00:01:12,420 Pila gainean bat da. 25 00:01:12,420 --> 00:01:17,620 >> Funtzio bat beste deiak funtzioa, Ordena prentsak eteteko. 26 00:01:17,620 --> 00:01:20,590 Atxikitu sort da, zain. 27 00:01:20,590 --> 00:01:24,050 Eta pila marko bestera bultzatu da gainean pila gainean. 28 00:01:24,050 --> 00:01:26,150 Eta hori koadro aktiboan bihurtzen. 29 00:01:26,150 --> 00:01:28,600 Eta markoa berehala arte itxaron behar azpitik 30 00:01:28,600 --> 00:01:33,560 berriro da koadro aktiboan arte da bere lana jarraitzeko aurretik. 31 00:01:33,560 --> 00:01:35,870 Funtzio bat da osoa, eta kitto, 32 00:01:35,870 --> 00:01:37,720 bere marko pila idatz da off. 33 00:01:37,720 --> 00:01:38,950 Hori terminologia da. 34 00:01:38,950 --> 00:01:41,110 Eta markoa berehala bere azpian, esan dudan bezala, 35 00:01:41,110 --> 00:01:42,880 koadro aktiboan berria bihurtzen. 36 00:01:42,880 --> 00:01:45,960 >> Eta beste funtzio deitzen badu, Berriro pausatu joan. 37 00:01:45,960 --> 00:01:49,290 Hori funtzioa berriaren pila marko will egon pilaren goialdean kalera bultzatu. 38 00:01:49,290 --> 00:01:50,650 Bere lana egin da egingo. 39 00:01:50,650 --> 00:01:52,100 Baliteke irekiko atzera off. 40 00:01:52,100 --> 00:01:55,630 Eta beste funtzio Behean berriro berrekiteko daiteke. 41 00:01:55,630 --> 00:02:00,080 >> Hargatik berriro joan honen bidez, begira faktore funtzio ideia 42 00:02:00,080 --> 00:02:03,070 definitu dugun batean errekurtsio bideoa ikusi 43 00:02:03,070 --> 00:02:07,770 Nola hau atzean magia prozesu errekurtsiboak egiten ari da. 44 00:02:07,770 --> 00:02:09,870 Beraz, hau da, gure fitxategia osoa da, ezta? 45 00:02:09,870 --> 00:02:14,000 Bi definitu dugu funtzio nagusiak eta, hain zuzen. 46 00:02:14,000 --> 00:02:15,980 Eta espero genuke, Edozein C programa va 47 00:02:15,980 --> 00:02:18,470 to nagusiak lehen lerroan hasten dira. 48 00:02:18,470 --> 00:02:21,660 >> Beraz, pila nagusiak marko berri bat sortzen dugu. 49 00:02:21,660 --> 00:02:23,320 Eta nik lasterka hasten da. 50 00:02:23,320 --> 00:02:25,270 Deiak Main printf. 51 00:02:25,270 --> 00:02:29,390 Eta printf da joan 5 faktore inprimatu. 52 00:02:29,390 --> 00:02:31,440 Beno, ez du ezagutzen zer faktore 5 da, 53 00:02:31,440 --> 00:02:35,620 eta, beraz, dei hau da dagoeneko funtzio deia beste arabera. 54 00:02:35,620 --> 00:02:37,270 Beraz nagusia da bertan etenaldia egin behar. 55 00:02:37,270 --> 00:02:39,103 Utzi botako naiz bere gezi bertan, kolore 56 00:02:39,103 --> 00:02:41,360 kolore gisa berean pila marko eskuinaldetik, 57 00:02:41,360 --> 00:02:47,720 Hori nagusia da izoztu joan adierazteko Hemen 5 faktore bitartean deritzo. 58 00:02:47,720 --> 00:02:49,300 >> Beraz, guztira 5 faktore deritzo. 59 00:02:49,300 --> 00:02:53,160 Eta hori oso hasiko joan faktore funtzioaren hasita. 60 00:02:53,160 --> 00:02:55,440 Eskatu dio galderari am berdintasuna 1 I? 61 00:02:55,440 --> 00:02:56,810 5 1 berdina? 62 00:02:56,810 --> 00:02:57,410 Beno, ez. 63 00:02:57,410 --> 00:03:01,110 Beraz, behera joan joan du beste zati, bueltan n aldiz 64 00:03:01,110 --> 00:03:02,990 faktore n ken 1. 65 00:03:02,990 --> 00:03:03,490 Beno, OK. 66 00:03:03,490 --> 00:03:07,070 >> Beraz, gaur egun, guztira 5 faktore Beste dei arabera 67 00:03:07,070 --> 00:03:09,740 , faktore pasatuz 4 parametroz ere. 68 00:03:09,740 --> 00:03:14,210 Eta beraz faktoriala 5 markoa, gorria, 69 00:03:14,210 --> 00:03:17,160 da bertan izoztea joan lerro hori partean Nik 70 00:03:17,160 --> 00:03:21,914 eta 4ko faktore amaitzeko itxaron Zer egin eta gero, beraz, ez da egin behar da behar da 71 00:03:21,914 --> 00:03:23,330 koadro aktiboan berriro bihur daiteke. 72 00:03:23,330 --> 00:03:26,890 >> Beraz, 4 hasten faktoriala at faktorial hasieran. 73 00:03:26,890 --> 00:03:28,556 4 1 berdina? 74 00:03:28,556 --> 00:03:30,180 Ez dago, beraz, gauza bera egin zuen joan. 75 00:03:30,180 --> 00:03:31,590 Honez behera joan beste adarra joan. 76 00:03:31,590 --> 00:03:33,240 Honez kode lerro bat iritsi. 77 00:03:33,240 --> 00:03:35,710 Ados, naiz lau aldiz itzuli egingo dut. 78 00:03:35,710 --> 00:03:41,270 Oh, izango da 3 faktoriala beraz faktoriala 4 3 akabera faktore araberakoa. 79 00:03:41,270 --> 00:03:43,055 >> Eta beraz, 3 faktore deitu behar da. 80 00:03:43,055 --> 00:03:45,180 Eta hori botako pasatzen prozesu bera berriro. 81 00:03:45,180 --> 00:03:48,200 Hasten da bidez, lortzen hemen. 82 00:03:48,200 --> 00:03:50,980 3 faktore araberakoa 1 faktoriala orrian. 83 00:03:50,980 --> 00:03:53,750 Beraz, 2 hasten faktoriala, hemen lortzen. 84 00:03:53,750 --> 00:03:56,310 1 faktoriala araberakoa da. 85 00:03:56,310 --> 00:03:57,430 Faktore 1 hasten. 86 00:03:57,430 --> 00:03:57,650 >> ONDO DA. 87 00:03:57,650 --> 00:03:59,775 Beraz, gaur egun, ari gara nonbait interesgarria da, ezta? 88 00:03:59,775 --> 00:04:02,190 Beraz, orain, 1 1 berdina da. 89 00:04:02,190 --> 00:04:05,130 Eta beraz, itzuliko gara 1. 90 00:04:05,130 --> 00:04:06,770 Puntu honetan, itzuli garela. 91 00:04:06,770 --> 00:04:07,880 Funtzio hauek kitto. 92 00:04:07,880 --> 00:04:11,140 Da portaera is-- ez dago kito egin da, 93 00:04:11,140 --> 00:04:17,006 eta beraz, pila marko 1 faktoriala azalduko off. 94 00:04:17,006 --> 00:04:17,589 Honez amaitu. 95 00:04:17,589 --> 00:04:19,480 1 bueltatu zen. 96 00:04:19,480 --> 00:04:23,370 Eta orain, 2 faktore, eta horrek Berehala markoaren zen behean 97 00:04:23,370 --> 00:04:26,160 pila, koadro aktiboan bihurtzen. 98 00:04:26,160 --> 00:04:29,030 >> Eta jaso ahal izango da, gehienez zehazki non utzi da. 99 00:04:29,030 --> 00:04:32,240 Izan da zain faktore bat 1 bere lana amaitzeko. 100 00:04:32,240 --> 00:04:33,610 Orain amaitu. 101 00:04:33,610 --> 00:04:35,510 Eta orain hemen gaude. 102 00:04:35,510 --> 00:04:38,080 >> 1 faktoriala balioa 1 da itzuli. 103 00:04:38,080 --> 00:04:42,430 Beraz, 2 can faktoriala say itzultzeko 2 aldiz 1. 104 00:04:42,430 --> 00:04:43,680 Bere lana, orain egiten da. 105 00:04:43,680 --> 00:04:49,110 Honez bueltatu 2 faktore 3koa, zein izan zen, zain. 106 00:04:49,110 --> 00:04:53,370 3 faktore da orain goiko markoa, pila fotograma aktiboa. 107 00:04:53,370 --> 00:04:58,617 Eta, beraz, esaten du Ados, bai, banoa 3 aldiz 2, horietatik 6 da itzultzeko. 108 00:04:58,617 --> 00:05:00,700 Eta ez dut hori emateko joan baloratzen back faktore 109 00:05:00,700 --> 00:05:03,430 4, eta hori izan da nire zain. 110 00:05:03,430 --> 00:05:04,500 Bukatu dut. 111 00:05:04,500 --> 00:05:09,410 3 faktore azalduko off pila, eta 4 faktoriala da orain koadro aktiboan. 112 00:05:09,410 --> 00:05:13,510 >> 4 dio, OK, naiz 4 aldiz itzuli egingo dut 3 faktore, horietatik sei izan zen. 113 00:05:13,510 --> 00:05:15,980 Hori balio izan du 3 faktore itzuli. 114 00:05:15,980 --> 00:05:19,010 Eta beraz, 4, 6, 24 da. 115 00:05:19,010 --> 00:05:20,990 Eta ez dut pasatzeko joan Atzera duten faktore 116 00:05:20,990 --> 00:05:23,160 5, izan den nire zain. 117 00:05:23,160 --> 00:05:25,270 5 faktore orain koadro aktiboan. 118 00:05:25,270 --> 00:05:30,700 Honez 5 aldiz itzuli da , 4, 5 aldiz 24 edo 120-- faktoriala 119 00:05:30,700 --> 00:05:32,722 eta balio hori eman nagusia, eta horrek ez du atzera 120 00:05:32,722 --> 00:05:35,680 dira oso pazientziaz zain batentzat pila behealdean denbora luzez. 121 00:05:35,680 --> 00:05:36,640 >> It non hasi da. 122 00:05:36,640 --> 00:05:37,670 Dei hau egin du. 123 00:05:37,670 --> 00:05:39,400 Hainbat markoak hartu baino goialdean. 124 00:05:39,400 --> 00:05:41,890 Orain pila gainean itzuli da. 125 00:05:41,890 --> 00:05:43,450 Koadro aktiboan da. 126 00:05:43,450 --> 00:05:47,810 Got So nagusia balioa 120 5 faktore itzulia. 127 00:05:47,810 --> 00:05:50,750 Izan da zain inprimatu balio duten. 128 00:05:50,750 --> 00:05:51,657 Eta gero egiten da. 129 00:05:51,657 --> 00:05:53,240 Han ez da kode lerro gehiago nagusian. 130 00:05:53,240 --> 00:05:56,800 Beraz nagusiak marko horrek azalduko off pila, eta egiten gaude. 131 00:05:56,800 --> 00:05:58,992 >> Eta hori da errekurtsio nola funtzionatzen duen. 132 00:05:58,992 --> 00:06:00,200 Hori da, pila fotograma nola lan egiten. 133 00:06:00,200 --> 00:06:03,120 Funtzio deialdi horiek Aurretik hori gertatu 134 00:06:03,120 --> 00:06:06,620 besterik pausatu dira, zain ondorengo deiak egiteko 135 00:06:06,620 --> 00:06:12,050 amaitzeko, beraz, aktibo bihurtu ahal izango dute markoa eta zer egin behar dute amaitzeko. 136 00:06:12,050 --> 00:06:13,060 >> Naiz Doug Lloyd. 137 00:06:13,060 --> 00:06:14,880 Hau CS50 da. 138 00:06:14,880 --> 00:06:16,580