Top Banner
Rekursion og rekursive algoritmer Jeanette Nielsen
11

3 Rekursion og rekursive algoritmer

Jan 09, 2017

Download

Education

jeanette89
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3 Rekursion og rekursive algoritmer

Rekursion og rekursive algoritmer

Jeanette Nielsen

Page 2: 3 Rekursion og rekursive algoritmer

Begreber

• Algortimer• Rekursion– Fordele– Ulemper

• Rekursive Algoritmer– Hvert rekursivt kald skal bringe os tættere på

løsningen– Base

Page 3: 3 Rekursion og rekursive algoritmer

Algoritme mønstre

Ex.:– Sweep– Search– sort

Page 4: 3 Rekursion og rekursive algoritmer

Rekursive algoritmer

• Anvendes når et problem kan deles op i mindre problemer af samme type:– Del og hersk

• Del problemet: n/2• Indtil: Base case• Sammel løsningen

• Hale-rekursion – ingen samling af løsning– Fibonacci– Søgning

Page 5: 3 Rekursion og rekursive algoritmer

Kode eksempler

• Hale rekursion– Det rekursive kald

afslutter metodenF1 = 1, F2 = 1 &Fn = Fn − 1 + Fn − 2

• Del og hersk– Del løsningerne

samles og returneres

Page 6: 3 Rekursion og rekursive algoritmer

Effektivitet

Page 7: 3 Rekursion og rekursive algoritmer

Binary Search

• log2(n)

Page 8: 3 Rekursion og rekursive algoritmer

Sorterings algoritmer

• Quick Sort• Merge Sort• Bubble Sort

Page 9: 3 Rekursion og rekursive algoritmer

Quick sort

• n*log2(n)– Eller n*(n/2^x)

Page 10: 3 Rekursion og rekursive algoritmer

Bubblesort

• Nested loop– n^2

Page 11: 3 Rekursion og rekursive algoritmer

Rekursion skaber overblik

• Hanoi 2^npublic void FlytTaarn(int n, string kilde, string maal, string hjlp) { if (n == 1) { //Flyt skive 1 fra kilde til mål

} else { // FlytTaarn(n - 1, kilde, hjlp, maal) //flyt skive n fra kilde til mål

//FlytTaarn(n - 1, hjlp, maal, kilde); } }