![Page 1: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/1.jpg)
http://learninmind.weebly.com/teaching-philosophy.html
Toensureafairselectionyouallgetthesametest.Youmustallclimbthattree.
![Page 2: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/2.jpg)
Recursion?
“Recursion occurswhenathingisdefinedintermsofitselforofitstype.” https://en.wikipedia.org/
http://blog.haskellformac.com/blog/fractals-recursion-in-pictures
![Page 3: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/3.jpg)
ComputerScienceRecursionRecursion occurswhenafunctionbeingdefinedisappliedwithinitsowndefinition(callsitself).
PropertiesofRecursiveBehavior:1.Basecase—aterminatingscenariothatdoesnotuserecursiontoproduceananswer2.Asetofrulesthatreduceallothercasestowardthebasecase
https://en.wikipedia.org/
![Page 4: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/4.jpg)
FactorialFunction?n!=1*2*3*…*(n-1)*n
![Page 5: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/5.jpg)
FactorialFunction(Iterative)n!=1*2*3*…*(n-1)*n
![Page 6: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/6.jpg)
FactorialFunctionRecursive?
![Page 7: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/7.jpg)
FactorialFunctionRecursive?
![Page 8: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/8.jpg)
http://netlab.cs.ucla.edu/~schoi/cs32/
![Page 9: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/9.jpg)
FactorialFunctionRecursiveFactorialFunctionRecursive
AddBaseCase!
![Page 10: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/10.jpg)
10
FactorialTrace-throughint fact(int n){if (n == 0)
return (1);
return(n * fact(n-1));}
int fact(int n){if (n == 0)
return (1);
return(n * fact(n-1));}
int fact(int n){if (n == 0)
return (1);
return(n * fact(n-1));}
int fact(int n){if (n == 0)
return (1);
return(n * fact(n-1));}
int main(){int result;result = fact(3);cout << result;
}
result
3==0
2
n 33
2==0
1
n 2
1==0
0
n 10==0
1
n 0
1 1
2 2
6 6
6
http://careynachenberg.weebly.com/careys-slides.html
![Page 11: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/11.jpg)
FibonacciNumbers
http://penitenciasludicas.blogspot.com/
Pairsofrabbits
![Page 12: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/12.jpg)
FibonacciSequence
0,1,1,2,3,5,8,13,21,34,55,…
F(0)=0F(1)=1F(n)=F(n-1)+F(n-2),n>=2
![Page 13: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/13.jpg)
FibonacciRecursiveFunction
![Page 14: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/14.jpg)
TwoRecursiveCalls
![Page 15: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/15.jpg)
RecursiononArray
Returnsumofallitemsinanarray
![Page 16: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/16.jpg)
http://netlab.cs.ucla.edu/~schoi/cs32/
![Page 17: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/17.jpg)
ArraySum
Returnsumofallitemsinanarray
int sumArr(int arr[],int n){
if(n==0)return0;if(n==1)returnarr[0];int first= sumArr(arr,n/2);int secnd =sumArr(arr+n/2,n-n/2);returnfirst+secnd;
}
http://careynachenberg.weebly.com/careys-slides.html
![Page 18: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/18.jpg)
18
int main(){
const int n=3;int nums[n]={10,20,42};
cout <<sumArr(nums ,n);}
Array-summerTrace-through
int sumArr(int arr[],int n){
if(n==0)return0;if(n==1)returnarr[0];int first= sumArr(arr,n/2);int secnd =sumArr(arr+n/2,n-n/2);returnfirst+secnd;
}
int sumArr(int arr[],int n){
if(n==0)return0;if(n==1)returnarr[0];int first= sumArr(arr,n/2);int secnd =sumArr(arr+n/2,n-n/2);returnfirst+secnd;
}
110
10
20 42 2
int sumArr(int arr[],int n){
if(n==0)return0;if(n==1)returnarr[0];int first= sumArr(arr,n/2);int secnd =sumArr(arr+n/2,n-n/2);returnfirst+secnd;
}120
20
142
42
62
72
10 20 42nums 10 20 42 3
http://careynachenberg.weebly.com/careys-slides.html
![Page 19: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/19.jpg)
http://netlab.cs.ucla.edu/~schoi/cs32/
![Page 20: To ensure a fair selection you all get the same test. You ...bytes.usc.edu › files › cs103 › slides › RecursionOliveraGrujic.pdfComputer Science Recursion Recursionoccurs when](https://reader033.vdocuments.us/reader033/viewer/2022060415/5f12ef83c013c32c793e0d86/html5/thumbnails/20.jpg)