to ensure a fair selection you all get the same test. you ...bytes.usc.edu › files › cs103 ›...

20
http://learninmind.weebly.com/teaching-philosophy.html To ensure a fair selection you all get the same test. You must all climb that tree.

Upload: others

Post on 29-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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