Upload
jeanette89
View
338
Download
0
Embed Size (px)
Citation preview
Rekursion og rekursive algoritmer
Jeanette Nielsen
Begreber
• Algortimer• Rekursion– Fordele– Ulemper
• Rekursive Algoritmer– Hvert rekursivt kald skal bringe os tættere på
løsningen– Base
Algoritme mønstre
Ex.:– Sweep– Search– sort
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
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
Effektivitet
Binary Search
• log2(n)
Sorterings algoritmer
• Quick Sort• Merge Sort• Bubble Sort
Quick sort
• n*log2(n)– Eller n*(n/2^x)
Bubblesort
• Nested loop– n^2
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); } }